diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..0091a9b --- /dev/null +++ b/.github/workflows/build.yml @@ -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 + diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 20c91df..0000000 --- a/azure-pipelines.yml +++ /dev/null @@ -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 \ No newline at end of file