This repository has been archived by the owner on May 22, 2024. It is now read-only.
build(deps): bump browser-actions/setup-chrome from 1.4.0 to 1.6.1 #897
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: Continuous Integration | |
on: | |
push: | |
branches: | |
- master | |
- main | |
pull_request: | |
jobs: | |
############################################################################### | |
# SETUP # | |
############################################################################### | |
setup: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: 'yarn' | |
- name: Install dependencies | |
run: yarn install --immutable | |
############################################################################### | |
# BUILD # | |
############################################################################### | |
build: | |
needs: setup | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: 'yarn' | |
- name: Setup Build Cache | |
id: build-cache | |
uses: actions/cache@v4 | |
with: | |
key: ${{ github.sha }} | |
path: | | |
.cache | |
public | |
functions | |
- name: Install dependencies | |
run: yarn install --immutable | |
- name: Build app | |
run: yarn run build | |
env: | |
CMS_CRUD: ${{ secrets.CMS_CRUD }} | |
CONTENTFUL_SPACE: ${{ secrets.CONTENTFUL_SPACE }} | |
CONTENTFUL_TOKEN: ${{ secrets.CONTENTFUL_TOKEN }} | |
GA_TRACKING_ID: ${{ secrets.GA_TRACKING_ID }} | |
TAG_MANAGER_ID: ${{ secrets.TAG_MANAGER_ID }} | |
FATHOM_SITE_ID: ${{ secrets.FATHOM_SITE_ID }} | |
GOOGLE_SITE_VERIFICATION_META_CONTENT: ${{ secrets.GOOGLE_SITE_VERIFICATION_META_CONTENT }} | |
GATSBY_CONTACT_US_ENDPOINT_URI: ${{ secrets.CONTACT_US_ENDPOINT_URI }} | |
CONTENTFUL_ENVIRONMENT: master | |
NODE_ENV: production | |
############################################################################### | |
# TEST # | |
############################################################################### | |
test: | |
needs: setup | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: 'yarn' | |
- name: Install dependencies | |
run: yarn install --immutable | |
- name: Run tests | |
run: yarn run test | |
env: | |
NODE_ENV: test | |
############################################################################### | |
# ESLINT # | |
############################################################################### | |
eslint: | |
needs: setup | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: yarn install --immutable | |
- name: ESLint | |
run: yarn lint | |
env: | |
NODE_ENV: test | |
############################################################################### | |
# STYLELINT # | |
############################################################################### | |
stylelint: | |
needs: setup | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: 'yarn' | |
- name: Install dependencies | |
run: yarn install --immutable | |
- name: Stylelint | |
uses: xt0rted/stylelint-problem-matcher@v1 | |
############################################################################### | |
# LIGHTHOUSE # | |
############################################################################### | |
# lighthouse: | |
# needs: build | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# - name: Setup Node.js | |
# uses: actions/setup-node@v4 | |
# with: | |
# node-version: 18 | |
# cache: 'yarn' | |
# - name: Install dependencies | |
# run: yarn install --immutable | |
# - name: Setup Build Cache | |
# uses: actions/cache@v4 | |
# with: | |
# key: ${{ github.sha }} | |
# path: | | |
# .cache | |
# public | |
# functions | |
# - name: Setup Chrome | |
# uses: browser-actions/[email protected] | |
# - name: Lighthouse CI | |
# run: yarn lhci autorun | |
# env: | |
# LHCI_SERVER_TOKEN: ${{ secrets.LHCI_SERVER_TOKEN }} | |
# LHCI_SERVER_BASE_URL: ${{ secrets.LHCI_SERVER_BASE_URL }} | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
############################################################################### | |
# TESTCAFE # | |
############################################################################### | |
testcafe: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: 'yarn' | |
- name: Install dependencies | |
run: yarn install --immutable | |
- name: Setup Build Cache | |
uses: actions/cache@v4 | |
with: | |
key: ${{ github.sha }} | |
path: | | |
.cache | |
public | |
functions | |
- name: Setup Chrome | |
uses: browser-actions/[email protected] | |
- name: Testcafe | |
run: yarn run test:e2e:ui | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: ${{ github.event.issue.number || github.event.number || github.sha }}-testcafe | |
path: artifacts | |
retention-days: 5 | |
- name: Cleanup spaces | |
run: yarn clean-up-test-spaces | |
if: always() | |
env: | |
CONTENTFUL_INTEGRATION_TEST_CMA_TOKEN: ${{ secrets.CMS_CRUD }} | |
############################################################################### | |
# DEPLOY # | |
############################################################################### | |
deploy: | |
needs: [build, stylelint, eslint, test] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Build Cache | |
uses: actions/cache@v4 | |
with: | |
key: ${{ github.sha }} | |
path: | | |
.cache | |
public | |
functions | |
- name: Get branch | |
uses: rlespinasse/[email protected] | |
- name: Deploy to Netlify | |
id: deploy | |
uses: nwtgck/actions-netlify@v2 | |
with: | |
publish-dir: './public' | |
functions-dir: './functions' | |
production-branch: master | |
# production-deploy: Deploy as Netlify production deploy (default: false) | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
deploy-message: ${{ github.event.pull_request.title }} | |
enable-pull-request-comment: true | |
enable-commit-comment: false | |
enable-commit-status: false | |
overwrites-pull-request-comment: true | |
github-deployment-environment: ${{ env.GITHUB_HEAD_REF_SLUG || env.GITHUB_REF_SLUG }} | |
fails-without-credentials: true | |
env: | |
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} | |
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} |