NEOS-1639: add JobHook with Pre and Post Sync Timing Support #1481
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
on: | |
pull_request: | |
paths: | |
- cli/**.go | |
- backend/**.go | |
- worker/**.go | |
- internal/**.go | |
- go.mod | |
- go.sum | |
push: | |
branches: | |
- main | |
paths: | |
- cli/**.go | |
- backend/**.go | |
- worker/**.go | |
- internal/**.go | |
- go.mod | |
- go.sum | |
name: Go | |
jobs: | |
golangci: | |
name: golang-lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache-dependency-path: go.sum | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v6 | |
with: | |
version: latest | |
args: --timeout=10m | |
vet: | |
name: vet | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache-dependency-path: go.sum | |
- name: Vet | |
run: go vet ./... | |
unit-test: | |
name: Unit Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache-dependency-path: go.sum | |
- name: Test | |
run: | | |
go test -race -coverprofile=unit-coverage.out -covermode=atomic ./... | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v5 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
integration-tests: | |
name: Integration Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache-dependency-path: go.sum | |
- name: Run Integration Tests | |
run: | | |
go test -race -timeout 1800s -coverprofile=integration-coverage.out -covermode=atomic -run TestIntegrationTestSuite ./... | |
env: | |
INTEGRATION_TESTS_ENABLED: 1 | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v5 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
go-mod-tidy-check: | |
name: go-mod-tidy-check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache-dependency-path: go.sum | |
- name: Run go mod tidy | |
run: go mod tidy | |
- name: Check for changes in go.mod and go.sum | |
run: | | |
if [ -n "$(git status --porcelain go.mod go.sum)" ]; then | |
echo "Error: go.mod and/or go.sum have changes after running 'go mod tidy'" | |
echo "Please run 'go mod tidy' and commit the changes." | |
exit 1 | |
fi |