name: deploy stage website from master branch on: push: branches: - master jobs: build-static-page: name: build runs-on: ubuntu-18.04 timeout-minutes: 10 env: DOCKER_BUILDKIT: '1' steps: - name: print docker info run: docker version && docker info - uses: actions/checkout@v2 - name: build current docs run: docker build --target=deploy-source --output=./_site . - name: upload files to S3 bucket run: aws s3 sync --acl public-read _site s3://docs.docker.com-stage-us-east-1/ --delete env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} if: github.repository == 'docker/docker.github.io' && github.event_name == 'push' - name: update S3 website config uses: ./.github/actions/update-website-config with: bucketName: docs.docker.com-stage-us-east-1 regionName: us-east-1 websiteConfig: _website-config-docs-stage.json env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} if: github.repository == 'docker/docker.github.io' && github.event_name == 'push' - name: invalidate docs website cache run: aws --region us-east-1 lambda invoke --function-name arn:aws:lambda:us-east-1:710015040892:function:docs-stage-cache-invalidator response.json env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} if: github.repository == 'docker/docker.github.io' && github.event_name == 'push' - name: send slack notification run: | curl -X POST -H 'Content-type: application/json' --data '{"text":"Successfully promoted docs-stage from master. https://docs-stage.docker.com/"}' $SLACK env: SLACK: ${{ secrets.SLACK_WEBHOOK }} if: github.repository == 'docker/docker.github.io' && github.event_name == 'push'