Skip to content

- Added clover reporter to nyc #34

- Added clover reporter to nyc

- Added clover reporter to nyc #34

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
unit-tests:
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 unit tests
run: npm run test:unit:cov
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4.0.1
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: DiggidyDev/dockerignore-validator
files: ./coverage/lcov.info,./coverage/clover.xml
- name: Archive code coverage results
uses: actions/upload-artifact@v4
with:
name: code-coverage-report
path: coverage
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, unit-tests]
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
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