name: Deploy documentation website on AWS S3 on: push: branches: - main paths: - '.github/**' - 'apps/documentation/**' jobs: deploy-documentation: runs-on: ubuntu-latest defaults: run: working-directory: ./apps/documentation env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} steps: - name: Check out code uses: actions/checkout@v4 with: fetch-depth: 2 - name: Setup Node.js environment uses: actions/setup-node@v4 with: node-version: 20 - name: Setup rust uses: actions-rust-lang/setup-rust-toolchain@v1 - name: Install tuono run: cargo install tuono@0.10.0 - name: Install pnpm run: npm i -g pnpm - name: Install dependencies run: pnpm install --ignore-workspace - name: Build project run: tuono build --static - name: Deploy uses: reggionick/s3-deploy@v4 with: folder: apps/documentation/out/static bucket: tuono-documentation bucket-region: eu-west-3 dist-id: ${{ secrets.CLOUDFRONT_DISTRIBUTION_ID }} invalidation: / delete-removed: true no-cache: true private: true files-to-include: '{.*/**,**}'