Files
Sharepoint-Toolbox/.gitea/workflows/release.yml
Dev 724fdc550d chore: complete v1.0 milestone
Archive 5 phases (36 plans) to milestones/v1.0-phases/.
Archive roadmap, requirements, and audit to milestones/.
Evolve PROJECT.md with shipped state and validated requirements.
Collapse ROADMAP.md to one-line milestone summary.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 09:19:03 +02:00

62 lines
2.2 KiB
YAML

name: Release SharePoint Toolbox v2
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: native
steps:
- name: Checkout
run: |
git clone "$GITEA_SERVER_URL/$GITEA_REPO.git" repo
cd repo && git checkout "$GITEA_REF_NAME"
env:
GITEA_SERVER_URL: ${{ gitea.server_url }}
GITEA_REPO: ${{ gitea.repository }}
GITEA_REF_NAME: ${{ gitea.ref_name }}
- name: Publish self-contained EXE
run: |
cd repo
dotnet publish SharepointToolbox/SharepointToolbox.csproj \
-c Release \
-p:PublishSingleFile=true \
-o publish
- name: Build zip
run: |
cd repo
VERSION="${{ gitea.ref_name }}"
ZIP="SharePoint_Toolbox_${VERSION}.zip"
mkdir -p package/examples
cp publish/SharepointToolbox.exe package/
cp SharepointToolbox/Resources/*.csv package/examples/
cd package
zip -r "../../${ZIP}" .
cd ../..
echo "ZIP=${ZIP}" >> "$GITHUB_ENV"
echo "VERSION=${VERSION}" >> "$GITHUB_ENV"
- name: Create release
run: |
RELEASE_ID=$(curl -sf -X POST \
"${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}/releases" \
-H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \
-H "Content-Type: application/json" \
-d "{\"tag_name\":\"${{ env.VERSION }}\",\"name\":\"SharePoint Toolbox ${{ env.VERSION }}\",\"body\":\"## Installation\\n\\n1. Download and extract the archive\\n2. Launch **SharepointToolbox.exe** (no .NET runtime required)\\n\\n## Included\\n\\n- SharepointToolbox.exe — self-contained desktop application\\n- examples/ — sample CSV templates for bulk operations\\n\"}" \
| python3 -c "import sys,json; print(json.load(sys.stdin)['id'])")
echo "RELEASE_ID=${RELEASE_ID}" >> "$GITHUB_ENV"
- name: Upload asset
run: |
curl -sf -X POST \
"${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}/releases/${{ env.RELEASE_ID }}/assets" \
-H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \
-F "attachment=@${{ env.ZIP }}"