Make Script
component public
#162
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: | |
deploy: | |
name: Build and Deploy | |
runs-on: ubuntu-latest | |
steps: | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
if: ${{ github.event.pull_request.head.repo.full_name == 'vapor/design' && github.actor != 'dependabot[bot]' }} | |
with: | |
aws-access-key-id: ${{ secrets.DESIGN_DEPLOYER_AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.DESIGN_DEPLOYER_AWS_SECRET_ACCESS_KEY }} | |
aws-region: 'us-east-1' | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: npm | |
- name: Set up CloudFormation Lint | |
uses: ScottBrenner/cfn-lint-action@v2 | |
- name: Run CloudFormation Lint | |
run: cfn-lint -t stack.yml | |
- name: Build Publish website | |
run: swift run | |
- name: Install dependencies | |
run: npm install | |
- name: Build Node website | |
run: npm run build | |
- name: Create S3 Bucket | |
if: ${{ github.event.pull_request.head.repo.full_name == 'vapor/design' && github.actor != 'dependabot[bot]' }} | |
env: | |
BUCKET: ${{ format('vapor-design-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/design' && github.actor != 'dependabot[bot]' }} | |
uses: brokenhandsio/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
bucket-prefix: "vapor-design-pulls" | |
folder-to-copy: "./Output" | |
bucket-region: "us-east-1" |