maple-font/.github/workflows/custom.yml
2025-02-19 15:37:35 +08:00

94 lines
2.9 KiB
YAML
Executable file

name: Custom Build
on:
workflow_dispatch:
inputs:
cn:
description: 'Include Chinese version (add "--cn" to build args)'
required: false
default: false
type: boolean
normal:
description: 'Remove opinionated features (add "--normal" to build args)'
required: false
default: false
type: boolean
no_liga:
description: 'Remove ligatures (add "--no-liga" to build args)'
required: false
default: false
type: boolean
no_hinted:
description: 'Build unhinted font (add "--no-hinted" to build args)'
required: false
default: false
type: boolean
feat:
description: 'Enable features, split by `,`, e.g. "cv01,ss02" (add "--feat feat1,feat2" to build args)'
required: false
default: ''
type: string
build_args:
description: 'Other args for build.py'
required: false
default: ''
type: string
permissions:
contents: write
jobs:
custom-build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
cache-dependency-path: './requirements.txt'
- name: Install dependencies
run: pip install -r requirements.txt
- name: Run custom script
run: |
build_args="--archive"
if [ "${{ github.event.inputs.cn }}" == "true" ]; then
build_args="$build_args --cn"
fi
if [ "${{ github.event.inputs.normal }}" == "true" ]; then
build_args="$build_args --normal"
fi
if [ "${{ github.event.inputs.no_liga }}" == "true" ]; then
build_args="$build_args --no-liga"
fi
if [ "${{ github.event.inputs.no_hinted }}" == "true" ]; then
build_args="$build_args --no-hinted"
fi
if [ -n "${{ github.event.inputs.feat }}" ]; then
build_args="$build_args --feat ${{ github.event.inputs.feat }}"
fi
if [ -n "${{ github.event.inputs.build_args }}" ]; then
build_args="$build_args ${{ github.event.inputs.build_args }}"
fi
echo "BUILD_ARGS=$build_args" >> $GITHUB_ENV
python build.py $build_args
- name: Create release
run: |
echo "### Build arguments" >> NOTES
echo "\`\`\`" >> NOTES
echo "python build.py $BUILD_ARGS" >> NOTES
echo "\`\`\`" >> NOTES
echo "### Final Configuration" >> NOTES
echo "\`\`\`" >> NOTES
python build.py $BUILD_ARGS --dry >> NOTES
echo "\`\`\`" >> NOTES
gh release create "v$(date +%s)" fonts/archive/*.* --notes-file NOTES
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}