Initial workflow to build binaries

Unlikely to work
This commit is contained in:
Josh Stewart 2024-02-13 21:14:21 +11:00
parent 3497df7d70
commit 74fefed35e
2 changed files with 66 additions and 103 deletions

66
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,66 @@
name: Attempt to build binaries for Windows (64-bit), linux (64-bit) and macos (x86-64)
on:
push:
branches: [ main ]
jobs:
Build-for-linux:
name: Run npm on Ubuntu
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node, Electron and built
uses: actions/setup-node@v3
with:
node-version: '19.x'
run: |
npm install electron-rebuild -g
npm install electron-builder -g
npm install
npm run package-linux
- name: Save .appimage as artefact
uses: actions/upload-artifact@v4
with:
name: Artefact for linux build
path: dist
Build-for-mac:
name: Run npm on x64 macos
runs-on: macos-12
steps:
- uses: actions/checkout@v4
- name: Setup Node, Electron and built
uses: actions/setup-node@v3
with:
node-version: '19.x'
run: |
npm install electron-rebuild -g
npm install electron-builder -g
npm install
npm run package-mac
- name: Save .dmg as artefact
uses: actions/upload-artifact@v4
with:
name: Artefact for Mac build
path: dist
Build-for-win:
name: Run npm on x64 Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node, Electron and built
uses: actions/setup-node@v3
with:
node-version: '19.x'
run: |
npm install electron-rebuild -g
npm install electron-builder -g
npm install
npm run package-mac
- name: Save .exe as artefact
uses: actions/upload-artifact@v4
with:
name: Artefact for Win build
path: dist

View File

@ -1,103 +0,0 @@
# Node.js
# Build a general Node.js project with npm.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
trigger:
- master
- azure-pipelines
jobs:
- job: generic_build
strategy:
matrix:
linux:
imageName: 'ubuntu-16.04'
outputExtension: '*.AppImage'
builderOptions: '--linux'
buildName: "Linux AppImage"
artefactName: "Linux AppImage"
mac:
imageName: 'macos-10.13'
outputExtension: '*.dmg'
builderOptions: '--mac'
buildName: "Mac"
artefactName: "Mac 64-bit"
windows-64:
imageName: 'vs2017-win2016'
outputExtension: '*.exe'
builderOptions: '--win'
buildName: "Windows 64-bit"
artefactName: "Windows 64-bit"
pool:
vmImage: $(imageName)
steps:
- task: NodeTool@0
inputs:
versionSpec: '8.x'
displayName: 'Install Node.js'
- bash: |
npm cache clean --force
rm -rf node_modules/
npm install
npm install electron-builder -g
electron-builder --publish=never $(builderOptions)
displayName: $(buildName)
- task: CopyFiles@2
inputs:
sourceFolder: '$(Build.SourcesDirectory)/dist'
contents: $(outputExtension)
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: $(Build.ArtifactStagingDirectory)
artifactName: $(artefactName)
#- task: GithubRelease@0
# displayName: 'Create GitHub Release'
# inputs:
# githubConnection: speeduino
# repositoryName: speeduino/SpeedyLoader
# action: 'create'
# target: '$(build.sourceVersion)'
# assets: $(Build.ArtifactStagingDirectory)/*.zip
# addChangeLog: true
# isDraft: true
- job: job_win_32_bit_self_hosted
pool: 'Default'
timeoutInMinutes: 5
steps:
- task: NodeTool@0
enabled: false
inputs:
versionSpec: '8.x'
displayName: 'Install Node.js'
- script: |
npm install
npm install electron-builder -g
electron-builder --win
displayName: 'Windows 32-bit'
- task: CopyFiles@2
inputs:
sourceFolder: '$(Build.SourcesDirectory)\dist'
contents: '*.exe'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: $(Build.ArtifactStagingDirectory)
artifactName: "Windows 32-bit"
#- task: GithubRelease@0
# displayName: 'Create GitHub Release'
# inputs:
# githubConnection: speeduino
# repositoryName: speeduino/SpeedyLoader
# action: 'create'
# target: '$(build.sourceVersion)'
# assets: $(Build.ArtifactStagingDirectory)/*.zip
# addChangeLog: true
# isDraft: true