1.3.3 (#1117) #192
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
branches: | |
- "main" | |
workflow_dispatch: | |
jobs: | |
publish_windows: | |
name: "Publish Windows" | |
runs-on: windows-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Install Node.js and NPM | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install dependencies | |
# npm ci is better, but requires package-lock.json file | |
run: npm install | |
- name: Build and release app | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
CSC_LINK: ${{ secrets.CSC_LINK }} | |
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }} | |
run: npm run release | |
publish_linux: | |
name: "Publish Linux x64" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Install Node.js and NPM | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install libraries | |
run: sudo apt-get install libfontconfig1-dev | |
- name: Install dependencies | |
run: npm install | |
- name: Build and release app | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: npm run release | |
# This needs it's own build | |
# https://github.com/ChurchApps/FreeShow/issues/562 | |
publish_linux_arm: | |
name: "Publish Linux arm64" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: find release | |
run: echo "RELEASE_NAME=$(jq -r .version package.json)" >> "$GITHUB_ENV" | |
- name: Install Node.js and NPM | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
architecture: 'arm64' | |
- uses: uraimo/run-on-arch-action@v2 | |
name: Run commands | |
id: runcmd | |
with: | |
arch: aarch64 | |
distro: ubuntu22.04 | |
# Create an artifacts directory | |
setup: | | |
mkdir -p "${PWD}/artifacts" | |
# Mount the artifacts directory as /artifacts in the container | |
dockerRunArgs: | | |
--volume "${PWD}/artifacts:/artifacts" | |
env: | | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
githubToken: ${{ github.token }} | |
install: | | |
echo apt update | |
apt -q update | |
echo apt install | |
apt -q install -y wget git python3 make g++ ruby-dev build-essential jq libfontconfig1-dev | |
# https://github.com/electron-userland/electron-builder/issues/6116#issuecomment-1091205145 | |
gem install fpm | |
run: | | |
echo fetch nodejs | |
mkdir tools | |
cd tools | |
wget -q https://github.com/actions/node-versions/releases/download/20.15.0-9607683765/node-20.15.0-linux-arm64.tar.gz | |
echo unpack | |
tar xzf node-20.15.0-linux-arm64.tar.gz | |
cd .. | |
export PATH=`pwd`/tools/bin:$PATH | |
echo $PATH | |
echo npm install | |
tools/bin/npm install | |
sleep 30 | |
echo npm run release | |
export USE_SYSTEM_FPM=true | |
tools/bin/npm run release:arm64 | |
cp dist/*.AppImage /artifacts/ | |
- name: 'Upload Artifact' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: FreeShow-arm64-${{ env.RELEASE_NAME }} | |
path: artifacts/FreeShow*AppImage | |
publish_mac: | |
name: "Publish MacOS" | |
runs-on: macos-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Install Node.js and NPM | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
# Change Python version: https://github.com/nodejs/node-gyp/issues/2869 | |
- name: Install Python 3.11 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
# This probably does not make any difference. | |
- name: Install node-gyp | |
run: npm install -g node-gyp | |
- name: Install dependencies | |
run: npm install | |
- name: Install dmg-license | |
run: npm i dmg-license | |
# for some reason the build command don't continue after the rollup build | |
- name: Sleep for 5 minutes | |
run: sleep 300 | |
shell: bash | |
- name: Build and release app | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
CSC_LINK: ${{ secrets.CSC_LINK }} | |
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }} | |
APPLE_ID: ${{ secrets.APPLEID }} | |
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLEIDPASS }} | |
APPLE_TEAM_ID: ${{ secrets.APPLETEAMID }} | |
run: npm run release |