name: Website on: pull_request: types: [closed] branches: - master jobs: build: if: github.event.pull_request.merged && contains(github.event.head_commit.message, '[skip ci]') == false && contains(github.event.head_commit.message, '[skip release]') == false runs-on: ubuntu-18.04 env: CI: true strategy: matrix: node-version: [13.x] steps: - uses: actions/checkout@v1 - name: Setup Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - run: node -v - run: yarn -v - name: Get yarn cache id: yarn-cache run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v1 with: path: ${{ steps.yarn-cache.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Install dependencies run: yarn - name: Build website run: | yarn run build:templates yarn run build:website - name: Save website artifact if: matrix.node-version == '13.x' uses: actions/upload-artifact@v1 with: name: website path: docs deploy: needs: build runs-on: ubuntu-18.04 steps: - name: Download website artifact uses: actions/download-artifact@v1 with: name: website - name: Deploy website env: AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} run: | cd website aws s3 sync --region eu-west-1 --delete . s3://diff2html.xyz --metadata-directive REPLACE --cache-control max-age=31557600 aws cloudfront create-invalidation --region eu-west-1 --distribution-id ${{ secrets.AWS_CF_DISTRIBUTION_ID }} --paths /index.html /demo.html /sitemap.xml /robots.txt