Skip to content

feat(validation): UI for interacting with /api/validate endpoint (#5) #25

feat(validation): UI for interacting with /api/validate endpoint (#5)

feat(validation): UI for interacting with /api/validate endpoint (#5) #25

Workflow file for this run

name: Vercel Preview Deployment
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
VERCEL_FORCE_NO_BUILD_CACHE: 1
on:
push:
branches-ignore:
- main
jobs:
install-deps:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Cache dependencies
id: cache
uses: actions/cache@v4
with:
path: |
node_modules
~/.npm
~/.cache/Cypress
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
- if: steps.cache.outputs.cache-hit != 'true'
name: Install dependencies
run: npm ci
- if: steps.cache.outputs.cache-hit == 'true'
name: Link cached dependencies
run: npm install
test-components:
needs: install-deps
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Restore dependency cache
uses: actions/cache@v4
with:
path: |
node_modules
~/.npm
~/.cache/Cypress
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
- name: Link cached dependencies
run: npm install
- name: Run component tests
uses: cypress-io/github-action@v6
with:
install: false
component: true
test-api:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: |
api/validate
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.18"
- name: Build
run: |
cd api/validate
go build -v
- name: Test
run: |
cd api/validate
go test -v
deploy-preview:
needs: [test-api, test-components]
outputs:
preview-url: ${{ steps.set-preview-url.outputs.preview-url }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Pull Vercel Environment Information
run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }}
- name: Deploy directly to Vercel
run: vercel deploy --token=${{ secrets.VERCEL_TOKEN }} > preview-url.txt
- name: Set Preview URL
id: set-preview-url
run: echo "preview-url=$(cat preview-url.txt)" >> "$GITHUB_OUTPUT"
test-preview:
needs: [deploy-preview, install-deps]
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Restore dependency cache
uses: actions/cache@v4
with:
path: |
node_modules
~/.npm
~/.cache/Cypress
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
- name: Link cached dependencies
run: npm install
- name: Run E2E tests
uses: cypress-io/github-action@v6
with:
config: baseUrl=${{ needs.deploy-preview.outputs.preview-url }}
install: false