A new home #10
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: PR | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build: | |
name: Build and Deploy PR | |
runs-on: ubuntu-latest | |
permissions: { id-token: write, contents: read } | |
steps: | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
if: ${{ github.event.pull_request.head.repo.full_name == 'vapor/blog' && github.actor != 'dependabot[bot]' }} | |
with: | |
role-to-assume: ${{ vars.OIDC_ROLE_ARN }} | |
aws-region: ${{ vars.OIDC_ROLE_REGION }} | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Setup CloudFormation linter | |
uses: ScottBrenner/cfn-lint-action@v2 | |
- name: Run CloudFormation linter | |
run: cfn-lint -t stack.yml | |
- name: Build site | |
run: swift run | |
- name: Create S3 Bucket | |
if: ${{ github.event.pull_request.head.repo.full_name == 'vapor/website' && github.actor != 'dependabot[bot]' }} | |
env: | |
BUCKET: ${{ format('vapor-website-pulls-pr{0}', github.event.number) }} | |
run: | | |
if aws s3api head-bucket --bucket ${BUCKET} 2>/dev/null; then | |
echo "Bucket already exists" | |
else | |
aws s3 mb s3://${BUCKET} | |
aws s3api delete-public-access-block --bucket ${BUCKET} | |
aws s3api delete-bucket-ownership-controls --bucket ${BUCKET} | |
aws s3api put-bucket-website --bucket ${BUCKET} \ | |
--website-configuration '{"IndexDocument":{"Suffix":"index.html"},"ErrorDocument":{"Key":"404.html"}}' | |
fi | |
- name: Deploy S3 Website | |
if: ${{ github.event.pull_request.head.repo.full_name == 'vapor/website' && github.actor != 'dependabot[bot]' }} | |
uses: brokenhandsio/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
bucket-prefix: "vapor-website-pulls" | |
folder-to-copy: "./Output" | |
bucket-region: "eu-west-2" |