Skip to content

frontend: Moving Quick Links to Core #5968

frontend: Moving Quick Links to Core

frontend: Moving Quick Links to Core #5968

Workflow file for this run

name: frontend
on:
push:
branches:
- main
pull_request:
branches:
- main
paths:
- 'frontend/**'
- .github/workflows/frontend.yml
- Makefile
- tools/frontend-e2e.sh
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: '16.x'
check-latest: true
- name: Enforce consistent Yarn version
run: ./tools/install-yarn.sh
- name: node_modules cache
id: node-modules-cache
uses: actions/cache@v3
with:
path: |
**/node_modules
key: ${{ runner.os }}-${{ steps.setup-node.outputs.node-version }}-node-modules-${{ hashFiles('**/yarn.lock') }}
- name: build cache
if: |
steps.node-modules-cache.outputs.cache-hit == 'true' &&
github.ref != 'refs/heads/main'
id: build-cache
uses: actions/cache@v3
with:
path: |
**/dist
**/app/build
**/tsconfig.tsbuildinfo
!**/node_modules
key: ${{ runner.os }}-fe-build-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
if: steps.node-modules-cache.outputs.cache-hit != 'true'
run: yarn --cwd frontend install
- name: build
run: yarn --cwd frontend build
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: '16.x'
check-latest: true
- name: Enforce consistent Yarn version
run: ./tools/install-yarn.sh
- name: node_modules cache
id: node-modules-cache
uses: actions/cache@v3
with:
path: |
**/node_modules
key: ${{ runner.os }}-${{ steps.setup-node.outputs.node-version }}-node-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
if: steps.node-modules-cache.outputs.cache-hit != 'true'
run: yarn --cwd frontend install
- name: Compile packages
run: yarn --cwd frontend compile:dev
- run: make frontend-lint
- run: make frontend-verify
- run: yarn --cwd frontend test:licenses
test-e2e:
name: test e2e
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
id: setup-go
with:
go-version: 1.20.x
- uses: actions/setup-node@v3
with:
node-version: '16.x'
check-latest: true
- name: Enforce consistent Yarn version
run: ./tools/install-yarn.sh
- name: cypress cache
id: cypress-cache
uses: actions/cache@v3
with:
path: |
~/.cache/Cypress
key: ${{ runner.os }}-cypress-${{ hashFiles('**/yarn.lock') }}
- name: node_modules cache
id: node-modules-cache
if: steps.cypress-cache.outputs.cache-hit == 'true'
uses: actions/cache@v3
with:
path: |
**/node_modules
key: ${{ runner.os }}-${{ steps.setup-node.outputs.node-version }}-node-modules-${{ hashFiles('**/yarn.lock') }}
- name: go mod cache
uses: actions/cache@v3
with:
path: |
~/go/pkg/mod
key: ${{ runner.os }}-${{ steps.setup-go.outputs.go-version }}-go-mod-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-mod-
- name: go build cache
uses: actions/cache@v3
with:
path: |
~/.cache/go-build
key: ${{ runner.os }}-${{ steps.setup-go.outputs.go-version }}-go-mock-build-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-mock-build-
${{ runner.os }}-go-build-
- name: Install dependencies
if: steps.node-modules-cache.outputs.cache-hit != 'true'
run: yarn --cwd frontend install
- name: Compile packages
run: yarn --cwd frontend compile:dev
- name: Test [e2e]
id: e2e
run: ./tools/frontend-e2e.sh
- name: Upload end-to-end artifacts
uses: actions/upload-artifact@v3
if: failure() && steps.e2e.outcome == 'failure'
with:
name: screenshots
path: ./frontend/packages/app/cypress/screenshots
test-unit:
name: test unit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: '16.x'
check-latest: true
- name: Enforce consistent Yarn version
run: ./tools/install-yarn.sh
- name: node_modules cache
id: node-modules-cache
uses: actions/cache@v3
with:
path: |
**/node_modules
key: ${{ runner.os }}-${{ steps.setup-node.outputs.node-version }}-node-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
if: steps.node-modules-cache.outputs.cache-hit != 'true'
run: yarn --cwd frontend install
- name: Compile packages
run: yarn --cwd frontend compile:dev
- name: Test [unit]
run: yarn --cwd frontend test:coverage
publish:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
needs: [build, lint, test-unit, test-e2e]
steps:
- uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: '16.x'
check-latest: true
registry-url: 'https://registry.npmjs.org'
- name: Enforce consistent Yarn version
run: ./tools/install-yarn.sh
- name: node_modules cache
id: node-modules-cache
uses: actions/cache@v3
with:
path: |
**/node_modules
key: ${{ runner.os }}-${{ steps.setup-node.outputs.node-version }}-node-modules-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
if: steps.node-modules-cache.outputs.cache-hit != 'true'
run: yarn --cwd frontend install
- name: publish
run: yarn --cwd frontend publishBeta
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}