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>
62 lines
2.2 KiB
YAML
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 }}"
|