diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 696b9ac..1ffbf5a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,42 +1,33 @@ name: Tests - on: push: branches: [main, develop] pull_request: branches: [main, develop] - jobs: unit-tests: name: Unit Tests runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - + - uses: actions/checkout@v6 - name: Set up Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v6 with: go-version: "1.21" - - name: Run unit tests run: go test ./pkg/resolvespec ./pkg/restheadspec -v -cover - - name: Generate coverage report run: | go test ./pkg/resolvespec ./pkg/restheadspec -coverprofile=coverage.out go tool cover -html=coverage.out -o coverage.html - - name: Upload coverage - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v5 with: name: coverage-report path: coverage.html - integration-tests: name: Integration Tests runs-on: ubuntu-latest - services: postgres: image: postgres:15-alpine @@ -51,41 +42,34 @@ jobs: --health-retries 5 ports: - 5432:5432 - steps: - - uses: actions/checkout@v3 - + - uses: actions/checkout@v6 - name: Set up Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v6 with: go-version: "1.21" - - name: Create test databases env: PGPASSWORD: postgres run: | psql -h localhost -U postgres -c "CREATE DATABASE resolvespec_test;" psql -h localhost -U postgres -c "CREATE DATABASE restheadspec_test;" - - name: Run resolvespec integration tests env: TEST_DATABASE_URL: "host=localhost user=postgres password=postgres dbname=resolvespec_test port=5432 sslmode=disable" run: go test -tags=integration ./pkg/resolvespec -v - - name: Run restheadspec integration tests env: TEST_DATABASE_URL: "host=localhost user=postgres password=postgres dbname=restheadspec_test port=5432 sslmode=disable" run: go test -tags=integration ./pkg/restheadspec -v - - name: Generate integration coverage env: TEST_DATABASE_URL: "host=localhost user=postgres password=postgres dbname=resolvespec_test port=5432 sslmode=disable" run: | go test -tags=integration ./pkg/resolvespec ./pkg/restheadspec -coverprofile=coverage-integration.out go tool cover -html=coverage-integration.out -o coverage-integration.html - - name: Upload integration coverage - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v5 with: name: integration-coverage-report path: coverage-integration.html