Skip to content

feat: Publish documentation to public distribution #47

feat: Publish documentation to public distribution

feat: Publish documentation to public distribution #47

name: Generate Documentation
on:
pull_request:
paths:
- .github/workflows/generate-documentation.yml
- scripts/generatedocc.sh
- scripts/generatedoccindex.sh
release:
types: [published]
permissions:
id-token: write
jobs:
versioning:
runs-on: macos-13
outputs:
VERSION: ${{ steps.update-version.outputs.VERSION }}
steps:
- uses: actions/checkout@v2
- name: Extract version from GITHUB_REF
id: update-version
run: |
if [[ $GITHUB_REF == refs/tags/* ]]; then
echo "Tagged release"
# get last part of GITHUB_REF separated by /
VERSION=$(echo $GITHUB_REF | tr '/' '\n' | tail -1)
echo "Version: $VERSION"
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
else
echo "Pull request"
VERSION=${{ github.head_ref }}
echo "Version: $VERSION"
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
fi
generate-docs:
needs: versioning
strategy:
matrix:
# Use strategy to split up the work into 32 jobs
job: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]
runs-on: macos-13
steps:
- name: Checkout Sources
uses: actions/checkout@v2
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: ${{ secrets.CD_API_REFS_PUBLISH_ROLE_ARN }}
aws-region: us-east-1
- name: Generate docs
run: |
./scripts/generatedocc.sh ${{ needs.versioning.outputs.VERSION }} ${{ matrix.job }} ${{ strategy.job-total }} ${{ env.IGNORE }}