Skip to content

1.3.3 (#1117)

1.3.3 (#1117) #192

Workflow file for this run

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