From ba3e3dfb28fb60a00c9faddb276f669114d8ea12 Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Mon, 27 Apr 2026 21:27:25 -0400 Subject: [PATCH 1/3] feat(12-01): add is_optional BOOLEAN migration for modelcatalog_configuration_input - up.sql: ADD COLUMN is_optional BOOLEAN NOT NULL DEFAULT FALSE - down.sql: DROP COLUMN is_optional - NOT NULL DEFAULT FALSE: existing junction rows backfill automatically, no UPDATE needed - ETL untouched (D-11, D-12) --- .../down.sql | 4 ++++ .../up.sql | 4 ++++ 2 files changed, 8 insertions(+) create mode 100644 migrations/1771200016000_modelcatalog_configuration_input_is_optional/down.sql create mode 100644 migrations/1771200016000_modelcatalog_configuration_input_is_optional/up.sql diff --git a/migrations/1771200016000_modelcatalog_configuration_input_is_optional/down.sql b/migrations/1771200016000_modelcatalog_configuration_input_is_optional/down.sql new file mode 100644 index 0000000..6931a32 --- /dev/null +++ b/migrations/1771200016000_modelcatalog_configuration_input_is_optional/down.sql @@ -0,0 +1,4 @@ +BEGIN; +ALTER TABLE modelcatalog_configuration_input + DROP COLUMN is_optional; +COMMIT; diff --git a/migrations/1771200016000_modelcatalog_configuration_input_is_optional/up.sql b/migrations/1771200016000_modelcatalog_configuration_input_is_optional/up.sql new file mode 100644 index 0000000..517f155 --- /dev/null +++ b/migrations/1771200016000_modelcatalog_configuration_input_is_optional/up.sql @@ -0,0 +1,4 @@ +BEGIN; +ALTER TABLE modelcatalog_configuration_input + ADD COLUMN is_optional BOOLEAN NOT NULL DEFAULT FALSE; +COMMIT; From 26536238f3833cd198bbcbb460bd6a813161b247 Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Mon, 27 Apr 2026 21:27:58 -0400 Subject: [PATCH 2/3] feat(12-01): add is_optional to configuration_input permissions in tables.yaml - Insert (user role, &id007 anchor): add is_optional column - Select (anonymous role inline list): add is_optional column - Select (user role *id007): picks up is_optional via anchor - No update_permissions added (junction tables: insert+delete only) - No new roles added (D-05 honored) --- metadata/tables.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/metadata/tables.yaml b/metadata/tables.yaml index 839c8b2..13ddf79 100644 --- a/metadata/tables.yaml +++ b/metadata/tables.yaml @@ -3102,12 +3102,14 @@ columns: &id007 - configuration_id - input_id + - is_optional select_permissions: - role: anonymous permission: columns: - configuration_id - input_id + - is_optional filter: {} - role: user permission: From 32a7e11f819a91a78b9453cd7151f33b6f7d077a Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Tue, 28 Apr 2026 21:27:46 -0400 Subject: [PATCH 3/3] ci: widen branches glob to '**' and tag with SAFE_BRANCH so slashed feature branches build Branch trigger '*' does not match slashed names like gsd/phase-12-is-optional, so feature branch pushes never produced a docker image. tj-actions/branch-names also returns the raw branch name, which is an invalid docker tag when it contains '/'. Adds SAFE_BRANCH step (replaces '/' with '-') and tags with that instead. Mirrors fix in ui (e0547dd) and model-catalog-api (7109442). --- .github/workflows/docker-publish.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 49e0b69..0f1ab83 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -3,7 +3,7 @@ name: hasura on: push: branches: - - "*" + - "**" tags: - v* pull_request: @@ -33,6 +33,12 @@ jobs: - uses: actions/checkout@v4 + - name: Compute sanitized branch tag + run: | + SAFE_BRANCH="${GITHUB_REF_NAME}" + # Docker tag spec forbids '/'; replace with '-' so slash-containing branches build + echo "SAFE_BRANCH=${SAFE_BRANCH//\//-}" >> $GITHUB_ENV + - name: Create environment variable with the commit id run: | echo "DOCKER_TAG=${GITHUB_SHA}" >> $GITHUB_ENV @@ -60,7 +66,7 @@ jobs: with: push: true context: . - tags: ${{ env.DOCKER_IMAGE_REPOSITORY }}/${{ env.DOCKER_IMAGE_NAME }}:${{ steps.branch-name.outputs.current_branch }}, ${{ env.DOCKER_IMAGE_REPOSITORY }}/${{ env.DOCKER_IMAGE_NAME }}:${{ env.DOCKER_TAG }} + tags: ${{ env.DOCKER_IMAGE_REPOSITORY }}/${{ env.DOCKER_IMAGE_NAME }}:${{ env.SAFE_BRANCH }}, ${{ env.DOCKER_IMAGE_REPOSITORY }}/${{ env.DOCKER_IMAGE_NAME }}:${{ env.DOCKER_TAG }} file: ${{ env.DOCKER_FILE}} platforms: linux/amd64,linux/arm64