From c60267dabf62743d2d40a3083dc0ee5f798788b9 Mon Sep 17 00:00:00 2001 From: Tim Covarrubias Date: Mon, 22 Jun 2026 18:41:34 -0700 Subject: [PATCH 1/4] feat: add multi-arch Docker build (amd64 + arm64) Add QEMU setup and platforms field to the docker-publish job so the image is built for both linux/amd64 and linux/arm64. This enables native execution on Apple Silicon Macs without Rosetta emulation. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/docker-image.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index aa5235b..ed32a55 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -202,6 +202,9 @@ jobs: echo "major=$MAJOR" >> "$GITHUB_OUTPUT" echo "minor=$MINOR" >> "$GITHUB_OUTPUT" + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -234,6 +237,7 @@ jobs: context: . file: ./Dockerfile push: true + platforms: linux/amd64,linux/arm64 tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha From fd9bdf3aaf1f752537646d00ece0c19137f2f446 Mon Sep 17 00:00:00 2001 From: Tim Covarrubias Date: Mon, 22 Jun 2026 18:44:25 -0700 Subject: [PATCH 2/4] style: fix prettier formatting Co-Authored-By: Claude Opus 4.6 --- ui/package.json | 2 +- ui/scripts/setup-api-client.js | 10 ++- .../new-flags-file-form.html | 10 +-- ui/src/app/components/welcome/welcome.ts | 1 - ui/src/app/models/generated/flagd-schema.ts | 80 ++++++++++--------- ui/src/environments.ts | 2 +- ui/tsconfig.spec.json | 15 +--- 7 files changed, 57 insertions(+), 63 deletions(-) diff --git a/ui/package.json b/ui/package.json index 7ed2c7e..3ee0be5 100644 --- a/ui/package.json +++ b/ui/package.json @@ -70,4 +70,4 @@ "typescript-eslint": "8.50.1", "vitest": "^4.0.8" } -} \ No newline at end of file +} diff --git a/ui/scripts/setup-api-client.js b/ui/scripts/setup-api-client.js index a0fad5a..d42cdcc 100644 --- a/ui/scripts/setup-api-client.js +++ b/ui/scripts/setup-api-client.js @@ -27,8 +27,12 @@ if (fs.existsSync(sourceFile)) { // Check if openapi.json exists const openapiPath = path.join(uiRoot, 'openapi.json'); if (!fs.existsSync(openapiPath)) { - console.warn(`⚠ Warning: openapi.json not found. This is expected if the Rust backend hasn't been built yet.`); - console.warn(`⚠ Run 'cargo build' in the root directory to generate the OpenAPI spec, then run 'npm install' again in the ui directory.`); + console.warn( + `⚠ Warning: openapi.json not found. This is expected if the Rust backend hasn't been built yet.`, + ); + console.warn( + `⚠ Run 'cargo build' in the root directory to generate the OpenAPI spec, then run 'npm install' again in the ui directory.`, + ); process.exit(0); } @@ -41,7 +45,7 @@ const dockerCmd = `docker run --rm -v "${cwd}:/local" openapitools/openapi-gener const result = spawnSync(dockerCmd, { shell: true, - stdio: 'inherit' + stdio: 'inherit', }); process.exit(result.status); diff --git a/ui/src/app/components/new-flags-file-form/new-flags-file-form.html b/ui/src/app/components/new-flags-file-form/new-flags-file-form.html index 534dfb0..3a2bcc4 100644 --- a/ui/src/app/components/new-flags-file-form/new-flags-file-form.html +++ b/ui/src/app/components/new-flags-file-form/new-flags-file-form.html @@ -18,11 +18,7 @@

File URL - +