Split tests into separate workflow
Split tests into separate development workflow that can be included within ci file. Restrict ci to only run on pushes to main/beta branches. run dev workflow on pull requests
This commit is contained in:
parent
a386e43772
commit
159743baee
|
@ -1,66 +1,22 @@
|
|||
name: CI
|
||||
# This workflow is triggered on pushes & pull requests
|
||||
# This workflow is triggered on pushes
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- sandbox
|
||||
- beta
|
||||
push:
|
||||
branches: [ main, beta ]
|
||||
# Publish semver tags as releases.
|
||||
release:
|
||||
types: [published]
|
||||
jobs:
|
||||
test-frontend:
|
||||
name: Test Frontend
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: test
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 20.x
|
||||
- name: Test Frontend
|
||||
run: |
|
||||
make test-frontend-coverage
|
||||
- name: Upload coverage
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: coverage
|
||||
path: ${{ github.workspace }}/frontend/coverage/fastenhealth/lcov.info
|
||||
retention-days: 1
|
||||
test-backend:
|
||||
name: Test Backend
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/packagrio/packagr:latest-golang
|
||||
env:
|
||||
STATIC: true
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Test Backend
|
||||
run: |
|
||||
go install github.com/golang/mock/mockgen@v1.6.0
|
||||
go generate ./...
|
||||
make test-backend-coverage
|
||||
CGO_ENABLED=0 go build -buildvcs=false ./backend/cmd/fasten/
|
||||
- name: Upload coverage
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: coverage
|
||||
path: ${{ github.workspace }}/backend-coverage.txt
|
||||
retention-days: 1
|
||||
test:
|
||||
uses: ./.github/workflows/development.yaml
|
||||
test-coverage:
|
||||
name: Test Coverage Upload
|
||||
needs:
|
||||
- test-backend
|
||||
- test-frontend
|
||||
- test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4
|
||||
- name: Download coverage reports
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
|
@ -72,12 +28,11 @@ jobs:
|
|||
flags: unittests
|
||||
fail_ci_if_error: true
|
||||
verbose: true
|
||||
|
||||
storybook:
|
||||
name: Storybook Upload
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- run: cd frontend && yarn install
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
name: Development
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- edited
|
||||
- synchronize
|
||||
- reopened
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
test-frontend:
|
||||
name: Test Frontend
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20.x
|
||||
- name: Test Frontend
|
||||
run: |
|
||||
make test-frontend-coverage
|
||||
- name: Upload coverage
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: coverage
|
||||
path: ${{ github.workspace }}/frontend/coverage/fastenhealth/lcov.info
|
||||
retention-days: 1
|
||||
test-backend:
|
||||
name: Test Backend
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/packagrio/packagr:latest-golang
|
||||
env:
|
||||
STATIC: true
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
- name: Setup
|
||||
run: |
|
||||
go install github.com/golang/mock/mockgen@v1.6.0
|
||||
go generate ./...
|
||||
- name: Test Backend
|
||||
run: |
|
||||
make test-backend-coverage
|
||||
CGO_ENABLED=0 go build -buildvcs=false ./backend/cmd/fasten/
|
||||
- name: Upload coverage
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: coverage
|
||||
path: ${{ github.workspace }}/backend-coverage.txt
|
||||
retention-days: 1
|
||||
compile-storybook:
|
||||
name: Compile Storybook
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
- name: Setup
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20.x
|
||||
- run: |
|
||||
make build-storybook
|
||||
|
||||
|
4
Makefile
4
Makefile
|
@ -9,11 +9,11 @@ test: test-backend test-frontend
|
|||
|
||||
.PHONY: build-storybook
|
||||
build-storybook: dep-frontend
|
||||
cd frontend && ng run fastenhealth:build-storybook
|
||||
cd frontend && npx ng run fastenhealth:build-storybook
|
||||
|
||||
.PHONY: serve-storybook
|
||||
serve-storybook: dep-frontend
|
||||
cd frontend && ng run fastenhealth:storybook
|
||||
cd frontend && npx ng run fastenhealth:storybook
|
||||
|
||||
.PHONY: serve-frontend
|
||||
serve-frontend: dep-frontend
|
||||
|
|
Loading…
Reference in New Issue