chore(ci): customize shell per platform

This commit is contained in:
Elian Doran 2025-03-24 17:10:19 +02:00
parent 9aaada3f6e
commit d942daea94
No known key found for this signature in database
4 changed files with 21 additions and 8 deletions

View File

@ -11,6 +11,9 @@ inputs:
extension:
description: "Platform specific extensions to copy in the output: dmg, deb, rpm, exe, zip"
required: true
shell:
description: "Which shell to use"
required: true
forge_platform:
required: true
@ -40,21 +43,21 @@ runs:
- name: Verify certificates
if: inputs.os == 'macos'
shell: cmd
shell: ${{ inputs.shell }}
run: |
echo "Available signing identities:"
security find-identity -v -p codesigning build.keychain
- name: Set up Python and other macOS dependencies
if: ${{ inputs.os == 'macos' }}
shell: cmd
shell: ${{ inputs.shell }}
run: |
brew install python-setuptools
brew install create-dmg
- name: Install dependencies for RPM and Flatpak package building
if: ${{ inputs.os == 'linux' }}
shell: cmd
shell: ${{ inputs.shell }}
run: |
sudo apt-get update && sudo apt-get install rpm flatpak-builder elfutils
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
@ -64,16 +67,16 @@ runs:
# Build setup
- name: Install dependencies
shell: cmd
shell: ${{ inputs.shell }}
run: npm ci
- name: Update build info
shell: cmd
shell: ${{ inputs.shell }}
run: npm run chore:update-build-info
# Critical debugging configuration
- name: Run electron-forge build with enhanced logging
shell: cmd
shell: ${{ inputs.shell }}
env:
# Pass through required environment variables for signing and notarization
APPLE_TEAM_ID: ${{ env.APPLE_TEAM_ID }}
@ -88,7 +91,7 @@ runs:
# Add DMG signing step
- name: Sign DMG
if: inputs.os == 'macos'
shell: cmd
shell: ${{ inputs.shell }}
run: |
echo "Signing DMG file..."
dmg_file=$(find ./dist -name "*.dmg" -print -quit)
@ -113,7 +116,7 @@ runs:
- name: Verify code signing
if: inputs.os == 'macos'
shell: cmd
shell: ${{ inputs.shell }}
run: |
echo "Verifying code signing for all artifacts..."

View File

@ -24,12 +24,15 @@ jobs:
- name: macos
image: macos-latest
extension: [dmg, zip]
shell: bash
- name: linux
image: ubuntu-latest
extension: [deb, rpm, zip, flatpak]
shell: bash
- name: windows
image: windows-latest
extension: [exe, zip]
shell: cmd
runs-on: ${{ matrix.os.image }}
steps:
- uses: actions/checkout@v4
@ -43,6 +46,7 @@ jobs:
os: ${{ matrix.os.name }}
arch: ${{ matrix.arch }}
extension: ${{ matrix.os.extension }}
shell: ${{ matrix.os.shell }}
env:
APPLE_APP_CERTIFICATE_BASE64: ${{ secrets.APPLE_APP_CERTIFICATE_BASE64 }}
APPLE_APP_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_APP_CERTIFICATE_PASSWORD }}

View File

@ -25,6 +25,7 @@ jobs:
image: win-signing
extension: [exe, zip]
forge_platform: win32
shell: cmd
runs-on: ${{ matrix.os.image }}
steps:
- uses: actions/checkout@v4
@ -42,6 +43,7 @@ jobs:
os: ${{ matrix.os.name }}
arch: ${{ matrix.arch }}
extension: ${{ join(matrix.os.extension, ' ') }}
shell: ${{ matrix.os.shell }}
env:
APPLE_APP_CERTIFICATE_BASE64: ${{ secrets.APPLE_APP_CERTIFICATE_BASE64 }}
APPLE_APP_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_APP_CERTIFICATE_PASSWORD }}

View File

@ -21,12 +21,15 @@ jobs:
- name: macos
image: macos-latest
extension: [dmg, zip]
shell: bash
- name: linux
image: ubuntu-latest
extension: [deb, rpm, zip, flatpak]
shell: bash
- name: windows
image: windows-latest
extension: [exe, zip]
shell: cmd
runs-on: ${{ matrix.os.image }}
steps:
- uses: actions/checkout@v4
@ -40,6 +43,7 @@ jobs:
os: ${{ matrix.os.name }}
arch: ${{ matrix.arch }}
extension: ${{ join(matrix.os.extension, ' ') }}
shell: ${{ matrix.os.shell }}
env:
APPLE_APP_CERTIFICATE_BASE64: ${{ secrets.APPLE_APP_CERTIFICATE_BASE64 }}
APPLE_APP_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_APP_CERTIFICATE_PASSWORD }}