From d9584410af9f93cb0325ed84fbfdf173ac4f037d Mon Sep 17 00:00:00 2001 From: skylartaylor <26588250+skylartaylor@users.noreply.github.com> Date: Fri, 16 Oct 2026 05:24:23 +0200 Subject: [PATCH] ci: retain FigCraft package and metadata checks --- .github/workflows/freebsd.yml | 3 +++ .github/workflows/packaging-lint.yml | 2 ++ packaging/check-app-specific.sh | 24 ++++++++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 packaging/check-app-specific.sh diff --git a/.github/workflows/freebsd.yml b/.github/workflows/freebsd.yml index 04f1f8a2..ca0cd49f 100644 --- a/.github/workflows/freebsd.yml +++ b/.github/workflows/freebsd.yml @@ -10,6 +10,8 @@ name: FreeBSD on: schedule: - cron: "17 2 * * *" + push: + branches: [release] pull_request: paths: - .github/workflows/freebsd.yml @@ -30,4 +32,5 @@ jobs: uses: storytold/craft-common-actions/.github/workflows/freebsd.yml@main with: freebsd-release: "14.3" + run-package-check: true craft-fonts-ref: 43913056ce82a3fdad0ef69f6b88d1dc922a8104 diff --git a/.github/workflows/packaging-lint.yml b/.github/workflows/packaging-lint.yml index f54b0538..38698902 100644 --- a/.github/workflows/packaging-lint.yml +++ b/.github/workflows/packaging-lint.yml @@ -21,3 +21,5 @@ jobs: lint: # 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/packaging-lint.yml@main + with: + extra-checks-script: packaging/check-app-specific.sh diff --git a/packaging/check-app-specific.sh b/packaging/check-app-specific.sh new file mode 100644 index 00000000..ebf23c0b --- /dev/null +++ b/packaging/check-app-specific.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# App-specific checks retained alongside shared packaging lint. +set -euo pipefail +cd "$(dirname "${BASH_SOURCE[0]}")/.." + +bash packaging/server/install-test.sh +if grep -rniE 'photoshop|psd|photocraft|vectorcraft|illustrator|adobe|figma' packaging/ .github/ \ + --exclude=packaging-lint.yml --exclude=check-app-specific.sh; then + echo "::error::package metadata mentions another product (see above)" + exit 1 +fi + +python3 - <<'PYEOF' +import yaml +manifests = [] +for name in ("ai.storyteller.figcraft.yml", "ai.storyteller.figcraft.bundle.yml"): + with open("packaging/linux/flatpak/" + name) as source: + manifest = yaml.safe_load(source) + assert manifest["id"] == "ai.storyteller.figcraft" and manifest["command"] == "figcraft", name + manifests.append(manifest) +for key in ("runtime", "runtime-version", "sdk", "finish-args"): + assert manifests[0][key] == manifests[1][key], f"Flatpak manifests disagree on {key}" +print("FigCraft package identity ok") +PYEOF