Skip to content

Build and release binaries #50

Build and release binaries

Build and release binaries #50

Workflow file for this run

# 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 }}