Dynamic resources endpoints #823
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Build and Test | |
on: | |
workflow_call: | |
push: | |
branches: ['main'] | |
pull_request: | |
branches: ['main'] | |
concurrency: | |
# Cancel in-progress runs on PR update | |
group: ci-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
build-and-test: | |
name: Build & run tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22.x' | |
cache: true | |
- name: Install dependencies | |
run: go get ./... | |
- name: Build | |
run: go build -tags release -v ./... | |
- name: Set Environment Variable for Resource Directory | |
run: echo "RESOURCE_DIR=$(pwd)/data/resources" >> $GITHUB_ENV | |
- name: Test | |
run: make test | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: code-coverage | |
path: coverage.out | |
# XXX this will fail if main does not already have a coverage.out report uploaded by the previous job | |
code-coverage: | |
name: Code coverage report | |
if: github.event_name == 'pull_request' | |
runs-on: ubuntu-latest | |
needs: build-and-test | |
steps: | |
- name: coverage report | |
id: coverage-report | |
uses: fgrosse/[email protected] | |
with: | |
coverage-file-name: coverage.out | |
skip-comment: true # requires write permission on pull requests | |
# below options help track coverage across forks | |
trim: github.com/project-kessel/inventory-api | |
root-package: "" | |
- name: coverage summary | |
run: echo "${{ steps.coverage-report.outputs.coverage_report }}" >> "$GITHUB_STEP_SUMMARY" |