From 47ec6b220f2127dc65de26dd772355f92b4b4bc6 Mon Sep 17 00:00:00 2001 From: "Jens L." Date: Mon, 2 Feb 2026 14:19:07 +0100 Subject: [PATCH] ci: always generate API clients (#19906) (#19932) --- .../_reusable-docker-build-single.yml | 9 ++++-- .github/workflows/release-publish.yml | 9 ++++-- Dockerfile | 2 ++ authentik/endpoints/tests/test_facts.py | 30 +++++++++---------- 4 files changed, 30 insertions(+), 20 deletions(-) diff --git a/.github/workflows/_reusable-docker-build-single.yml b/.github/workflows/_reusable-docker-build-single.yml index d369208078..b4ff8e963a 100644 --- a/.github/workflows/_reusable-docker-build-single.yml +++ b/.github/workflows/_reusable-docker-build-single.yml @@ -78,8 +78,13 @@ jobs: node-version-file: web/package.json cache: "npm" cache-dependency-path: web/package-lock.json - - name: generate ts client - run: make gen-client-ts + - uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6 + with: + go-version-file: "go.mod" + - name: Generate API Clients + run: | + make gen-client-ts + make gen-client-go - name: Build Docker Image uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6 id: push diff --git a/.github/workflows/release-publish.yml b/.github/workflows/release-publish.yml index 55b56582e9..2d96fcae8a 100644 --- a/.github/workflows/release-publish.yml +++ b/.github/workflows/release-publish.yml @@ -87,6 +87,11 @@ jobs: - uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6 with: go-version-file: "go.mod" + - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v5 + with: + node-version-file: web/package.json + cache: "npm" + cache-dependency-path: web/package-lock.json - name: Set up QEMU uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0 - name: Set up Docker Buildx @@ -98,9 +103,9 @@ jobs: DOCKER_USERNAME: ${{ secrets.DOCKER_CORP_USERNAME }} with: image-name: ghcr.io/goauthentik/${{ matrix.type }},authentik/${{ matrix.type }} - - name: make empty clients + - name: Generate API Clients run: | - mkdir -p ./gen-ts-api + make gen-client-ts make gen-client-go - name: Docker Login Registry uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3 diff --git a/Dockerfile b/Dockerfile index 4af756305e..98dcc37c3b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,6 +44,7 @@ RUN --mount=type=cache,id=apt-$TARGETARCH$TARGETVARIANT,sharing=locked,target=/v RUN --mount=type=bind,target=/go/src/goauthentik.io/go.mod,src=./go.mod \ --mount=type=bind,target=/go/src/goauthentik.io/go.sum,src=./go.sum \ + --mount=type=bind,target=/go/src/goauthentik.io/gen-go-api,src=./gen-go-api \ --mount=type=cache,target=/go/pkg/mod \ go mod download @@ -57,6 +58,7 @@ COPY ./go.mod /go/src/goauthentik.io/go.mod COPY ./go.sum /go/src/goauthentik.io/go.sum RUN --mount=type=cache,sharing=locked,target=/go/pkg/mod \ + --mount=type=bind,target=/go/src/goauthentik.io/gen-go-api,src=./gen-go-api \ --mount=type=cache,id=go-build-$TARGETARCH$TARGETVARIANT,sharing=locked,target=/root/.cache/go-build \ if [ "$TARGETARCH" = "arm64" ]; then export CC=aarch64-linux-gnu-gcc && export CC_FOR_TARGET=gcc-aarch64-linux-gnu; fi && \ CGO_ENABLED=1 GOFIPS140=latest GOARM="${TARGETVARIANT#v}" \ diff --git a/authentik/endpoints/tests/test_facts.py b/authentik/endpoints/tests/test_facts.py index f73ca9319d..dfc34e2616 100644 --- a/authentik/endpoints/tests/test_facts.py +++ b/authentik/endpoints/tests/test_facts.py @@ -60,20 +60,18 @@ class TestEndpointFacts(APITestCase): ] } ) - self.assertEqual( - device.cached_facts.data, - { - "software": [ - { - "name": "software-a", - "version": "1.2.3.4", - "source": "package", - }, - { - "name": "software-b", - "version": "5.6.7.8", - "source": "package", - }, - ] - }, + self.assertCountEqual( + device.cached_facts.data["software"], + [ + { + "name": "software-a", + "version": "1.2.3.4", + "source": "package", + }, + { + "name": "software-b", + "version": "5.6.7.8", + "source": "package", + }, + ], )