diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml index 5fe2d13b1..0fc8aaed6 100644 --- a/.github/workflows/docker-release.yml +++ b/.github/workflows/docker-release.yml @@ -106,6 +106,25 @@ jobs: ${{ env.DOCKER_REGISTRY_OWNER }}/${{ env.API_IMAGE_NAME }}:${{ env.API_VERSION }} ${{ env.DOCKER_REGISTRY_OWNER }}/${{ env.API_IMAGE_NAME }}:${{ github.sha }} ${{ env.DOCKER_REGISTRY_OWNER }}/${{ env.API_IMAGE_NAME }}:latest + + - name: Set API Package Visibility to Public + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ORG_NAME: ${{ github.repository_owner }} + run: | + echo "Attempting to set visibility for $ORG_NAME/${{ env.API_IMAGE_NAME }}" + RESPONSE_CODE=$(curl -L -s -o /dev/null -w "%{http_code}" -X PATCH \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer $GH_TOKEN" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "https://api.github.com/orgs/$ORG_NAME/packages/container/${{ env.API_IMAGE_NAME }}" \ + -d '{"visibility":"public"}') + if [ "$RESPONSE_CODE" -eq 200 ] || [ "$RESPONSE_CODE" -eq 204 ]; then + echo "Package $ORG_NAME/${{ env.API_IMAGE_NAME }} visibility set to public successfully." + else + echo "Failed to set package $ORG_NAME/${{ env.API_IMAGE_NAME }} visibility to public. HTTP Status: $RESPONSE_CODE" + # Optionally, fail the step: exit 1 + fi build_and_push_web: name: Build and Push Web Image @@ -148,3 +167,22 @@ jobs: NEXT_PUBLIC_URL=${{ secrets.NEXT_PUBLIC_URL }} NEXT_PUBLIC_SUPABASE_URL=${{ secrets.NEXT_PUBLIC_SUPABASE_URL }} NEXT_PUBLIC_SUPABASE_ANON_KEY=${{ secrets.NEXT_PUBLIC_SUPABASE_ANON_KEY }} + + - name: Set Web Package Visibility to Public + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ORG_NAME: ${{ github.repository_owner }} + run: | + echo "Attempting to set visibility for $ORG_NAME/${{ env.WEB_IMAGE_NAME }}" + RESPONSE_CODE=$(curl -L -s -o /dev/null -w "%{http_code}" -X PATCH \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer $GH_TOKEN" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "https://api.github.com/orgs/$ORG_NAME/packages/container/${{ env.WEB_IMAGE_NAME }}" \ + -d '{"visibility":"public"}') + if [ "$RESPONSE_CODE" -eq 200 ] || [ "$RESPONSE_CODE" -eq 204 ]; then + echo "Package $ORG_NAME/${{ env.WEB_IMAGE_NAME }} visibility set to public successfully." + else + echo "Failed to set package $ORG_NAME/${{ env.WEB_IMAGE_NAME }} visibility to public. HTTP Status: $RESPONSE_CODE" + # Optionally, fail the step: exit 1 + fi diff --git a/api/libs/semantic_layer/spec.yml b/api/libs/semantic_layer/spec.yml index e730eafcf..81d710161 100644 --- a/api/libs/semantic_layer/spec.yml +++ b/api/libs/semantic_layer/spec.yml @@ -1,37 +1,36 @@ # Schema specification for the model structure -models: - - name: string # Required - description: string # Optional - dimensions: - - name: string # Required - description: string # Optional - type: string # Optional, inferred if omitted - searchable: boolean # Optional, default: false - options: [string] # Optional, default: null - measures: - - name: string # Required - description: string # Optional - type: string # Optional, inferred if omitted - metrics: - - name: string # Required - expr: string # Required, can use model.column from entities - description: string # Optional - args: # Optional, required only if expr contains arguments, default: null - - name: string # Required - type: string # Required - description: string # Optional - filters: - - name: string # Required - expr: string # Required, can use model.column from entities - description: string # Optional - args: # Optional, required only if expr contains arguments, default: null - - name: string # Required - type: string # Required - description: string # Optional - entities: - - name: string # Required - primary_key: string # Required - foreign_key: string # Required - type: string # Optional, e.g., "LEFT", "INNER"; LLM decides if omitted - cardinality: string # Optional, e.g., "one-to-many", "many-to-many" - description: string # Optional \ No newline at end of file +- name: string # Required + description: string # Optional + dimensions: + - name: string # Required + description: string # Optional + type: string # Optional, inferred if omitted + searchable: boolean # Optional, default: false + options: [string] # Optional, default: null + measures: + - name: string # Required + description: string # Optional + type: string # Optional, inferred if omitted + metrics: + - name: string # Required + expr: string # Required, can use model.column from entities + description: string # Optional + args: # Optional, required only if expr contains arguments, default: null + - name: string # Required + type: string # Required + description: string # Optional + filters: + - name: string # Required + expr: string # Required, can use model.column from entities + description: string # Optional + args: # Optional, required only if expr contains arguments, default: null + - name: string # Required + type: string # Required + description: string # Optional + entities: + - name: string # Required + primary_key: string # Required + foreign_key: string # Required + type: string # Optional, e.g., "LEFT", "INNER"; LLM decides if omitted + cardinality: string # Optional, e.g., "one-to-many", "many-to-many" + description: string # Optional