name: Release the website on: push: branches: - main jobs: build_and_release: runs-on: ubuntu-latest steps: - name: Set up git repository uses: actions/checkout@v3 - name: Print dependency versions uses: addnab/docker-run-action@v3 with: image: ghcr.io/hendricius/the-sourdough-framework:latest options: -v ${{ github.workspace }}:/app run: | cd /app/book make show_tools_version - name: Print build variables uses: addnab/docker-run-action@v3 with: image: ghcr.io/hendricius/the-sourdough-framework:latest options: -v ${{ github.workspace }}:/app run: | cd /app/book make printvars - name: Bake the book uses: addnab/docker-run-action@v3 with: image: ghcr.io/hendricius/the-sourdough-framework:latest options: -v ${{ github.workspace }}:/app run: | cd /app/book make website - name: Release baked website to S3 uses: shallwefootball/s3-upload-action@master with: aws_key_id: ${{ secrets.AWS_KEY_ID }} aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}} aws_bucket: ${{ secrets.AWS_BUCKET_WEBSITE }} source_dir: website/static_website_html destination_dir: static_html_root - name: Invalidate Cloudfront website cache uses: chetan/invalidate-cloudfront-action@v2 env: DISTRIBUTION: ${{ secrets.CLOUDFRONT_DISTRIBUTION_WEBSITE }} PATHS: "/*" AWS_REGION: "us-east-1" AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}