Skip to content

chore: add test case #52

chore: add test case

chore: add test case #52

Workflow file for this run

name: Build and Test
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
services:
mysql:
image: mysql:5.7
env:
MYSQL_ROOT_PASSWORD: "123456"
MYSQL_DATABASE: issuer-gateway
ports:
- 3306:3306
steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install GitVersion
uses: gittools/actions/gitversion/setup@v0.9.15
with:
versionSpec: '5.12.0'
includePrerelease: true
- name: Determine Version
id: gitversion
uses: gittools/actions/gitversion/execute@v0.9.15
- name: Display GitVersion outputs
run: |
echo "SemVer: ${{ steps.gitversion.outputs.semVer }}"
echo "BranchName: ${{ steps.gitversion.outputs.branchName }}"
- name: Set up Redis
uses: supercharge/redis-github-action@1.4.0
with:
redis-version: 6
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.21.1
- run: go version
- name: Install dependencies
run: go mod tidy && go mod download
- name: Test
run: go test -v ./...
- name: Run coverage
run: go test -v ./... -coverprofile=coverage.txt -covermode=atomic
- name: Upload Coverage report to CodeCov
uses: codecov/codecov-action@v3
with:
token: ${{secrets.CODECOV_TOKEN}}
file: ./coverage.txt
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{secrets.DOCKER_USERNAME}}
password: ${{secrets.DOCKER_PASSWORD}}
- name: Build Docker Image
run: |
docker build -f ./Dockerfile -t gofee/issuer-gateway:${{ steps.gitversion.outputs.semVer }} .
docker build -f ./Dockerfile -t gofee/issuer-gateway:latest .
- name: Push Docker Image (only on main branch)
if: ${{ steps.gitversion.outputs.branchName == 'main' }}
run: |
docker push gofee/issuer-gateway:${{ steps.gitversion.outputs.semVer }}
docker push gofee/issuer-gateway:latest