mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-13 23:35:10 +00:00
affinity-corpus.yml ran a local job; it now calls craft-common-actions gate.yml with the same toolchain (1.95), environment and commands, and a cache of its own. release.yml's git-sources copy is removed: the shared release.yml runs the same check before any build.
65 lines
2.5 KiB
YAML
65 lines
2.5 KiB
YAML
# Release pipeline: every push to `release` builds signed installers for every platform and
|
|
# creates or updates the draft GitHub Release "VectorCraft v<version>". See docs/releasing.md.
|
|
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: "52 2 * * *"
|
|
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: read
|
|
|
|
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
|
|
permissions:
|
|
contents: write
|
|
packages: write
|
|
# 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: vectorcraft
|
|
app-title: VectorCraft
|
|
craft-fonts-ref: b076417b5880bd4154bd22f00695b1d28c6bea83
|
|
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_CERT_PROFILE: ${{ secrets.AZURE_CERT_PROFILE }}
|
|
LINUX_SIGNING_KEY: ${{ secrets.LINUX_SIGNING_KEY }}
|
|
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
|
|
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
|
|
AZURE_SIGNING_ACCOUNT: ${{ secrets.AZURE_SIGNING_ACCOUNT }}
|
|
AZURE_SIGNING_ENDPOINT: ${{ secrets.AZURE_SIGNING_ENDPOINT }}
|
|
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
|