NOISSUE - Add Service Tests (#239) #918
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
# Copyright (c) Abstract Machines | |
# SPDX-License-Identifier: Apache-2.0 | |
name: Continuous Integration | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
ci: | |
name: Continuous Integration | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.x | |
cache-dependency-path: "go.sum" | |
- name: Install Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: lts/* | |
- name: Check for changes in go.mod | |
run: | | |
go mod tidy | |
git diff --exit-code | |
- name: Check Mocks are up to Date | |
run: | | |
MOCKERY_VERSION=v2.42.0 | |
go install github.com/vektra/mockery/v2@$MOCKERY_VERSION | |
mv ./ui/mocks/repository.go ./ui/mocks/repository.go.tmp | |
make mocks | |
check_mock_changes() { | |
local file_path=$1 | |
local tmp_file_path=$1.tmp | |
local entity_name=$2 | |
if ! cmp -s "$file_path" "$tmp_file_path"; then | |
echo "Error: Generated mocks for $entity_name are out of sync!" | |
echo "Please run 'make mocks' with mockery version $MOCKERY_VERSION and commit the changes." | |
exit 1 | |
fi | |
} | |
check_mock_changes ./ui/mocks/repository.go "Dashboard Repository ./ui/mocks/repository.go" | |
- name: Install node dependencies | |
run: npm install | |
- name: Run Prettier | |
run: | | |
npx prettier --config .prettierrc --plugin prettier-plugin-go-template --check . | |
if [ $? -ne 0 ]; then | |
echo "The following files are not formatted:" | |
npx prettier --config .prettierrc --plugin prettier-plugin-go-template --list-different . | |
fi | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v4 | |
with: | |
version: v1.56.1 | |
- name: Build Binaries | |
run: | | |
go mod vendor | |
make all -j $(nproc) | |
- name: Build Docker images | |
if: github.event_name == 'pull_request' | |
run: | | |
go mod vendor | |
make docker -j $(nproc) | |
- name: Run Tests | |
run: | | |
make test | |
- name: Upload coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV }} | |
file: ./coverage.out | |
name: codecov-umbrella | |
verbose: true |