towishy_Owen-Graphite/.github/workflows/release.yml
2026-06-18 19:21:47 +09:00

81 lines
2.7 KiB
YAML

name: Release
# Trigger when you push a numeric tag matching the manifest version (e.g., 3.1.49).
on:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]+"
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install validation dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
python -m playwright install --with-deps chromium
- name: Verify manifest version matches tag
run: |
MANIFEST_VERSION=$(jq -r .version manifest.json)
TAG_VERSION="${GITHUB_REF_NAME}"
echo "Manifest version: $MANIFEST_VERSION"
echo "Tag version: $TAG_VERSION (raw: ${GITHUB_REF_NAME})"
if [ "$MANIFEST_VERSION" != "$TAG_VERSION" ]; then
echo "::error::manifest.json version ($MANIFEST_VERSION) does not match git tag ($TAG_VERSION)"
exit 1
fi
- name: Validate theme package
run: python dev/scripts/release_check.py --tag "$GITHUB_REF_NAME"
- name: Build release notes
run: python dev/scripts/build_release_notes.py --output "dist/release-notes-${GITHUB_REF_NAME}.md"
- name: Build manual install ZIP
run: python dev/scripts/build_release.py
- name: Audit manual install ZIP
run: python dev/scripts/audit_release_zip.py
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
name: ${{ github.ref_name }}
tag_name: ${{ github.ref_name }}
body_path: dist/release-notes-${{ github.ref_name }}.md
files: |
theme.css
manifest.json
README.md
CHANGELOG.md
LICENSE
dev/WIKI/MAP/map-info-classification.md
dev/WIKI/MAP/theme-css-risk-map.html
dev/WIKI/MAP/theme-css-risk-map.json
screenshots/light.png
screenshots/dark.png
screenshots/fonts.png
screenshots/readme/owen-kit.png
screenshots/readme/workspace-chrome-connected-glass.svg
screenshots/readme/top-tabs-liquid-glass.svg
screenshots/readme/workspace-writing-surface.jpg
screenshots/readme/style-settings-report-options.jpg
screenshots/readme/pdf-customer-delivery-feature.png
screenshots/readme/owen-editor-toolbar-settings.jpg
screenshots/readme/file-explorer-type-badges.svg
screenshots/readme/sponsor-coffee.svg
dist/release-notes-*.md
dist/Owen-Graphite-*.zip