Merge pull request #7091 from emmanuel-ferdman/main #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Update the www.libgit2.org reference documentation | |
| name: Generate Documentation | |
| on: | |
| push: | |
| branches: [ main ] | |
| release: | |
| workflow_dispatch: | |
| inputs: | |
| force: | |
| description: 'Force rebuild' | |
| type: boolean | |
| required: true | |
| concurrency: | |
| group: documentation | |
| permissions: | |
| contents: read | |
| jobs: | |
| documentation: | |
| name: "Generate documentation" | |
| runs-on: "ubuntu-latest" | |
| steps: | |
| - name: Check out source repository | |
| uses: actions/checkout@v4 | |
| with: | |
| path: source | |
| fetch-depth: 0 | |
| - name: Check out documentation repository | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: libgit2/www.libgit2.org | |
| path: www | |
| fetch-depth: 0 | |
| ssh-key: ${{ secrets.DOCS_PUBLISH_KEY }} | |
| - name: Prepare branches | |
| run: | | |
| for a in main $(git branch -r --list 'origin/maint/*' | sed -e "s/^ origin\///"); do | |
| if [ "$(git rev-parse --abbrev-ref HEAD)" != "${a}" ]; then | |
| git branch --track "$a" "origin/$a" | |
| fi | |
| done | |
| working-directory: source | |
| - name: Generate documentation | |
| run: | | |
| args="" | |
| if [ "${{ inputs.force }}" = "true" ]; then | |
| args="--force" | |
| fi | |
| npm install | |
| ./generate --verbose $args ../.. ../../../www/docs | |
| working-directory: source/script/api-docs | |
| - name: Examine changes | |
| run: | | |
| if [ -n "$(git diff --name-only)" ]; then | |
| echo "changes=true" >> $GITHUB_OUTPUT | |
| else | |
| echo "changes=false" >> $GITHUB_OUTPUT | |
| fi | |
| id: check | |
| working-directory: www | |
| - name: Publish documentation | |
| run: | | |
| DATE=$(date +"%Y-%m-%d") | |
| git config user.name 'Documentation Site Generator' | |
| git config user.email 'libgit2@users.noreply.github.com' | |
| git add . | |
| git commit -m"Documentation update ${DATE}" | |
| git push origin main | |
| if: steps.check.outputs.changes == 'true' | |
| working-directory: www |