diff --git a/.github/workflows/tb_controller_docker_publish.yaml b/.github/workflows/tb_controller_docker_publish.yaml new file mode 100644 index 00000000..af9f871d --- /dev/null +++ b/.github/workflows/tb_controller_docker_publish.yaml @@ -0,0 +1,64 @@ +name: Build & Publish Tensorboard Controller Docker image +on: + push: + branches: + - main + - notebooks-v1 + - v*-branch + paths: + - components/tensorboard-controller/** + - releasing/version/VERSION + +env: + IMG: ghcr.io/kubeflow/notebooks/tensorboard-controller + ARCH: linux/amd64,linux/ppc64le,linux/arm64/v8 + +jobs: + push_to_registry: + name: Build & Push image to GHCR + runs-on: ubuntu-22.04 + defaults: + run: + working-directory: components/tensorboard-controller + steps: + - name: Checkout + uses: actions/checkout@v4 + + - uses: dorny/paths-filter@v3 + id: filter + with: + base: ${{ github.ref }} + filters: | + version: + - 'releasing/version/VERSION' + + - name: Login to GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + + - name: Setup QEMU + uses: docker/setup-qemu-action@v3 + + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build and push multi-arch docker image + run: | + make docker-build-push-multi-arch + + - name: Build and push latest multi-arch docker image + if: github.ref == 'refs/heads/notebooks-v1' + run: | + export TAG=latest + make docker-build-push-multi-arch + + - name: Build and push multi-arch docker image on Version change + id: version + if: steps.filter.outputs.version == 'true' + run: | + export TAG=$(cat ../../releasing/version/VERSION) + make docker-build-push-multi-arch diff --git a/components/tensorboard-controller/Makefile b/components/tensorboard-controller/Makefile index 876b10e1..324799c2 100644 --- a/components/tensorboard-controller/Makefile +++ b/components/tensorboard-controller/Makefile @@ -1,5 +1,5 @@ # Image URL to use all building/pushing image targets -IMG ?= ghcr.io/kubeflow/kubeflow/tensorboard-controller +IMG ?= ghcr.io/kubeflow/notebooks/tensorboard-controller TAG ?= $(shell git describe --tags --always --dirty) ARCH ?= linux/amd64 # Produce CRDs that work back to Kubernetes 1.11 (no version conversion)