mirror of
https://github.com/storytold/figcraft.git
synced 2026-11-12 17:01:09 +00:00
release.yml also runs nightly on main with craft-common-actions' dry-run: every release build except macOS, with nothing signed, pushed or drafted. Breakage that only the release build hits (riscv64, Flatpak, FreeBSD, packaging) then shows up the next morning instead of on release day, as it did on 11 Nov 2026.
65 lines
2.7 KiB
YAML
65 lines
2.7 KiB
YAML
name: Release
|
|
|
|
on:
|
|
# A nightly dry run on main: every release build except macOS, nothing signed or released
|
|
# (craft-common-actions release.yml `dry-run`). Finds release-only breakage before release day.
|
|
schedule:
|
|
- cron: "40 1 * * *"
|
|
push:
|
|
branches: [release]
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: "Version override for a test run, e.g. 0.2.0-rc.1 (empty: Cargo.toml)"
|
|
type: string
|
|
default: ""
|
|
|
|
permissions:
|
|
contents: write
|
|
packages: write
|
|
|
|
concurrency:
|
|
group: release-${{ github.ref }}
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
# Regenerates contributors/contributors.json for the release commit; every build bundles it.
|
|
credits:
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
uses: storytold/craft-common-actions/.github/workflows/refresh-contributors.yml@main
|
|
release:
|
|
needs: credits
|
|
# Intentionally tracked at @main (not SHA-pinned) so org-wide CI improvements, security fixes, and build optimizations propagate without PR churn across all craftapp repos.
|
|
uses: storytold/craft-common-actions/.github/workflows/release.yml@main
|
|
with:
|
|
dry-run: ${{ github.event_name == 'schedule' }}
|
|
app-name: figcraft
|
|
app-title: FigCraft
|
|
# Combined Latin presentation and core UI catalog. Required web builds enforce
|
|
# Inter Regular/SemiBold and Noto Sans Georgian Regular after asset-policy filtering.
|
|
craft-fonts-ref: 37827adc41fd165f9a9234ac40f94dbad353aa69
|
|
has-server: true
|
|
# The browser has no system fonts: without craft-fonts the web build can't draw text (#885).
|
|
# crates/text/build.rs keeps the web allowlist small (Inter and Georgian).
|
|
web-craft-fonts: true
|
|
version: ${{ inputs.version }}
|
|
contributors-artifact: ${{ needs.credits.outputs.artifact-name }}
|
|
secrets:
|
|
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
|
|
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
|
|
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
|
|
APPLE_ID: ${{ secrets.APPLE_ID }}
|
|
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
|
|
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
|
WINDOWS_CERTIFICATE: ${{ secrets.WINDOWS_CERTIFICATE }}
|
|
WINDOWS_CERTIFICATE_PASSWORD: ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD }}
|
|
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
|
|
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
|
|
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
|
|
AZURE_SIGNING_ENDPOINT: ${{ secrets.AZURE_SIGNING_ENDPOINT }}
|
|
AZURE_SIGNING_ACCOUNT: ${{ secrets.AZURE_SIGNING_ACCOUNT }}
|
|
AZURE_CERT_PROFILE: ${{ secrets.AZURE_CERT_PROFILE }}
|
|
LINUX_SIGNING_KEY: ${{ secrets.LINUX_SIGNING_KEY }}
|