pull/2039/head
Scavanger 5 months ago
parent e3170d4f61
commit 0450c093a5

@ -1,9 +1,12 @@
name: Build Configurator
on: workflow_dispatch
# Don't enable CI on push, just on PR. If you
# are working on the main repo and want to trigger
# a CI build submit a draft PR.
on: pull_request
jobs:
build-linux:
runs-on: unbuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup environment
@ -22,14 +25,14 @@ jobs:
VERSION=$(grep version package.json | sed 's/.*"\([0-9][0-9]*.[0-9]*.[0-9]*\)".*/\1/g')
echo "ACTIONS_STEP_DEBUG=true" >> $GITHUB_ENV
echo "BUILD_SUFFIX=${BUILD_SUFFIX}" >> $GITHUB_ENV
echo "BUILD_NAME=INAV-configurator_linux_x64_${VERSION}_${BUILD_SUFFIX}" >> $GITHUB_ENV
echo "BUILD_NAME=inav-configurator_linux_x64_${VERSION}_${BUILD_SUFFIX}" >> $GITHUB_ENV
- uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
cache: 'npm'
- name: Install dependencies
run: sudo apt update && sudo apt -y install dpkg fakeroot rpmbuild build-essential libudev-dev
run: sudo apt-get update && sudo apt-get -y install dpkg fakeroot rpm build-essential libudev-dev
- name: Install deps
uses: nick-fields/retry@v2
with:
@ -37,23 +40,23 @@ jobs:
retry_on: error
command: npm install
timeout_minutes: 10
- name: build linux
- name: Build Linux
run: npm run make
- name: Upload deb
- name: Upload Linux deb
uses: actions/upload-artifact@v3
with:
name: ${{ env.BUILD_NAME }} Linux deb
path: ./out/make/deb/linux/x64/*.deb
- name: Upload rpm
name: ${{ env.BUILD_NAME }}_DEB
path: ./out/make/deb/x64/*.deb
- name: Upload Linux rpm
uses: actions/upload-artifact@v3
with:
name: ${{ env.BUILD_NAME }} Linux rpm
path: ./out/make/rpm/linux/x64/*.rpm
name: ${{ env.BUILD_NAME }}_RPM
path: ./out/make/rpm/x64/*.rpm
- name: Upload Linux zip
uses: actions/upload-artifact@v3
with:
name: ${{ env.BUILD_NAME }} Linux zip
path: ./out/make/zip/linux/x64/*.rpm
name: ${{ env.BUILD_NAME }}_ZIP
path: ./out/make/zip/linux/x64/*.zip
build-mac:
runs-on: macos-latest
steps:
@ -73,14 +76,16 @@ jobs:
BUILD_SUFFIX=ci-$(date '+%Y%m%d')-$(git rev-parse --short ${COMMIT_ID})
VERSION=$(grep version package.json | sed 's/.*"\([0-9][0-9]*.[0-9]*.[0-9]*\)".*/\1/g')
echo "BUILD_SUFFIX=${BUILD_SUFFIX}" >> $GITHUB_ENV
echo "BUILD_NAME=INAV-configurator_darwin_x64_${VERSION}_${BUILD_SUFFIX}" >> $GITHUB_ENV
echo "BUILD_NAMEx64=inav-configurator_darwin_x64_${VERSION}_${BUILD_SUFFIX}" >> $GITHUB_ENV
echo "BUILD_NAMEarm64=inav-configurator_darwin_arm64_${VERSION}_${BUILD_SUFFIX}" >> $GITHUB_ENV
- uses: actions/setup-node@v4
with:
node-version: 21
node-version: 20
check-latest: true
cache: 'npm'
- name: Install packages
run: brew install nodejs
# Workaround due to a bug in node-gyp: https://github.com/electron/rebuild/issues/1116
- name: Install Setuptools
run: pip install setuptools
- name: Install deps
uses: nick-fields/retry@v2
with:
@ -88,18 +93,30 @@ jobs:
retry_on: error
command: npm install
timeout_minutes: 10
- name: build macos
run: npm run make
- name: Upload MacOS zip
- name: Build MacOS x64
run: npm run make -- --arch="x64"
- name: Build MacOS arm64
run: npm run make -- --arch="arm64"
- name: Upload MacOS x64 zip
uses: actions/upload-artifact@v4
with:
name: ${{env.BUILD_NAME}} MacOSX zip
name: ${{env.BUILD_NAMEx64}}_ZIP
path: ./out/make/zip/darwin/x64/*.zip
- name: Upload MacOS dmg
- name: Upload MacOS x64 dmg
uses: actions/upload-artifact@v4
with:
name: ${{env.BUILD_NAME}} MacOSX dmg
path: ./out/make/dmg/darwin/x64/*.dmg
name: ${{env.BUILD_NAMEx64}}_DMG
path: ./out/make/*x64*.dmg
- name: Upload MacOS arm64 zip
uses: actions/upload-artifact@v4
with:
name: ${{env.BUILD_NAMEarm64}}_ZIP
path: ./out/make/zip/darwin/arm64/*.zip
- name: Upload MacOS arm64 dmg
uses: actions/upload-artifact@v4
with:
name: ${{env.BUILD_NAMEarm64}}_DMG
path: ./out/make/*arm64*.dmg
build-windows:
runs-on: windows-latest
steps:
@ -122,8 +139,8 @@ jobs:
VERSION=$(grep version package.json | sed 's/.*"\([0-9][0-9]*.[0-9]*.[0-9]*\)".*/\1/g')
echo "ACTIONS_STEP_DEBUG=true" >> $GITHUB_ENV
echo "BUILD_SUFFIX=${BUILD_SUFFIX}" >> $GITHUB_ENV
echo "BUILD_NAMEx64=INAV-configurator_win32_x64_${VERSION}_${BUILD_SUFFIX}" >> $GITHUB_ENV
echo "BUILD_NAMEis32=INAV-configurator_win32_ia32_${VERSION}_${BUILD_SUFFIX}" >> $GITHUB_ENV
echo "BUILD_NAMEx64=inav-configurator_win32_x64_${VERSION}_${BUILD_SUFFIX}" >> $GITHUB_ENV
echo "BUILD_NAMEia32=inav-configurator_win32_ia32_${VERSION}_${BUILD_SUFFIX}" >> $GITHUB_ENV
shell: bash
- uses: actions/setup-node@v4
with:
@ -131,7 +148,7 @@ jobs:
cache: 'npm'
- uses: engineerd/configurator@v0.0.10
with:
name: "Wix3.1.4"
name: "Wix Toolset 3.1.4"
url: "https://github.com/wixtoolset/wix3/releases/download/wix3141rtm/wix314-binaries.zip"
pathInArchive: "/"
- name: Install deps
@ -141,33 +158,28 @@ jobs:
retry_on: error
command: npm install
timeout_minutes: 10
- name: build win32 x64
run: npm run make -- -- arch="x64"
- name: build win32 ia32
run: npm run make -- -- arch="ia32"
- name: Build Win32 x64
run: npm run make -- --arch="x64"
- name: Build win32 ia32
run: npm run make -- --arch="ia32"
- name: Upload Windows x64 zip
uses: actions/upload-artifact@v4
with:
name: ${{env.BUILD_NAMEx64}} Windows x64 zip
path: ./out/make/zip/windows/x64/*.zip
name: ${{env.BUILD_NAMEx64}}_ZIP
path: ./out/make/zip/win32/x64/*.zip
- name: Upload Windows x64 msi
uses: actions/upload-artifact@v4
with:
name: ${{env.BUILD_NAMEx64}} Windows x64 msi
path: ./out/make/wix/windows/x64/*.msi
name: ${{env.BUILD_NAMEx64}}_MSI
path: ./out/make/wix/x64/*.msi
- name: Upload Windows ia32 zip
uses: actions/upload-artifact@v4
with:
name: ${{env.BUILD_NAMEia32}} Windows ia32 zip
path: ./out/make/zip/windows/ia32/*.zip
name: ${{env.BUILD_NAMEia32}}_ZIP
path: ./out/make/zip/win32/ia32/*.zip
- name: Upload Windows ia32 msi
uses: actions/upload-artifact@v4
with:
name: ${{env.BUILD_NAMEia32}} Windows ia32 msi
path: ./out/make/wix/windows/ia32/*.msi
name: ${{env.BUILD_NAMEia32}}_MSI
path: ./out/make/wix/ia32/*.msi

@ -48,6 +48,7 @@
"@electron-forge/maker-zip": "^7.2.0",
"@electron-forge/maker-dmg": "^7.2.0",
"@electron-forge/maker-wix": "^7.2.0",
"electron": "28.1.4"
"electron": "28.1.4",
"node-gyp": "^10.1.0"
}
}

Loading…
Cancel
Save