diff --git a/.github/workflows/_docker-build.yml b/.github/workflows/_docker-build.yml index 9005f21424fb..36b94b5c7e97 100644 --- a/.github/workflows/_docker-build.yml +++ b/.github/workflows/_docker-build.yml @@ -1,4 +1,4 @@ -name: Reusable docker server image build workflow +name: Reusable docker image build workflow on: workflow_call: @@ -35,7 +35,7 @@ permissions: # based on https://docs.docker.com/build/ci/github-actions/multi-platform/#distribute-build-across-multiple-runners jobs: build: - name: Build server image + name: Build image runs-on: ubuntu-22.04 timeout-minutes: 60 outputs: diff --git a/.github/workflows/docker-base.yml b/.github/workflows/docker-base.yml index fe276585a3bd..f2cd2ef99d08 100644 --- a/.github/workflows/docker-base.yml +++ b/.github/workflows/docker-base.yml @@ -39,7 +39,7 @@ jobs: echo "ubuntu-version=${{ env.DEFAULT_UBUNTU }}" >> "$GITHUB_OUTPUT" build-base-images: - name: Build images + name: Build base images uses: ./.github/workflows/_docker-build.yml needs: parameters strategy: diff --git a/.github/workflows/docker-client.yml b/.github/workflows/docker-client.yml new file mode 100644 index 000000000000..47083b258982 --- /dev/null +++ b/.github/workflows/docker-client.yml @@ -0,0 +1,36 @@ +name: Build docker client image + +on: + workflow_dispatch: + inputs: + flwr-version: + description: "Version of Flower e.g. (1.6.0)." + required: true + type: string + +permissions: + contents: read + +jobs: + build-client-images: + name: Build client images + uses: ./.github/workflows/_docker-build.yml + # run only on default branch when using it with workflow_dispatch + if: github.ref_name == github.event.repository.default_branch + strategy: + fail-fast: false + matrix: + python-version: ["3.8", "3.9", "3.10", "3.11"] + with: + namespace-repository: flwr/client + file-dir: src/docker/client + build-args: | + FLWR_VERSION=${{ github.event.inputs.flwr-version }} + BASE_IMAGE_TAG=py${{ matrix.python-version }}-ubuntu22.04 + tags: | + ${{ github.event.inputs.flwr-version }}-py${{ matrix.python-version }}-ubuntu22.04 + ${{ github.event.inputs.flwr-version }} + latest + secrets: + dockerhub-user: ${{ secrets.DOCKERHUB_USERNAME }} + dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}