Files
gh-christianlouis-docuelevate/.github/workflows/release.yml
T
copilot-swe-agent[bot] d796206bf7 docs/ci: automate CHANGELOG updates and retroactively document post-v0.5.0 changes
- Fix semantic-release autoescape=true Jinja2 bug preventing CHANGELOG generation
- Add explicit changelog_file, mode=update, output_format=md to pyproject.toml
- Add fallback semantic-release changelog step in release.yml
- Manually true up CHANGELOG.md with comprehensive v0.40.0 retroactive entry covering
  all post-v0.5.0 additions: security middleware, 6 new storage providers, PDF processing
  improvements, dual-table status tracking, notification system, admin file manager,
  browser extension v1.1, path traversal fixes, and documentation additions
- Add Documentation-First Development section to CONTRIBUTING.md and AGENTIC_CODING.md
- Fix README.md quick-start commands and screenshots note
- Update TODO.md to reflect current version and completed tasks"

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-23 13:00:49 +00:00

78 lines
2.1 KiB
YAML

name: Semantic Release
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: write
issues: write
pull-requests: write
packages: write
jobs:
release:
name: Semantic Release
runs-on: ubuntu-latest
if: github.repository == 'christianlouis/DocuElevate'
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install python-semantic-release
- name: Configure Git
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Run Semantic Release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
semantic-release version --print
semantic-release version
semantic-release publish
- name: Update changelog if no new version was released
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if git diff --name-only HEAD~1 2>/dev/null | grep -q CHANGELOG.md; then
echo "CHANGELOG.md was already updated by semantic-release version"
else
semantic-release changelog
if ! git diff --quiet CHANGELOG.md; then
git add CHANGELOG.md
git commit -m "docs(changelog): update changelog [skip ci]"
git push
fi
fi
- name: Update build metadata files if changed
run: |
for f in VERSION BUILD_DATE GIT_SHA RUNTIME_INFO; do
if [ -f "$f" ]; then
git add -f "$f"
fi
done
if ! git diff --staged --quiet; then
git commit -m "chore(release): update build metadata files [skip ci]"
git push
fi