From 5cd0ddde6a09be606f454f07ae1113ccff19f87e Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Thu, 12 Dec 2024 15:04:04 -0500 Subject: [PATCH 01/36] Create main.yml --- .github/workflows/main.yml | 49 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..e7f2317 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,49 @@ +name: Build Wildbook Installers + +on: + push: + branches: + - main + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + os: [macos-latest, windows-latest] + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + cache: 'npm' + + - name: Install dependencies + run: npm install + + - name: Build the application + run: npm run build + + - name: Package the application + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + if [[ "${{ matrix.os }}" == "windows-latest" ]]; then + npm run dist:windows + elif [[ "${{ matrix.os }}" == "macos-latest" ]]; then + npm run dist:mac + fi + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: ${{ matrix.os }}-installer + path: | + dist/*.exe + dist/*.dmg From 65cc63344fafe99ac2a2f3d7129077990be346a4 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Thu, 12 Dec 2024 15:20:43 -0500 Subject: [PATCH 02/36] Update main.yml --- .github/workflows/main.yml | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e7f2317..b2f3e83 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,5 +1,4 @@ name: Build Wildbook Installers - on: push: branches: @@ -8,7 +7,7 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: matrix: @@ -28,22 +27,13 @@ jobs: run: npm install - name: Build the application - run: npm run build - - - name: Package the application - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - if [[ "${{ matrix.os }}" == "windows-latest" ]]; then - npm run dist:windows - elif [[ "${{ matrix.os }}" == "macos-latest" ]]; then - npm run dist:mac - fi + run: npm run make - name: Upload artifacts uses: actions/upload-artifact@v3 with: name: ${{ matrix.os }}-installer path: | - dist/*.exe - dist/*.dmg + out/make/*.exe + out/make/*.dmg + From f2b8e9f41b1ccd6aecd130fe50e40d674452b87e Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sat, 14 Dec 2024 12:11:35 -0500 Subject: [PATCH 03/36] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b2f3e83..32ddce3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,7 +2,7 @@ name: Build Wildbook Installers on: push: branches: - - main + - devops-build pull_request: jobs: From 71359731b3a2552bea5f3b5648848593e0032345 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sat, 14 Dec 2024 12:31:43 -0500 Subject: [PATCH 04/36] Update main.yml --- .github/workflows/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 32ddce3..3773105 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,7 +24,9 @@ jobs: cache: 'npm' - name: Install dependencies - run: npm install + run: npm install --save-dev appdmg + npm install + - name: Build the application run: npm run make From 5696f796b01f828eb4c1ec076e090e2b1e243eaf Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sat, 14 Dec 2024 12:38:07 -0500 Subject: [PATCH 05/36] Update main.yml --- .github/workflows/main.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3773105..651130c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,6 +22,18 @@ jobs: with: node-version: '18' cache: 'npm' + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Ensure setuptools is installed + run: | + python3 -m ensurepip + python3 -m pip install setuptools + - name: Set Python for npm + run: npm config set python /usr/bin/python3 + - name: Install dependencies run: npm install --save-dev appdmg From 674f247dba3575c9c094277659a98811e66246fb Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sat, 14 Dec 2024 12:41:10 -0500 Subject: [PATCH 06/36] Update main.yml --- .github/workflows/main.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 651130c..22f9551 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,12 +31,9 @@ jobs: run: | python3 -m ensurepip python3 -m pip install setuptools - - name: Set Python for npm - run: npm config set python /usr/bin/python3 - - name: Install dependencies - run: npm install --save-dev appdmg + run: NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg npm install From 284cf63cd774551a6d6a00b13b480fb4adc5d361 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sat, 14 Dec 2024 12:47:17 -0500 Subject: [PATCH 07/36] Update main.yml --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 22f9551..ea56534 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,6 +8,7 @@ on: jobs: build: runs-on: ${{ matrix.os }} + timeout-minutes: 360 # Set the timeout to 6 hours strategy: matrix: From f727fbd04b14bde4e8622fce482fd85c1c3067dd Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sat, 14 Dec 2024 12:58:51 -0500 Subject: [PATCH 08/36] Update main.yml --- .github/workflows/main.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ea56534..631280a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,7 +9,10 @@ jobs: build: runs-on: ${{ matrix.os }} timeout-minutes: 360 # Set the timeout to 6 hours - + permissions: + issues: write + pull-requests: write + contents: write strategy: matrix: os: [macos-latest, windows-latest] @@ -36,7 +39,9 @@ jobs: - name: Install dependencies run: NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg npm install - + permissions: + issues: write + pull-requests: write - name: Build the application run: npm run make From 431f5a0fd929013cbeb16fd643a9d5f85fc3d87d Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sat, 14 Dec 2024 13:01:13 -0500 Subject: [PATCH 09/36] Update main.yml --- .github/workflows/main.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 631280a..fa7289a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,15 +4,17 @@ on: branches: - devops-build pull_request: - + + permissions: + issues: write + pull-requests: write + contents: write jobs: build: runs-on: ${{ matrix.os }} + timeout-minutes: 360 # Set the timeout to 6 hours - permissions: - issues: write - pull-requests: write - contents: write + strategy: matrix: os: [macos-latest, windows-latest] From 2f1d555a0c15fcb8d56d0bc49f5b6f855bdd6986 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sat, 14 Dec 2024 13:02:05 -0500 Subject: [PATCH 10/36] Update main.yml --- .github/workflows/main.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fa7289a..7ef118d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,12 +9,11 @@ on: issues: write pull-requests: write contents: write + jobs: build: runs-on: ${{ matrix.os }} - timeout-minutes: 360 # Set the timeout to 6 hours - strategy: matrix: os: [macos-latest, windows-latest] @@ -41,9 +40,6 @@ jobs: - name: Install dependencies run: NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg npm install - permissions: - issues: write - pull-requests: write - name: Build the application run: npm run make From 3a3aa043f6abc5aa6c5432fd94021a780e1cf971 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sat, 14 Dec 2024 13:02:54 -0500 Subject: [PATCH 11/36] Update main.yml --- .github/workflows/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7ef118d..979dc6b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,10 +5,10 @@ on: - devops-build pull_request: - permissions: - issues: write - pull-requests: write - contents: write +permissions: + issues: write + pull-requests: write + contents: write jobs: build: From 82ba6ab49a4e7819f504ee5b4e40752479a14bf2 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sat, 14 Dec 2024 13:07:15 -0500 Subject: [PATCH 12/36] Update main.yml --- .github/workflows/main.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 979dc6b..3efabcf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,8 +39,11 @@ jobs: - name: Install dependencies run: NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg + npm audit fix + npm update npm install + - name: Build the application run: npm run make From 6ed0305ecb9f540bcd39fdd84dbe954d56c3f602 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sat, 14 Dec 2024 23:31:02 -0500 Subject: [PATCH 13/36] Update main.yml --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3efabcf..9f7fcb3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,6 +15,7 @@ jobs: runs-on: ${{ matrix.os }} timeout-minutes: 360 # Set the timeout to 6 hours strategy: + fail-fast: false matrix: os: [macos-latest, windows-latest] From ab135a96d19861fa697cf292b0ad9424b349c690 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sun, 15 Dec 2024 12:18:52 -0500 Subject: [PATCH 14/36] Update main.yml --- .github/workflows/main.yml | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9f7fcb3..03dfa31 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,12 +39,20 @@ jobs: python3 -m pip install setuptools - name: Install dependencies - run: NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg - npm audit fix - npm update - npm install - - + run: | + if [ "${{ matrix.os }}" == "windows-latest" ]; then + $env:NODE_GYP_FORCE_PYTHON = (Get-Command python | Select-Object -ExpandProperty Path) + npm install --save-dev appdmg + npm audit fix + npm update + npm install + else + NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg + npm audit fix + npm update + npm install + fi + - name: Build the application run: npm run make From fcdaa15b41fad515b960af6ee9b082e15937b04f Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sun, 15 Dec 2024 12:25:01 -0500 Subject: [PATCH 15/36] Update main.yml --- .github/workflows/main.yml | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 03dfa31..8c3a45f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -40,18 +40,17 @@ jobs: - name: Install dependencies run: | - if [ "${{ matrix.os }}" == "windows-latest" ]; then - $env:NODE_GYP_FORCE_PYTHON = (Get-Command python | Select-Object -ExpandProperty Path) - npm install --save-dev appdmg - npm audit fix - npm update - npm install - else - NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg - npm audit fix - npm update - npm install - fi + if [ "${{ matrix.os }}" == "windows-latest" ]; then + npm config set python "$(Get-Command python | Select-Object -ExpandProperty Path)" + npm audit fix + npm update + npm install + else + NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg + npm audit fix + npm update + npm install + fi - name: Build the application run: npm run make From 7756cb8c1d933ee73ffe45074ed47612b815af2b Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sun, 15 Dec 2024 12:31:57 -0500 Subject: [PATCH 16/36] Update main.yml --- .github/workflows/main.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8c3a45f..75a4891 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -38,14 +38,19 @@ jobs: python3 -m ensurepip python3 -m pip install setuptools - - name: Install dependencies + - name: Install dependencies in Windows + shell: powershell run: | if [ "${{ matrix.os }}" == "windows-latest" ]; then npm config set python "$(Get-Command python | Select-Object -ExpandProperty Path)" npm audit fix npm update npm install - else + + - name: Install dependencies in Mac + shell: bash + run: | + if [ "${{ matrix.os }}" == "mac-latest" ]; then NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg npm audit fix npm update From 1f6711ab6feb37f774698ea1c3ba994b582d9f0c Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sun, 15 Dec 2024 12:39:07 -0500 Subject: [PATCH 17/36] Update main.yml --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 75a4891..b1e5461 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -40,8 +40,8 @@ jobs: - name: Install dependencies in Windows shell: powershell + if: ${{ matrix.os == 'windows-latest' }} run: | - if [ "${{ matrix.os }}" == "windows-latest" ]; then npm config set python "$(Get-Command python | Select-Object -ExpandProperty Path)" npm audit fix npm update @@ -49,13 +49,13 @@ jobs: - name: Install dependencies in Mac shell: bash + if: ${{ matrix.os == 'mac-latest' }} run: | - if [ "${{ matrix.os }}" == "mac-latest" ]; then NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg npm audit fix npm update npm install - fi + - name: Build the application run: npm run make From 550cb5350c03057cf55a9d1d6686cd02615cc946 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sun, 15 Dec 2024 12:42:47 -0500 Subject: [PATCH 18/36] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b1e5461..95c854b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -42,7 +42,7 @@ jobs: shell: powershell if: ${{ matrix.os == 'windows-latest' }} run: | - npm config set python "$(Get-Command python | Select-Object -ExpandProperty Path)" + $env:NODE_GYP_FORCE_PYTHON = (Get-Command python | Select-Object -ExpandProperty Path) npm audit fix npm update npm install From 0eeef6d921e764f14c71ca0f0132650443a4b9f0 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sun, 15 Dec 2024 12:44:32 -0500 Subject: [PATCH 19/36] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 95c854b..406394d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -49,7 +49,7 @@ jobs: - name: Install dependencies in Mac shell: bash - if: ${{ matrix.os == 'mac-latest' }} + if: ${{ matrix.os == 'macos-latest' }} run: | NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg npm audit fix From 16b2ac767f60f62bc7bb606e2c1c7e6437b2aa43 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sun, 15 Dec 2024 12:48:24 -0500 Subject: [PATCH 20/36] Update main.yml --- .github/workflows/main.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 406394d..27864ce 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -43,18 +43,14 @@ jobs: if: ${{ matrix.os == 'windows-latest' }} run: | $env:NODE_GYP_FORCE_PYTHON = (Get-Command python | Select-Object -ExpandProperty Path) - npm audit fix - npm update - npm install + npm install --no-audit - name: Install dependencies in Mac shell: bash if: ${{ matrix.os == 'macos-latest' }} run: | - NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg - npm audit fix - npm update - npm install + NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg --no-audit + npm install --no-audit - name: Build the application From 1e6b2e2d834966d911f65b7a90f18d1207a64073 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sun, 15 Dec 2024 12:59:36 -0500 Subject: [PATCH 21/36] Update main.yml --- .github/workflows/main.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 27864ce..e923c87 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,7 +55,13 @@ jobs: - name: Build the application run: npm run make + + - name: List win output directory + shell: cmd + if: ${{ matrix.os == 'windows-latest' }} + run: dir out\make + - name: Upload artifacts uses: actions/upload-artifact@v3 with: From a203c4e65ffd6e8baa4b1e1d41105621f5808510 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sun, 15 Dec 2024 13:06:04 -0500 Subject: [PATCH 22/36] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e923c87..bcb4bbf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -59,7 +59,7 @@ jobs: - name: List win output directory shell: cmd if: ${{ matrix.os == 'windows-latest' }} - run: dir out\make + run: dir out\make\squirrel.windows - name: Upload artifacts From aa4421d3ca6e53cf52a725e19b4e766dd556b497 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sun, 15 Dec 2024 13:13:00 -0500 Subject: [PATCH 23/36] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bcb4bbf..52ea2a8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -59,7 +59,7 @@ jobs: - name: List win output directory shell: cmd if: ${{ matrix.os == 'windows-latest' }} - run: dir out\make\squirrel.windows + run: dir out\make\squirrel.windows\x64 - name: Upload artifacts From 797eb7edaf7e2b8a0894cf290c7d67455f47f1bd Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Sun, 15 Dec 2024 22:07:06 -0500 Subject: [PATCH 24/36] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 52ea2a8..b8087e2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -67,6 +67,6 @@ jobs: with: name: ${{ matrix.os }}-installer path: | - out/make/*.exe + out\make\squirrel.windows\x64\*.exe out/make/*.dmg From 4a8fa3e24425fde167a26934284e34d7f8d9aa31 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Thu, 19 Dec 2024 23:04:19 -0500 Subject: [PATCH 25/36] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b8087e2..481b513 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -63,7 +63,7 @@ jobs: - name: Upload artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.os }}-installer path: | From 5f555f1fed5e877f4111f36eb854e89e24b1b837 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Thu, 19 Dec 2024 23:20:04 -0500 Subject: [PATCH 26/36] Create README.md --- README.md | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..f615ce2 --- /dev/null +++ b/README.md @@ -0,0 +1,82 @@ +## Manual Build Instructions + + +# Project Build and Packaging Instructions + +This guide explains how to manually build and package the application for different platforms without using GitHub Actions. + +## Prerequisites +- Node.js (v18 or higher) +- Python (v3.10) +- A working internet connection to install dependencies + +--- + +## Steps to Build and Package the Application + +### 1. Install Dependencies +Run the following command to install all required dependencies: + +```bash +npm install --no-audit +``` + +If your project relies on native dependencies (e.g., node-gyp), ensure Python is properly configured: + +On macOS/Linux: + +``` bash + +export NODE_GYP_FORCE_PYTHON=$(which python3) +``` + +On Windows, manually set the Python path by running: + +```powershell + +$env:NODE_GYP_FORCE_PYTHON = (Get-Command python | Select-Object -ExpandProperty Path) +``` + +2. Build the Application +Run the following command to generate platform-specific installers: + +```bash + +npm run make +``` + +This will create the output files in the out/make directory. + +3. Verify the Output +Once the build process is complete, check the out/make directory for the generated files: + +On macOS/Linux: + +```bash +ls out/make +``` + +On Windows: + +``` +powershell + +dir out\make\squirrel.windows\x64 +``` + +4. Upload Installers +Locate the generated installer files: + +.dmg for macOS +.exe for Windows +Manually upload these files to the desired location (e.g., file server, cloud storage). + +## Notes: +If you encounter issues during dependency installation, ensure Python is correctly installed and accessible in your system’s PATH. +Suppress warnings about vulnerabilities using the --no-audit flag when running npm install. +For more debugging, check the build logs in your terminal or use the verbose mode: + +```bash + +npm run make -- --verbose +``` From e0df2ed52791daac11fed98ec95f6e1d8621b4eb Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Mon, 3 Feb 2025 18:58:23 -0500 Subject: [PATCH 27/36] Update main.yml --- .github/workflows/main.yml | 63 +++++++++++++++++++++++++++----------- 1 file changed, 45 insertions(+), 18 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 481b513..9db3d88 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,7 +4,7 @@ on: branches: - devops-build pull_request: - + permissions: issues: write pull-requests: write @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest] + os: [macos-latest, windows-latest, ubuntu-latest] steps: - name: Checkout code @@ -33,40 +33,67 @@ jobs: uses: actions/setup-python@v4 with: python-version: '3.10' + - name: Ensure setuptools is installed run: | python3 -m ensurepip python3 -m pip install setuptools - name: Install dependencies in Windows - shell: powershell if: ${{ matrix.os == 'windows-latest' }} + shell: powershell run: | - $env:NODE_GYP_FORCE_PYTHON = (Get-Command python | Select-Object -ExpandProperty Path) - npm install --no-audit + $env:NODE_GYP_FORCE_PYTHON = (Get-Command python | Select-Object -ExpandProperty Path) + npm install --no-audit - name: Install dependencies in Mac - shell: bash if: ${{ matrix.os == 'macos-latest' }} + shell: bash run: | - NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg --no-audit - npm install --no-audit + NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev appdmg --no-audit + npm install --no-audit + + - name: Install dependencies in Linux + if: ${{ matrix.os == 'ubuntu-latest' }} + shell: bash + run: | + NODE_GYP_FORCE_PYTHON=$(which python3) npm install --no-audit - - name: Build the application run: npm run make - - - name: List win output directory - shell: cmd + + - name: List Windows output directory if: ${{ matrix.os == 'windows-latest' }} + shell: cmd run: dir out\make\squirrel.windows\x64 - - - name: Upload artifacts + - name: List Mac output directory + if: ${{ matrix.os == 'macos-latest' }} + shell: bash + run: ls -l out/make + + - name: List Linux output directory + if: ${{ matrix.os == 'ubuntu-latest' }} + shell: bash + run: ls -l out/make + + - name: Upload Windows artifacts + if: ${{ matrix.os == 'windows-latest' }} uses: actions/upload-artifact@v4 with: - name: ${{ matrix.os }}-installer - path: | - out\make\squirrel.windows\x64\*.exe - out/make/*.dmg + name: windows-installer + path: out\make\squirrel.windows\x64\*.exe + - name: Upload Mac artifacts + if: ${{ matrix.os == 'macos-latest' }} + uses: actions/upload-artifact@v4 + with: + name: macos-installer + path: out/make/*.dmg + + - name: Upload Linux artifacts + if: ${{ matrix.os == 'ubuntu-latest' }} + uses: actions/upload-artifact@v4 + with: + name: linux-installer + path: out/make/*.AppImage From 9c3b62e1d8b143df8891e2a0cf0296011f80905c Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Mon, 3 Feb 2025 19:08:19 -0500 Subject: [PATCH 28/36] Update main.yml --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9db3d88..939461c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -58,6 +58,7 @@ jobs: shell: bash run: | NODE_GYP_FORCE_PYTHON=$(which python3) npm install --no-audit +npm install --save-dev @electron-forge/maker-deb - name: Build the application run: npm run make From e97c70e03d8be34051b033a7cdf5e205e708a08b Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Mon, 3 Feb 2025 19:09:24 -0500 Subject: [PATCH 29/36] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 939461c..77b2b70 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,8 +57,8 @@ jobs: if: ${{ matrix.os == 'ubuntu-latest' }} shell: bash run: | + npm install --save-dev @electron-forge/maker-deb NODE_GYP_FORCE_PYTHON=$(which python3) npm install --no-audit -npm install --save-dev @electron-forge/maker-deb - name: Build the application run: npm run make From 505d3c794fa5836893c08bedd0a95976b338ad4d Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Mon, 3 Feb 2025 19:50:27 -0500 Subject: [PATCH 30/36] Update main.yml --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 77b2b70..f5a62da 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,8 @@ jobs: if: ${{ matrix.os == 'ubuntu-latest' }} shell: bash run: | - npm install --save-dev @electron-forge/maker-deb + NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev @electron-forge/maker-deb + NODE_GYP_FORCE_PYTHON=$(which python3) npm install --save-dev @electron-forge/maker-rpm NODE_GYP_FORCE_PYTHON=$(which python3) npm install --no-audit - name: Build the application From 828684955852681db693d7d36794a6e5ce146183 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Mon, 3 Feb 2025 20:14:31 -0500 Subject: [PATCH 31/36] Update forge.config.ts --- forge.config.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/forge.config.ts b/forge.config.ts index 2784ee1..714c380 100644 --- a/forge.config.ts +++ b/forge.config.ts @@ -30,6 +30,9 @@ const config: ForgeConfig = { ), new MakerDMG({ name: "WildEx", icon: icon_path + ".icns", overwrite: true }), // new MakerZIP({}), + ], + new MakerDeb({ name: "WildEx", icon: icon_path + ".icns", overwrite: true }), + // new MakerZIP({}), ], plugins: [ new WebpackPlugin({ From 80dc8840fdd5d7aa1fa4a52475e0b1d357c98df2 Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Mon, 3 Feb 2025 20:17:18 -0500 Subject: [PATCH 32/36] Update forge.config.ts --- forge.config.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/forge.config.ts b/forge.config.ts index 714c380..e2e60ff 100644 --- a/forge.config.ts +++ b/forge.config.ts @@ -30,7 +30,6 @@ const config: ForgeConfig = { ), new MakerDMG({ name: "WildEx", icon: icon_path + ".icns", overwrite: true }), // new MakerZIP({}), - ], new MakerDeb({ name: "WildEx", icon: icon_path + ".icns", overwrite: true }), // new MakerZIP({}), ], From f516dbf8995ac5fd41e9adf5d1ef5be6082ad7ac Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Mon, 3 Feb 2025 20:20:35 -0500 Subject: [PATCH 33/36] Update forge.config.ts --- forge.config.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/forge.config.ts b/forge.config.ts index e2e60ff..80a3590 100644 --- a/forge.config.ts +++ b/forge.config.ts @@ -30,7 +30,17 @@ const config: ForgeConfig = { ), new MakerDMG({ name: "WildEx", icon: icon_path + ".icns", overwrite: true }), // new MakerZIP({}), - new MakerDeb({ name: "WildEx", icon: icon_path + ".icns", overwrite: true }), + new MakerDeb({ + config: { + options: { + icon: icon_path + ".icns", + // Optionally add other properties that electron-installer-debian accepts, + // for example: + // maintainer: "Your Name ", + // homepage: "https://www.wildme.org", + }, + }, + }), // new MakerZIP({}), ], plugins: [ From 9044353232566c901b62660ba647cb1aee37348f Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Mon, 3 Feb 2025 20:23:12 -0500 Subject: [PATCH 34/36] Update forge.config.ts --- forge.config.ts | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/forge.config.ts b/forge.config.ts index 80a3590..659fcb4 100644 --- a/forge.config.ts +++ b/forge.config.ts @@ -31,16 +31,13 @@ const config: ForgeConfig = { new MakerDMG({ name: "WildEx", icon: icon_path + ".icns", overwrite: true }), // new MakerZIP({}), new MakerDeb({ - config: { - options: { - icon: icon_path + ".icns", - // Optionally add other properties that electron-installer-debian accepts, - // for example: - // maintainer: "Your Name ", - // homepage: "https://www.wildme.org", - }, - }, - }), + options: { + icon: icon_path + ".icns", + // Optionally, add other supported options such as: + // maintainer: "Your Name ", + // homepage: "https://yourapphomepage.com", + }, + }), // new MakerZIP({}), ], plugins: [ From d453025391eac890bf79aba6bdce92b0e46bb18c Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Mon, 3 Feb 2025 20:44:11 -0500 Subject: [PATCH 35/36] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f5a62da..e9dfd50 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -77,7 +77,7 @@ jobs: - name: List Linux output directory if: ${{ matrix.os == 'ubuntu-latest' }} shell: bash - run: ls -l out/make + run: ls -lR out/make - name: Upload Windows artifacts if: ${{ matrix.os == 'windows-latest' }} From 800d59378ed9f6cc60e6e500dde32541c0ed3d3d Mon Sep 17 00:00:00 2001 From: tsubramanian Date: Mon, 3 Feb 2025 20:48:16 -0500 Subject: [PATCH 36/36] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e9dfd50..29ed540 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -98,4 +98,4 @@ jobs: uses: actions/upload-artifact@v4 with: name: linux-installer - path: out/make/*.AppImage + path: out/make/deb/x64/*.deb