[AB2D-6208] Add github action #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: "Deploy to Dev" | |
on: | |
pull_request | |
# push: | |
# branches: | |
# - uswds-redesign | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
steps: | |
# Step 1: Checkout the repo | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# Step 3: Set up Node.js | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.nvmrc' | |
# node-version: 20 ## Using a .nvmrc file to stay in sync with the repo | |
# Step 2: Set up Ruby | |
- name: Set up ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true ## Runs 'bundle install' and caches installed gems automatically | |
# ruby-version: '3.3.5' ## Using a .ruby-version file to stay in sync with the repo | |
# Step 4: Install Ruby Gems | |
- name: Install jekyll and bundler | |
run: | | |
gem install bundler | |
bundle install | |
# Step 5: Install Node.js Dependencies | |
- name: Install npm dependencies | |
run: | | |
npm ci | |
# Step 6: Compile Assets | |
- name: Compile assets with Gulp | |
run: | | |
npm run gulp compile | |
# Step 7: Build Site | |
- name: Build the site | |
env: | |
JEKYLL_ENV: production | |
run: | | |
bundle exec jekyll build --baseurl /${{ github.event.number }} | |
# Step 8: Initialize AWS Connection | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-region: ${{ vars.AWS_REGION }} | |
role-to-assume: arn:aws:iam::${{ secrets.MGMT_ACCOUNT_ID }}:role/delegatedadmin/developer/ab2d-mgmt-github-actions | |
# Step 9: Deploy to S3 | |
# - name: Deploy the site | |
# run: | | |
# aws s3 sync _site/ s3://website-ab2d-east-impl/${{ github.event.number }}/ | |
# Step 10: Invalidate existing cache | |
# - name: Invalidate Cloudfront cache | |
# env: | |
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
# AWS_REGION: us-east-1 | |
# run: | | |
# aws cloudfront create-invalidation \ | |
# --distribution-id ${{ secrets.DISTRIBUTION_ID }} \ | |
# --paths "/*" | |