70 lines
2.1 KiB
YAML
70 lines
2.1 KiB
YAML
|
# This pushes out a new npm release
|
||
|
# It will be triggered once the release draft is published
|
||
|
|
||
|
name: Publish release to npm
|
||
|
|
||
|
on:
|
||
|
release:
|
||
|
types:
|
||
|
- released
|
||
|
workflow_dispatch:
|
||
|
|
||
|
jobs:
|
||
|
npm-publish:
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
- name: Fetch repo
|
||
|
uses: actions/checkout@v4
|
||
|
with:
|
||
|
fetch-depth: 0
|
||
|
|
||
|
- name: Check if we are on correct commit
|
||
|
run: |
|
||
|
REL_VERSION=v$(jq -r '.version' package.json)
|
||
|
GIT_VERSION=$(git describe --tags)
|
||
|
echo "Release version ${REL_VERSION}"
|
||
|
echo "Git tag version ${GIT_VERSION}"
|
||
|
if [ "${REL_VERSION}" != "${GIT_VERSION}" ]; then \
|
||
|
echo "This is probably not what you want"; \
|
||
|
exit 1; \
|
||
|
fi
|
||
|
|
||
|
- name: Fetch dependencies
|
||
|
run: |
|
||
|
sudo apt update -y -q
|
||
|
sudo apt install python3-fontforge jq nodejs wkhtmltopdf -y -q
|
||
|
npm install nunjucks
|
||
|
|
||
|
# Ubuntu 20.04 has only fontforge release 2020, but there are some vital bugfixes in the 2023 release
|
||
|
# This can be replaced with the ordinary apt package when Ubuntu updates, probably with 23.10
|
||
|
# On the other hand ... why not be on the latest release always?
|
||
|
- name: Fetch FontForge
|
||
|
run: |
|
||
|
sudo apt install fuse -y -q
|
||
|
curl -L "https://github.com/fontforge/fontforge/releases/download/20230101/FontForge-2023-01-01-a1dad3e-x86_64.AppImage" \
|
||
|
--output fontforge
|
||
|
chmod u+x fontforge
|
||
|
echo Try appimage
|
||
|
./fontforge --version
|
||
|
export PATH=`pwd`:$PATH
|
||
|
echo "PATH=$PATH" >> $GITHUB_ENV
|
||
|
echo Try appimage with path
|
||
|
fontforge --version
|
||
|
|
||
|
- name: Setup .npmrc file to publish to npm
|
||
|
uses: actions/setup-node@v4
|
||
|
with:
|
||
|
node-version: '20.x'
|
||
|
registry-url: 'https://registry.npmjs.org'
|
||
|
|
||
|
- name: Build the artifacts
|
||
|
run: |
|
||
|
npm ci
|
||
|
make
|
||
|
|
||
|
- name: Publish to npm
|
||
|
run: |
|
||
|
npm publish
|
||
|
env:
|
||
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|