refactor: update release workflow to improve tagging and asset packaging
Some checks failed
Build & Release Plugin / release (push) Failing after 4s

This commit is contained in:
2026-02-01 01:11:15 +00:00
parent 2f0a44706b
commit f2a39e4660

View File

@@ -1,17 +1,23 @@
name: Generate Manifest & Tag name: Build & Release Plugin
on: on:
workflow_dispatch: workflow_dispatch:
inputs:
release_notes:
description: 'Optionele release-opmerkingen'
required: false
push: push:
branches: branches:
- main - main
paths: paths:
- 'groq-ai-product-text.php' - 'groq-ai-product-text.php'
- 'manifest.json' - 'includes/**'
- 'assets/**'
- 'README.md'
- '.github/workflows/release.yml' - '.github/workflows/release.yml'
jobs: jobs:
tag: release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: write contents: write
@@ -63,11 +69,6 @@ jobs:
print('manifest.json aangemaakt/bijgewerkt') print('manifest.json aangemaakt/bijgewerkt')
PY PY
- name: Toon manifest.json
run: |
echo "manifest.json inhoud:"
cat manifest.json
- name: Commit & push manifest.json - name: Commit & push manifest.json
run: | run: |
if git diff --quiet -- manifest.json; then if git diff --quiet -- manifest.json; then
@@ -85,8 +86,7 @@ jobs:
id: tagcheck id: tagcheck
run: | run: |
TAG="v${{ steps.meta.outputs.version }}" TAG="v${{ steps.meta.outputs.version }}"
git fetch --tags --force if git ls-remote --tags origin "refs/tags/$TAG" | grep -q "refs/tags/$TAG$"; then
if git tag -l "$TAG" | grep -qx "$TAG"; then
echo "exists=true" >> "$GITHUB_OUTPUT" echo "exists=true" >> "$GITHUB_OUTPUT"
else else
echo "exists=false" >> "$GITHUB_OUTPUT" echo "exists=false" >> "$GITHUB_OUTPUT"
@@ -95,24 +95,52 @@ jobs:
- name: Tag bestaat al workflow afronden - name: Tag bestaat al workflow afronden
if: steps.tagcheck.outputs.exists == 'true' if: steps.tagcheck.outputs.exists == 'true'
run: | run: |
echo "Tag v${{ steps.meta.outputs.version }} bestaat al. Tag wordt overgeslagen." echo "Tag v${{ steps.meta.outputs.version }} bestaat al. Release wordt overgeslagen."
- name: Maak Gitea tag - name: Build distributie-zip
if: steps.tagcheck.outputs.exists == 'false' if: steps.tagcheck.outputs.exists == 'false'
env: id: package
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_SERVER_URL: ${{ vars.GITEA_SERVER_URL }}
GITEA_REPOSITORY: ${{ vars.GITEA_REPOSITORY }}
run: | run: |
VERSION="${{ steps.meta.outputs.version }}" VERSION="${{ steps.meta.outputs.version }}"
TAG="v$VERSION" SLUG="siti-ai-product-content-generator"
BUILD_ROOT="$RUNNER_TEMP/build"
DEST_DIR="$BUILD_ROOT/$SLUG"
mkdir -p "$DEST_DIR"
git tag -a "$TAG" -m "$TAG" rsync -a ./ "$DEST_DIR" \
if [ -n "$GITEA_TOKEN" ] && [ -n "$GITEA_SERVER_URL" ] && [ -n "$GITEA_REPOSITORY" ]; then --exclude '.git/' \
HOST="${GITEA_SERVER_URL#https://}" --exclude '.github/' \
HOST="${HOST#http://}" --exclude 'docker/' \
AUTH_URL="https://oauth2:${GITEA_TOKEN}@${HOST}/${GITEA_REPOSITORY}.git" --exclude 'docs/' \
git push "$AUTH_URL" "$TAG" --exclude 'dist/' \
--exclude 'docker-compose.yml' \
--exclude 'PLAN.md'
mkdir -p dist
ZIP_PATH="dist/${SLUG}-${VERSION}.zip"
(cd "$BUILD_ROOT" && zip -r "$GITHUB_WORKSPACE/$ZIP_PATH" "$SLUG")
echo "asset_path=$ZIP_PATH" >> "$GITHUB_OUTPUT"
echo "asset_name=${SLUG}-${VERSION}.zip" >> "$GITHUB_OUTPUT"
- name: Stel release-body samen
if: steps.tagcheck.outputs.exists == 'false'
id: releasebody
run: |
if [ -n "$RELEASE_NOTES" ]; then
echo "text=$RELEASE_NOTES" >> "$GITHUB_OUTPUT"
else else
git push origin "$TAG" echo "text=Automatische release op basis van versie ${{ steps.meta.outputs.version }}." >> "$GITHUB_OUTPUT"
fi fi
env:
RELEASE_NOTES: ${{ github.event.inputs.release_notes }}
- name: Maak GitHub release
if: steps.tagcheck.outputs.exists == 'false'
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ steps.meta.outputs.version }}
name: Siti AI Product Teksten v${{ steps.meta.outputs.version }}
body: ${{ steps.releasebody.outputs.text }}
generate_release_notes: true
files: ${{ steps.package.outputs.asset_path }}