Upgrade Electron Build Pipeline + Windows Signing (#543)

- Adds Windows signing (via Azure Artifact Signing) instead of old
expired cert!
- Updates to native Windows build to use Artifact Signing, Instead of
old wine image
- Updates CI action and ruffle update to run on windows, update all
actions in buildapp
- Update to electron-builder 27 alpha to use Azure signing, builder
schema migration
- Fixes #146
This commit is contained in:
Ilya Kreymer
2026-08-10 10:40:14 -07:00
committed by GitHub
parent c5c2f2a57c
commit 71f2a65479
4 changed files with 611 additions and 1476 deletions
+22 -72
View File
@@ -8,26 +8,22 @@ jobs:
strategy:
matrix:
os: [macos-14, ubuntu-latest]
platform: [windows, linux]
exclude:
- os: macos-14
platform: windows
os: [macos-14, ubuntu-latest, windows-latest]
steps:
- name: Check out Git repository
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v7
with:
node-version: 24
- name: Set up corepack
run: corepack enable yarn
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v6
with:
node-version: 22
- name: Cache Dirs
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: |
~/.cache/electron
@@ -38,7 +34,8 @@ jobs:
- name: Update Ruffle
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: node --run update-ruffle
run: ruffle/download-latest-ruffle.sh
shell: bash
- name: Run Build
env:
@@ -47,67 +44,20 @@ jobs:
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
CSC_LINK: ${{ secrets.CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
WIN_CSC_LINK: ${{ secrets.WIN_CSC_LINK }}
WIN_CSC_KEY_PASSWORD: ${{ secrets.WIN_CSC_KEY_PASSWORD }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
PLATFORM: ${{ matrix.platform }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
shell: bash
run: |
if [ "$GITHUB_REF" == "refs/heads/main" ] || [ -f ./force_release ]; then
export BUILD_CMD="release"
else
export BUILD_CMD="dist"
fi
#if [ "$RUNNER_OS" != "Linux" ]; then
# sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
# sudo xcode-select -s "/Applications/Xcode_12.3.app"
#fi
if [ "$GITHUB_REF" == "refs/heads/main" ] || [ -f ./force_release ]; then
export BUILD_CMD="release"
else
export BUILD_CMD="dist"
fi
if [ "$RUNNER_OS" == "Linux" ]; then
if [ "$PLATFORM" == "linux" ]; then
#mkdir -p plugins-linux;
#pushd plugins-linux;
#wget "https://s3.amazonaws.com/webrecorder-builds/flashplugin/libpepflashplayer.so";
#popd;
docker run --rm \
-e CI=${CI} \
-e GH_TOKEN=${GH_TOKEN} \
-e BUILD_CMD=${BUILD_CMD} \
-v ${PWD}:/project \
-v ~/.cache/electron:/root/.cache/electron \
-v ~/.cache/electron-builder:/root/.cache/electron-builder \
electronuserland/builder:22-wine \
/bin/bash -c "corepack enable yarn && yarn install --immutable && yarn run $BUILD_CMD --linux --x64"
else
#mkdir -p plugins-win;
#pushd plugins-win;
#wget "https://s3.amazonaws.com/webrecorder-builds/flashplugin/pepflashplayer-x86_64.dll";
#wget "https://s3.amazonaws.com/webrecorder-builds/flashplugin/pepflashplayer-x86.dll";
#popd;
docker run --rm \
-e CI=${CI} \
-e GH_TOKEN=${GH_TOKEN} \
-e WIN_CSC_LINK=${WIN_CSC_LINK} \
-e WIN_CSC_KEY_PASSWORD=${WIN_CSC_KEY_PASSWORD} \
-e BUILD_CMD=${BUILD_CMD} \
-v ${PWD}:/project \
-v ~/.cache/electron:/root/.cache/electron \
-v ~/.cache/electron-builder:/root/.cache/electron-builder \
electronuserland/builder:22-wine \
/bin/bash -c "corepack enable yarn && yarn install --immutable && yarn run $BUILD_CMD --win --x64 --ia32"
fi
else
#mkdir -p plugins-mac;
#pushd plugins-mac;
#wget "https://s3.amazonaws.com/webrecorder-builds/flashplugin/PepperFlashPlayer.plugin.zip";
#unzip PepperFlashPlayer.plugin.zip;
#rm PepperFlashPlayer.plugin.zip;
#popd;
yarn install --immutable
yarn run $BUILD_CMD
fi
yarn install --immutable
yarn run $BUILD_CMD