name: Build/release on: push jobs: release: runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] steps: - name: Check out Git repository uses: actions/checkout@v1 - name: Install Node.js, NPM and Yarn uses: actions/setup-node@v1 with: node-version: 20 - name: Install packages run: yarn install --network-timeout 1000000 - name: Build electron index.ts file run: yarn electron-build - name: Build/release Electron app uses: samuelmeuli/action-electron-builder@v1 with: # GitHub token, automatically provided to the action # (No need to define this secret in the repo settings) github_token: ${{ secrets.github_token }} # If the commit is tagged with a version (e.g. "v1.0.0"), # release the app after building release: ${{ startsWith(github.ref, 'refs/tags/v') }} # - name: Send POST request to update server # if: startsWith(github.ref, 'refs/tags/v') # run: | # curl -X POST -H "Content-Type: application/json" -d '{"version": "${{ github.ref }}" }' https://automata.sern.dev/gui/newVersion - name: Move artifacts shell: bash run: | if [ "${{ matrix.os }}" == "windows-latest" ]; then mkdir d:\\tmp\\artifacts mv dist/*.exe d:\\tmp\\artifacts else mkdir -p /tmp/artifacts if [ "${{ matrix.os }}" == "macos-latest" ]; then mv dist/*.dmg /tmp/artifacts else mv dist/*.AppImage /tmp/artifacts fi fi - name: Upload artifacts uses: actions/upload-artifact@v1 with: name: application path: /tmp/artifacts