Skip to content

Build and release binaries #203

Build and release binaries

Build and release binaries #203

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'
do-release:
required: false
type: boolean
description: 'Create a release after build is done'
default: false
env:
WINSPARKLE_ED_KEY: ${{ vars.WINSPARKLE_ED_KEY }}
WINSPARKLE_AUTHENTICODE_ORG: ${{ vars.WINSPARKLE_AUTHENTICODE_ORG }}
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: false
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
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: Run Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
- name: Sign Helium binaries
uses: azure/artifact-signing-action@v1
with:
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
endpoint: ${{ secrets.AZURE_SIGNING_ENDPOINT }}
signing-account-name: ${{ secrets.AZURE_SIGNING_ACCOUNT }}
certificate-profile-name: ${{ secrets.AZURE_SIGNING_CERTIFICATE_NAME }}
files: ${{ steps.stage.outputs.files-to-sign }}
description: Helium
description-url: https://github.com/imputnet/helium-windows
# we want a different description here, so sign it separately again
- name: Sign Helium update helper
uses: azure/artifact-signing-action@v1
with:
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
endpoint: ${{ secrets.AZURE_SIGNING_ENDPOINT }}
signing-account-name: ${{ secrets.AZURE_SIGNING_ACCOUNT }}
certificate-profile-name: ${{ secrets.AZURE_SIGNING_CERTIFICATE_NAME }}
files: C:\helium-windows\build\src\out\Default\helium_update_helper.exe
description: Helium Update Helper
description-url: https://github.com/imputnet/helium-windows
- name: Build Helium installer and package
id: stage2
uses: ./.github/actions/stage
with:
gen_installer: true
from_artifact: false
- name: Sign Helium installer
uses: azure/artifact-signing-action@v1
with:
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
endpoint: ${{ secrets.AZURE_SIGNING_ENDPOINT }}
signing-account-name: ${{ secrets.AZURE_SIGNING_ACCOUNT }}
certificate-profile-name: ${{ secrets.AZURE_SIGNING_CERTIFICATE_NAME }}
files: C:\helium-windows\build\helium*-installer.exe
description: Helium Installer
description-url: https://github.com/imputnet/helium-windows
- name: Upload artifacts
id: stage3
uses: ./.github/actions/stage
with:
upload_final: 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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: false
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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 Stage
id: stage
uses: ./.github/actions/stage
with:
from_artifact: true
arm: true
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: Run Stage
id: stage
uses: ./.github/actions/stage
with:
arm: true
from_artifact: true
- name: Sign Helium binaries
uses: azure/artifact-signing-action@v1
with:
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
endpoint: ${{ secrets.AZURE_SIGNING_ENDPOINT }}
signing-account-name: ${{ secrets.AZURE_SIGNING_ACCOUNT }}
certificate-profile-name: ${{ secrets.AZURE_SIGNING_CERTIFICATE_NAME }}
files: ${{ steps.stage.outputs.files-to-sign }}
description: Helium
description-url: https://github.com/imputnet/helium-windows
# we want a different description here, so sign it separately again
- name: Sign Helium update helper
uses: azure/artifact-signing-action@v1
with:
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
endpoint: ${{ secrets.AZURE_SIGNING_ENDPOINT }}
signing-account-name: ${{ secrets.AZURE_SIGNING_ACCOUNT }}
certificate-profile-name: ${{ secrets.AZURE_SIGNING_CERTIFICATE_NAME }}
files: C:\helium-windows\build\src\out\Default\helium_update_helper.exe
description: Helium Update Helper
description-url: https://github.com/imputnet/helium-windows
- name: Build Helium installer and package
id: stage2
uses: ./.github/actions/stage
with:
arm: true
gen_installer: true
from_artifact: false
- name: Sign Helium installer
uses: azure/artifact-signing-action@v1
with:
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
endpoint: ${{ secrets.AZURE_SIGNING_ENDPOINT }}
signing-account-name: ${{ secrets.AZURE_SIGNING_ACCOUNT }}
certificate-profile-name: ${{ secrets.AZURE_SIGNING_CERTIFICATE_NAME }}
files: C:\helium-windows\build\helium*-installer.exe
description: Helium Installer
description-url: https://github.com/imputnet/helium-windows
- name: Upload artifacts
id: stage3
uses: ./.github/actions/stage
with:
arm: true
upload_final: true
from_artifact: false
outputs:
finished: ${{ steps.stage3.outputs.finished }}
version: ${{ steps.stage3.outputs.version }}
publish-release:
needs: [build-final, build-arm-final]
if: ${{ inputs.do-release && !cancelled() && !failure()
&& needs.build-final.result == 'success'
&& needs.build-arm-final.result == 'success' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
fetch-tags: true
- 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: Create release notes
shell: bash
run: |
GH_RUN_HREF="https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}"
submodule_commit_at() {
git ls-tree "$1" helium-chromium | awk '{print $3}'
}
LAST_TAG=$(git describe --tags --abbrev=0)
COMMIT_THEN=$(submodule_commit_at "$LAST_TAG")
COMMIT_NOW=$(submodule_commit_at HEAD)
{
printf 'Changes since last build:\n### helium-windows\n```\n'
git log --oneline "$LAST_TAG..HEAD"
printf '```\n\n### helium-chromium\n```\n'
git -C helium-chromium log --oneline "$COMMIT_THEN..$COMMIT_NOW"
printf '```\n\n---\n\n'
printf 'See [this GitHub Actions Run](%s) for the [Workflow file](%s/workflow) used '
printf 'as well as the build logs and artifacts\n' "$GH_RUN_HREF" "$GH_RUN_HREF"
} | tee ./github_release_note.md
- name: Publish release
id: publish
uses: imputnet/action-gh-release@v2.5
with:
fail_on_unmatched_files: true
body_path: ./github_release_note.md
prerelease: true
name: ${{ needs.build-final.outputs.version }}
tag_name: ${{ needs.build-final.outputs.version }}
files: |
helium*
outputs:
assets: ${{ steps.publish.outputs.assets }}