Skip to content

[AB2D-6208] Add github action #10

[AB2D-6208] Add github action

[AB2D-6208] Add github action #10

Workflow file for this run

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 "/*"