name: Build and Publish Docs site run-name: docusaurus build docs site on: push: branches: - main schedule: - cron: '0 */6 * * *' # every six hours on the hour jobs: build-docs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 20 cache: npm - name: install necessary tools run: | apt update -y && apt install -y rsync python3 python3-pip python-is-python3 pip install awscli - name: prepare nightly docs run: | make prepare-latest make prepare-latest-zh-cn - name: prepare 1.22 docs run: | make prepare\#22 make prepare-zh-cn\#22 - name: prepare 1.21 docs run: | make prepare\#21 make prepare-zh-cn\#21 - name: prepare 1.20 docs run: | make prepare\#20 make prepare-zh-cn\#20 - name: prepare 1.19 docs run: | make prepare\#19 make prepare-zh-cn\#19 - name: prepare awesome list run: | make prepare-awesome-latest prepare-awesome\#22 prepare-awesome\#21 prepare-awesome\#20 prepare-awesome\#19 - name: build site run: | make build - name: aws credential configure uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ secrets.AWS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY}} aws-region: ${{ secrets.AWS_REGION}} - name: Copy files to the production website with the AWS CLI run: | aws s3 sync build/ s3://docs-gitea-com aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_DISTRIBUTION}} --paths '/*'