Build and release binaries #50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # DO NOT edit this file! This is a generated file from | |
| # the corresponding .j2 template. To edit it, edit the | |
| # Jinja template, and then re-generate it. | |
| # | |
| # % jinja2 main.yml.j2 -o main.yml | |
| # | |
| name: Build and release binaries | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| runner: | |
| required: false | |
| description: 'Runner image name' | |
| default: 'windows-2022' | |
| jobs: | |
| build-1: | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: false | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-2: | |
| needs: build-1 | |
| if: needs.build-1.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-3: | |
| needs: build-2 | |
| if: needs.build-2.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-4: | |
| needs: build-3 | |
| if: needs.build-3.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-5: | |
| needs: build-4 | |
| if: needs.build-4.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-6: | |
| needs: build-5 | |
| if: needs.build-5.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-7: | |
| needs: build-6 | |
| if: needs.build-6.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-8: | |
| needs: build-7 | |
| if: needs.build-7.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-9: | |
| needs: build-8 | |
| if: needs.build-8.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-10: | |
| needs: build-9 | |
| if: needs.build-9.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-11: | |
| needs: build-10 | |
| if: needs.build-10.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-12: | |
| needs: build-11 | |
| if: needs.build-11.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-13: | |
| needs: build-12 | |
| if: needs.build-12.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-14: | |
| needs: build-13 | |
| if: needs.build-13.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-15: | |
| needs: build-14 | |
| if: needs.build-14.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-final: | |
| needs: build-15 | |
| if: ${{ !cancelled() && !failure() }} | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Setup sccache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| make_sign_artifact: true | |
| - name: Sign Helium binaries | |
| uses: signpath/[email protected] | |
| with: | |
| api-token: ${{ secrets.SIGNPATH_API_TOKEN }} | |
| organization-id: ${{ vars.SIGNPATH_ORG_ID }} | |
| project-slug: ${{ vars.SIGNPATH_PROJECT_SLUG }} | |
| signing-policy-slug: ${{ vars.SIGNPATH_POLICY_SLUG }} | |
| artifact-configuration-slug: stage1 | |
| github-artifact-id: ${{ steps.stage.outputs.artifact_id }} | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| wait-for-completion-timeout-in-seconds: 90000 | |
| output-artifact-directory: signed | |
| - name: Copy signed binaries | |
| run: Copy-Item -Path "signed\*" -Destination "C:\helium-windows\build\src\out\Default\" -Recurse | |
| - name: Build Helium installer | |
| id: stage2 | |
| uses: ./.github/actions/stage | |
| with: | |
| gen_installer: true | |
| make_sign_artifact: true | |
| from_artifact: false | |
| - name: Sign Helium installer | |
| uses: signpath/[email protected] | |
| with: | |
| api-token: ${{ secrets.SIGNPATH_API_TOKEN }} | |
| organization-id: ${{ vars.SIGNPATH_ORG_ID }} | |
| project-slug: ${{ vars.SIGNPATH_PROJECT_SLUG }} | |
| signing-policy-slug: ${{ vars.SIGNPATH_POLICY_SLUG }} | |
| artifact-configuration-slug: stage2 | |
| github-artifact-id: ${{ steps.stage2.outputs.artifact_id }} | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| wait-for-completion-timeout-in-seconds: 90000 | |
| output-artifact-directory: signed | |
| - name: Copy signed installer | |
| run: Copy-Item -Path "signed\mini_installer.exe" -Destination "C:\helium-windows\build\src\out\Default\" | |
| - name: Generate user-facing artifacts | |
| id: stage3 | |
| uses: ./.github/actions/stage | |
| with: | |
| do_package: true | |
| from_artifact: false | |
| outputs: | |
| finished: ${{ steps.stage3.outputs.finished }} | |
| version: ${{ steps.stage3.outputs.version }} | |
| build-arm-1: | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: false | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-2: | |
| needs: build-arm-1 | |
| if: needs.build-arm-1.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-3: | |
| needs: build-arm-2 | |
| if: needs.build-arm-2.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-4: | |
| needs: build-arm-3 | |
| if: needs.build-arm-3.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-5: | |
| needs: build-arm-4 | |
| if: needs.build-arm-4.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-6: | |
| needs: build-arm-5 | |
| if: needs.build-arm-5.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-7: | |
| needs: build-arm-6 | |
| if: needs.build-arm-6.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-8: | |
| needs: build-arm-7 | |
| if: needs.build-arm-7.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-9: | |
| needs: build-arm-8 | |
| if: needs.build-arm-8.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-10: | |
| needs: build-arm-9 | |
| if: needs.build-arm-9.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-11: | |
| needs: build-arm-10 | |
| if: needs.build-arm-10.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-12: | |
| needs: build-arm-11 | |
| if: needs.build-arm-11.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-13: | |
| needs: build-arm-12 | |
| if: needs.build-arm-12.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-14: | |
| needs: build-arm-13 | |
| if: needs.build-arm-13.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-15: | |
| needs: build-arm-14 | |
| if: needs.build-arm-14.outputs.finished == 'false' | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Run sccache-cache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| env: | |
| SCCACHE_GHA_ENABLED: "true" | |
| SCCACHE_GHA_VERSION: "arm" | |
| RUSTC_WRAPPER: "sccache" | |
| outputs: | |
| finished: ${{ steps.stage.outputs.finished }} | |
| build-arm-final: | |
| needs: build-arm-15 | |
| if: ${{ !cancelled() && !failure() }} | |
| runs-on: ${{ github.event.inputs.runner }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Init | |
| run: Copy-Item -Path . -Destination "C:\helium-windows" -Recurse | |
| - name: Setup Stage | |
| run: npm install | |
| working-directory: ./.github/actions/stage | |
| - name: Setup sccache | |
| uses: mozilla-actions/[email protected] | |
| - name: Run Stage | |
| id: stage | |
| uses: ./.github/actions/stage | |
| with: | |
| from_artifact: true | |
| arm: true | |
| make_sign_artifact: true | |
| - name: Sign Helium binaries | |
| uses: signpath/[email protected] | |
| with: | |
| api-token: ${{ secrets.SIGNPATH_API_TOKEN }} | |
| organization-id: ${{ vars.SIGNPATH_ORG_ID }} | |
| project-slug: ${{ vars.SIGNPATH_PROJECT_SLUG }} | |
| signing-policy-slug: ${{ vars.SIGNPATH_POLICY_SLUG }} | |
| artifact-configuration-slug: stage1 | |
| github-artifact-id: ${{ steps.stage.outputs.artifact_id }} | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| wait-for-completion-timeout-in-seconds: 90000 | |
| output-artifact-directory: signed | |
| - name: Copy signed binaries | |
| run: Copy-Item -Path "signed\*" -Destination "C:\helium-windows\build\src\out\Default\" -Recurse | |
| - name: Build Helium installer | |
| id: stage2 | |
| uses: ./.github/actions/stage | |
| with: | |
| arm: true | |
| gen_installer: true | |
| make_sign_artifact: true | |
| from_artifact: false | |
| - name: Sign Helium installer | |
| uses: signpath/[email protected] | |
| with: | |
| api-token: ${{ secrets.SIGNPATH_API_TOKEN }} | |
| organization-id: ${{ vars.SIGNPATH_ORG_ID }} | |
| project-slug: ${{ vars.SIGNPATH_PROJECT_SLUG }} | |
| signing-policy-slug: ${{ vars.SIGNPATH_POLICY_SLUG }} | |
| artifact-configuration-slug: stage2 | |
| github-artifact-id: ${{ steps.stage2.outputs.artifact_id }} | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| wait-for-completion-timeout-in-seconds: 90000 | |
| output-artifact-directory: signed | |
| - name: Copy signed installer | |
| run: Copy-Item -Path "signed\mini_installer.exe" -Destination "C:\helium-windows\build\src\out\Default\" | |
| - name: Generate user-facing artifacts | |
| id: stage3 | |
| uses: ./.github/actions/stage | |
| with: | |
| arm: true | |
| do_package: true | |
| from_artifact: false | |
| outputs: | |
| finished: ${{ steps.stage3.outputs.finished }} | |
| version: ${{ steps.stage3.outputs.version }} | |
| publish-release: | |
| needs: [build-final, build-arm-final] | |
| if: ${{ !cancelled() && !failure() | |
| && needs.build-final.result == 'success' | |
| && needs.build-arm-final.result == 'success' }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download package | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: helium-x86_64 | |
| - name: Download arm package | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: helium-arm64 | |
| - name: Publish release | |
| id: publish | |
| uses: imputnet/[email protected] | |
| with: | |
| fail_on_unmatched_files: true | |
| prerelease: true | |
| name: ${{ needs.build-final.outputs.version }} | |
| tag_name: ${{ needs.build-final.outputs.version }} | |
| files: | | |
| helium* | |
| outputs: | |
| assets: ${{ steps.publish.outputs.assets }} |