From 325d00dfb86ce4e8e6986c97a496fb7054fc4463 Mon Sep 17 00:00:00 2001 From: Alessandro Ros Date: Fri, 6 Feb 2026 16:12:57 +0100 Subject: [PATCH] move go <-> api check in linters (#5425) --- .github/workflows/code_lint.yml | 12 ++++++++++++ internal/core/upgrade.go | 2 +- internal/core/upgrade_disabled.go | 2 +- .../go2api/go2api_test.go} | 6 ++++-- scripts/binaries.mk | 14 +++++++------- scripts/lint.mk | 5 ++++- 6 files changed, 29 insertions(+), 12 deletions(-) rename internal/{testapidocs/apidocs_test.go => linters/go2api/go2api_test.go} (98%) diff --git a/.github/workflows/code_lint.yml b/.github/workflows/code_lint.yml index 63144a0c..66ba3036 100644 --- a/.github/workflows/code_lint.yml +++ b/.github/workflows/code_lint.yml @@ -37,6 +37,18 @@ jobs: - run: make lint-go-mod + go2api: + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@v6 + + - uses: actions/setup-go@v6 + with: + go-version: "1.25" + + - run: make lint-go2api + docs: runs-on: ubuntu-22.04 diff --git a/internal/core/upgrade.go b/internal/core/upgrade.go index fd7805d7..2dc02587 100644 --- a/internal/core/upgrade.go +++ b/internal/core/upgrade.go @@ -1,4 +1,4 @@ -//go:build enableUpgrade +//go:build enable_upgrade package core diff --git a/internal/core/upgrade_disabled.go b/internal/core/upgrade_disabled.go index ad75b168..c28e1a79 100644 --- a/internal/core/upgrade_disabled.go +++ b/internal/core/upgrade_disabled.go @@ -1,4 +1,4 @@ -//go:build !enableUpgrade +//go:build !enable_upgrade package core diff --git a/internal/testapidocs/apidocs_test.go b/internal/linters/go2api/go2api_test.go similarity index 98% rename from internal/testapidocs/apidocs_test.go rename to internal/linters/go2api/go2api_test.go index ef0aa491..19fc10b3 100644 --- a/internal/testapidocs/apidocs_test.go +++ b/internal/linters/go2api/go2api_test.go @@ -1,3 +1,5 @@ +//go:build enable_linters + package main import ( @@ -126,8 +128,8 @@ func fillProperty(t *testing.T, rt reflect.Type, existing openAPIProperty) openA } } -func TestAPIDocs(t *testing.T) { - byts, err := os.ReadFile("../../api/openapi.yaml") +func TestGo2API(t *testing.T) { + byts, err := os.ReadFile("../../../api/openapi.yaml") require.NoError(t, err) var doc openAPI diff --git a/scripts/binaries.mk b/scripts/binaries.mk index 3f9f8d5c..3aca2417 100644 --- a/scripts/binaries.mk +++ b/scripts/binaries.mk @@ -15,37 +15,37 @@ RUN go generate ./... FROM build-base AS build-windows-amd64 ENV GOOS=windows GOARCH=amd64 -RUN go build -tags enableUpgrade -o "tmp/$(BINARY_NAME).exe" +RUN go build -tags enable_upgrade -o "tmp/$(BINARY_NAME).exe" RUN cd tmp && zip -q "../binaries/$(BINARY_NAME)_$$(cat ../internal/core/VERSION)_windows_amd64.zip" "$(BINARY_NAME).exe" mediamtx.yml LICENSE FROM build-base AS build-linux-amd64 ENV GOOS=linux GOARCH=amd64 -RUN go build -tags enableUpgrade -o "tmp/$(BINARY_NAME)" +RUN go build -tags enable_upgrade -o "tmp/$(BINARY_NAME)" RUN tar -C tmp -czf "binaries/$(BINARY_NAME)_$$(cat internal/core/VERSION)_linux_amd64.tar.gz" --owner=0 --group=0 "$(BINARY_NAME)" mediamtx.yml LICENSE FROM build-base AS build-darwin-amd64 ENV GOOS=darwin GOARCH=amd64 -RUN go build -tags enableUpgrade -o "tmp/$(BINARY_NAME)" +RUN go build -tags enable_upgrade -o "tmp/$(BINARY_NAME)" RUN tar -C tmp -czf "binaries/$(BINARY_NAME)_$$(cat internal/core/VERSION)_darwin_amd64.tar.gz" --owner=0 --group=0 "$(BINARY_NAME)" mediamtx.yml LICENSE FROM build-base AS build-darwin-arm64 ENV GOOS=darwin GOARCH=arm64 -RUN go build -tags enableUpgrade -o "tmp/$(BINARY_NAME)" +RUN go build -tags enable_upgrade -o "tmp/$(BINARY_NAME)" RUN tar -C tmp -czf "binaries/$(BINARY_NAME)_$$(cat internal/core/VERSION)_darwin_arm64.tar.gz" --owner=0 --group=0 "$(BINARY_NAME)" mediamtx.yml LICENSE FROM build-base AS build-linux-armv6 ENV GOOS=linux GOARCH=arm GOARM=6 -RUN go build -tags enableUpgrade -o "tmp/$(BINARY_NAME)" +RUN go build -tags enable_upgrade -o "tmp/$(BINARY_NAME)" RUN tar -C tmp -czf "binaries/$(BINARY_NAME)_$$(cat internal/core/VERSION)_linux_armv6.tar.gz" --owner=0 --group=0 "$(BINARY_NAME)" mediamtx.yml LICENSE FROM build-base AS build-linux-armv7 ENV GOOS=linux GOARCH=arm GOARM=7 -RUN go build -tags enableUpgrade -o "tmp/$(BINARY_NAME)" +RUN go build -tags enable_upgrade -o "tmp/$(BINARY_NAME)" RUN tar -C tmp -czf "binaries/$(BINARY_NAME)_$$(cat internal/core/VERSION)_linux_armv7.tar.gz" --owner=0 --group=0 "$(BINARY_NAME)" mediamtx.yml LICENSE FROM build-base AS build-linux-arm64 ENV GOOS=linux GOARCH=arm64 -RUN go build -tags enableUpgrade -o "tmp/$(BINARY_NAME)" +RUN go build -tags enable_upgrade -o "tmp/$(BINARY_NAME)" RUN tar -C tmp -czf "binaries/$(BINARY_NAME)_$$(cat internal/core/VERSION)_linux_arm64.tar.gz" --owner=0 --group=0 "$(BINARY_NAME)" mediamtx.yml LICENSE FROM $(BASE_IMAGE) diff --git a/scripts/lint.mk b/scripts/lint.mk index d50dd684..ad045d75 100644 --- a/scripts/lint.mk +++ b/scripts/lint.mk @@ -19,6 +19,9 @@ lint-go-mod: go mod tidy git diff --exit-code +lint-go2api: + go test -v -tags enable_linters ./internal/linters/go2api + lint-docs: echo "$$DOCKERFILE_DOCS_LINT" | docker build . -f - -t temp docker run --rm -v "$(shell pwd)/docs:/s" -w /s temp \ @@ -30,4 +33,4 @@ lint-api-docs: docker run --rm -v "$(shell pwd)/api:/s" -w /s temp \ sh -c "openapi lint openapi.yaml" -lint: lint-go lint-go-mod lint-docs lint-api-docs +lint: lint-go lint-go-mod lint-go2api lint-docs lint-api-docs