diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 91256651f..ea08c91eb 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -14,6 +14,7 @@ concurrency: cancel-in-progress: true jobs: + setup_matrix: runs-on: ubuntu-24.04 outputs: @@ -103,3 +104,29 @@ jobs: export SUPERSET_BUILD_TARGET=${{ matrix.build_preset }} docker compose build superset-init --build-arg DEV_MODE=false --build-arg INCLUDE_CHROMIUM=false docker compose up superset-init --exit-code-from superset-init + + docker-compose-image-tag: + runs-on: ubuntu-24.04 + steps: + - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" + uses: actions/checkout@v4 + with: + persist-credentials: false + - name: Check for file changes + id: check + uses: ./.github/actions/change-detector/ + with: + token: ${{ secrets.GITHUB_TOKEN }} + - name: Setup Docker Environment + if: steps.check.outputs.docker + uses: ./.github/actions/setup-docker + with: + dockerhub-user: ${{ secrets.DOCKERHUB_USER }} + dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }} + build: "false" + install-docker-compose: "true" + - name: docker-compose sanity check + if: steps.check.outputs.docker + shell: bash + run: | + docker compose -f docker-compose-image-tag.yml up --exit-code-from superset-init diff --git a/docker/docker-bootstrap.sh b/docker/docker-bootstrap.sh index 7fdb2d67a..1f7f17bb5 100755 --- a/docker/docker-bootstrap.sh +++ b/docker/docker-bootstrap.sh @@ -18,13 +18,12 @@ set -eo pipefail -# UV may not be installed in older images -pip install uv - # Make python interactive if [ "$DEV_MODE" == "true" ]; then - echo "Reinstalling the app in editable mode" - uv pip install -e . + if command -v uv > /dev/null 2>&1; then + echo "Reinstalling the app in editable mode" + uv pip install -e . + fi fi REQUIREMENTS_LOCAL="/app/docker/requirements-local.txt" # If Cypress run – overwrite the password for admin and export env variables @@ -35,7 +34,13 @@ if [ "$CYPRESS_CONFIG" == "true" ]; then fi if [[ "$DATABASE_DIALECT" == postgres* ]] ; then echo "Installing postgres requirements" - uv pip install -e .[postgres] + if command -v uv > /dev/null 2>&1; then + # Use uv in newer images + uv pip install -e .[postgres] + else + # Use pip in older images + pip install -e .[postgres] + fi fi # # Make sure we have dev requirements installed diff --git a/scripts/change_detector.py b/scripts/change_detector.py index 7394936d3..7efd0ede5 100755 --- a/scripts/change_detector.py +++ b/scripts/change_detector.py @@ -40,7 +40,7 @@ PATTERNS = { ], "docker": [ r"^Dockerfile$", - r"^docker/", + r"^docker.*", ], "docs": [ r"^docs/",