You've already forked testing-go-code-with-postgres
mirror of
https://github.com/xorcare/testing-go-code-with-postgres.git
synced 2025-06-30 23:23:40 +02:00
Add GitLab CI and mirroring to GitLab
Added an example .gitlab-ci.yml, to make a sample more informative. Also added mirroring to gitlab to simplify repository development and gitlab ci validation.
This commit is contained in:
25
.github/workflows/gitlab.yml
vendored
Normal file
25
.github/workflows/gitlab.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
name: GitLab
|
||||||
|
|
||||||
|
on: [ push ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
mirror:
|
||||||
|
name: Mirroring to GitLab
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Mirror repository to Gitlab
|
||||||
|
run: |
|
||||||
|
set -e -x
|
||||||
|
git remote add gitlab "${{ vars.GITLAB_REPO }}"
|
||||||
|
git config --global url."https://${{ vars.GITLAB_USERNAME }}:${{ secrets.GITLAB_PUSH_TOKEN }}@gitlab.com".insteadOf https://gitlab.com
|
||||||
|
git push --force gitlab "$GITHUB_REF_NAME"
|
||||||
|
- name: Run GitLab CI
|
||||||
|
run: >
|
||||||
|
curl -i --fail
|
||||||
|
--request POST
|
||||||
|
--form token=${{ secrets.GITLAB_CI_TOKEN }}
|
||||||
|
--form ref="${{ github.ref_name }}"
|
||||||
|
https://gitlab.com/api/v4/projects/${{ vars.GITLAB_PROJECT_ID }}/trigger/pipeline
|
48
.gitlab-ci.yml
Normal file
48
.gitlab-ci.yml
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
image: golang:1.20
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- test
|
||||||
|
|
||||||
|
# Check that all packages are compiling.
|
||||||
|
build:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- make build
|
||||||
|
only:
|
||||||
|
- branches
|
||||||
|
|
||||||
|
# Check that all integration tests are labeled.
|
||||||
|
test-short:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- make test-short
|
||||||
|
only:
|
||||||
|
- branches
|
||||||
|
|
||||||
|
# Runs all test.
|
||||||
|
test:
|
||||||
|
services:
|
||||||
|
- docker:dind
|
||||||
|
stage: test
|
||||||
|
variables:
|
||||||
|
DOCKER_HOST: tcp://docker:2375
|
||||||
|
TESTING_DB_URL: postgresql://postgres:postgres@docker:32260/postgres?sslmode=disable
|
||||||
|
before_script:
|
||||||
|
- curl -L "https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||||
|
- chmod +x /usr/local/bin/docker-compose
|
||||||
|
- docker-compose --version
|
||||||
|
- make test-env-up
|
||||||
|
script:
|
||||||
|
- make test
|
||||||
|
- go get github.com/boumenot/gocover-cobertura
|
||||||
|
- go run github.com/boumenot/gocover-cobertura < coverage.out > coverage.xml
|
||||||
|
after_script:
|
||||||
|
- make test-env-down
|
||||||
|
artifacts:
|
||||||
|
reports:
|
||||||
|
coverage_report:
|
||||||
|
coverage_format: cobertura
|
||||||
|
path: coverage.xml
|
||||||
|
coverage: '/^total:\s+\(statements\)\s+(\d+(?:\.\d+)?%)/'
|
||||||
|
only:
|
||||||
|
- branches
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
[](https://github.com/xorcare/testing-go-code-with-postgres/actions/workflows/go.yml)
|
[](https://github.com/xorcare/testing-go-code-with-postgres/actions/workflows/go.yml)
|
||||||
[](https://codecov.io/github/xorcare/testing-go-code-with-postgres/tree/main)
|
[](https://codecov.io/github/xorcare/testing-go-code-with-postgres/tree/main)
|
||||||
|
[](https://gitlab.com/xorcare/testing-go-code-with-postgres/tree/main)
|
||||||
|
[](https://gitlab.com/xorcare/testing-go-code-with-postgres/tree/main)
|
||||||
[](https://goreportcard.com/report/github.com/xorcare/testing-go-code-with-postgres)
|
[](https://goreportcard.com/report/github.com/xorcare/testing-go-code-with-postgres)
|
||||||
|
|
||||||
The example suggests a solution to the problem of cleaning the database after
|
The example suggests a solution to the problem of cleaning the database after
|
||||||
|
Reference in New Issue
Block a user