ifeat: add ci config for forgejo
Some checks failed
/ tests (push) Waiting to run
/ linting (push) Has been cancelled

This commit is contained in:
Bruno Carlin 2025-01-18 00:58:39 +01:00
parent b23e2a424d
commit d488ab36ac
Signed by: bcarlin
GPG key ID: 8E254EA0FFEB9B6D
2 changed files with 20 additions and 72 deletions

View file

@ -0,0 +1,20 @@
on: [push]
jobs:
linting:
runs-on: docker
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: stable
- uses: https://github.com/golangci/golangci-lint-action@v6
tests:
runs-on: docker
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: stable
- name: Run tests
run: go test

View file

@ -1,72 +0,0 @@
image: golang:latest
stages:
- test
- build
- release
variables:
GOPATH: "${CI_PROJECT_DIR}/.gocache"
GOLANGCI_LINT_CACHE: "${GOPATH}/golangci-lint_cache"
GOCACHE: "${GOPATH}/go-build"
.cache: &depscache
key: $CI_COMMIT_REF_SLUG
paths:
- $CI_PROJECT_DIR/.gocache
code_navigation:
stage: test
image: sourcegraph/lsif-go:latest
allow_failure: true # recommended
script:
- lsif-go --no-animation
- ls -lh dump.lsif
artifacts:
reports:
lsif: dump.lsif
lint:
stage: test
image: golangci/golangci-lint:latest
script:
- golangci-lint cache status
- golangci-lint run --timeout 5m --out-format junit-xml > lint.junit.xml
cache:
<<: *depscache
policy: pull-push
artifacts:
reports:
junit: lint.junit.xml
tests:
stage: test
script:
- export PATH="$PATH:$GOPATH/bin"
- go install gotest.tools/gotestsum@latest
- gotestsum --junitfile tests.junit.xml -- -coverprofile=coverage.txt -covermode atomic -race ./...
after_script:
- export PATH="$PATH:$GOPATH/bin"
- go install github.com/boumenot/gocover-cobertura@latest
- gocover-cobertura < coverage.txt > coverage.xml
- go tool cover -func=coverage.txt | grep "total:"
coverage: '/total:\s+\(statements\)\s+(\d+.\d+\%)/'
cache:
<<: *depscache
policy: pull-push
artifacts:
reports:
cobertura: coverage.xml
junit: tests.junit.xml
release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- if: $CI_COMMIT_TAG
script:
- |
release-cli create \
--name "${CI_COMMIT_TAG}" \
--tag-name "${CI_COMMIT_TAG}" \
--milestone "${CI_COMMIT_TAG}"