name: CI # This workflow is triggered on pushes & pull requests 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-coverage: name: Test Coverage Upload needs: - test-backend - test-frontend runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Download coverage reports uses: actions/download-artifact@v3 with: name: coverage - name: Upload coverage reports uses: codecov/codecov-action@v2 with: files: ${{ github.workspace }}/backend-coverage.txt,${{ github.workspace }}/lcov.info flags: unittests fail_ci_if_error: true verbose: true storybook: name: Storybook Upload runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - run: cd frontend && yarn install - uses: chromaui/action@v1 with: workingDir: frontend buildScriptName: "build-storybook" projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}