mirror of
https://github.com/JS8Call-improved/JS8Call-improved
synced 2026-08-13 17:47:36 -04:00
80 lines
2.2 KiB
YAML
80 lines
2.2 KiB
YAML
permissions:
|
|
contents: read
|
|
attestations: write
|
|
id-token: write
|
|
|
|
name: CI Build for Linux amd64/aarch64
|
|
run-name: ${{ github.event.pull_request.title || github.ref_name }} CI Build for Linux
|
|
|
|
on:
|
|
push:
|
|
workflow_dispatch:
|
|
inputs:
|
|
environment:
|
|
description: 'Environment to run in'
|
|
type: environment
|
|
default: CI
|
|
required: false
|
|
pull_request:
|
|
workflow_call:
|
|
inputs:
|
|
environment:
|
|
description: 'Environment to run in'
|
|
required: false
|
|
type: string
|
|
default: CI
|
|
|
|
jobs:
|
|
build:
|
|
name: ${{ matrix.os }} (${{ matrix.arch }})
|
|
runs-on: ${{ matrix.os }}
|
|
environment: ${{ inputs.environment || 'CI' }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- { os: ubuntu-24.04, arch: x86_64 }
|
|
- { os: ubuntu-24.04-arm, arch: aarch64 }
|
|
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Build AppImage
|
|
run: bash .github/workflows/scripts/JS8Call-Build-AppImage.sh
|
|
|
|
- name: Import signing key (Release only)
|
|
if: ${{ inputs.environment == 'Release' }}
|
|
run: |
|
|
echo "${{ secrets.RELEASE_APPIMAGE_SIGNING_KEY }}" > /tmp/js8call.key.asc
|
|
echo "${{ secrets.RELEASE_APPIMAGE_SIGNING_PASS }}" | \
|
|
gpg --batch --yes --always-trust \
|
|
--passphrase-fd 0 \
|
|
--pinentry-mode loopback \
|
|
--import /tmp/js8call.key.asc
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Sign AppImage (Release only)
|
|
if: ${{ inputs.environment == 'Release' }}
|
|
run: |
|
|
gpg --batch --yes --pinentry-mode loopback \
|
|
--passphrase "${{ secrets.RELEASE_APPIMAGE_SIGNING_PASS }}" \
|
|
--detach-sign --armor \
|
|
~/JS8Call-*.AppImage
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Attest (Release only)
|
|
if: ${{ inputs.environment == 'Release' }}
|
|
uses: actions/attest@59d89421af93a897026c735860bf21b6eb4f7b26
|
|
with:
|
|
subject-path: ~/JS8Call-*.AppImage
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: JS8Call-${{ matrix.arch }}
|
|
path: ~/JS8Call-*.AppImage
|
|
archive: false
|