Chore: Backend unit test workflow (#101534)

* baldm0mma/ parallelize tests for reporting

* baldm0mma/ update combining non-existant outputs

* baldm0mma/ remove duplicate logic

* baldm0mma/ rem any unnecessary logging

* baldm0mma/ add workflow path for test coverage test

* baldm0mma/ cache ent

* baldm0mma/ update with crucial comments

* baldm0mma/ generate go files

* baldm0mma/ cache enterprise only once

* baldm0mma/ adjust coverage threshholds

* baldm0mma/ remove temp artifacts from storage to save $$$

* baldm0mma/ remove strict coverage for unit tests

* baldm0mma/ pass coverage go opts

* baldm0mma/ update run backend tests action to composite

* baldm0mma/ separate make gen go into it's own composite step

* baldm0mma/ move options to workflow

* baldm0mma/ remove use of action

* baldm0mma/ remove unsed action

* baldm0mma/ update codeowners

* baldm0mma/ add edition logic

* baldm0mma/ set env vars in determine-edition action

* baldm0mma/ make test

* baldm0mma/ debug sequential

* baldm0mma/ debugging by removing unit tests

* baldm0mma/ TRY SOMETHING DIFFERENT!!!

* baldm0mma/ uploading ent from within the workspace

* baldm0mma/ revert run-backend-tests action

* baldm0mma/ move edition to job level

* baldm0mma/ update WIRE_TAGS

* baldm0mma/ move the enterprise code to the correct location after extracting it

* baldm0mma/ rem packaging/extracting of enterprise code

* baldm0mma/ test makefile

* baldm0mma/ add ent setup to coverage

* baldm0mma/ rem backend test action

* baldm0mma/ add wire and go steps to coverage job

* baldm0mma/ remove make installation, as it is already present in the "ubuntu-latest" package

* baldm0mma/ convert to matrix testing strategy

* baldm0mma/ update separate test coverage to only a day

* baldm0mma/ add setup-common-backend-testing-env action

* baldm0mma/ add setup env

* baldm0mma/ update naming

* baldm0mma/ updade codeowners

* baldm0mma/ rem ent

* baldm0mma/ update naming

* baldm0mma/ remove multiline syntax in report-coverage

* baldm0mma/ make gen-go

* baldm0mm/ remove integration tests

* baldm0mma/ update coverage params

* baldm0mma/ streamline workflow

* baldm0mma/ update codeowners

* baldm0mma/ update naming

* baldm0mma/ simplify logic

* baldm0mma/ remove uneeded trigger

* baldm0mma/ remove conditional coverage step

* baldm0mma/ debug coverage

* baldm0mma/ update file name

* baldm0mma/ remove artifact upload

* baldm0mma/ update atrifact params in the workflow

* baldm0mma/ simplify processing logic
This commit is contained in:
Jev Forsberg
2025-03-06 12:27:04 -07:00
committed by GitHub
parent c7b0bbd262
commit ef3cb8596e
7 changed files with 116 additions and 243 deletions
@@ -0,0 +1,66 @@
name: Backend Unit Tests
on:
workflow_dispatch:
push:
branches:
- main
paths-ignore:
- 'docs/**'
- '**/*.md'
pull_request:
paths-ignore:
- 'docs/**'
- '**/*.md'
permissions:
contents: read
id-token: write
env:
EDITION: 'oss'
WIRE_TAGS: 'oss'
jobs:
backend-testing-coverage:
name: Backend Testing & Coverage
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential shared-mime-info
- name: Verify code generation
run: |
CODEGEN_VERIFY=1 make gen-cue
CODEGEN_VERIFY=1 make gen-jsonnet
- name: Generate Go code
run: make gen-go
- name: Run unit tests
run: COVER_OPTS="-coverprofile=be-unit.cov -coverpkg=github.com/grafana/grafana/..." make test-go-unit
- name: Process and upload coverage
uses: ./.github/actions/test-coverage-processor
with:
test-type: 'be-unit'
# Needs to be named 'unit.cov' based on the Makefile command `make test-go-unit`
coverage-file: 'unit.cov'
codecov-token: ${{ secrets.CODECOV_TOKEN }}
codecov-flag: 'be-unit'
codecov-name: 'be-unit'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true