Skip to content

Commit

Permalink
Use a build matrix for Docker releases (#195)
Browse files Browse the repository at this point in the history
  • Loading branch information
emerkle826 committed Jun 1, 2022
1 parent 73fe9ac commit ad92c57
Showing 1 changed file with 44 additions and 165 deletions.
209 changes: 44 additions & 165 deletions .github/workflows/docker-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,123 +41,15 @@ jobs:
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
tags: '${{ env.RELEASE_VERSION }}'
dockerfile: Dockerfile-dse-68
build-oss-4_0_0:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Setup Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_HUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_HUB_USERNAME }}" --password-stdin
- name: Publish 4.0.0 to Registry
run: |
RELEASE_VERSION="${GITHUB_REF##*/}"
docker buildx build --push \
--build-arg CASSANDRA_VERSION=4.0.0 \
--tag k8ssandra/cass-management-api:4.0.0 \
--tag k8ssandra/cass-management-api:4.0.0-$RELEASE_VERSION \
--file Dockerfile-4_0 \
--target oss40 \
--platform linux/amd64,linux/arm64 .
build-oss-4_0_1:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Setup Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_HUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_HUB_USERNAME }}" --password-stdin
- name: Publish 4.0.1 to Registry
run: |
RELEASE_VERSION="${GITHUB_REF##*/}"
docker buildx build --push \
--build-arg CASSANDRA_VERSION=4.0.1 \
--tag k8ssandra/cass-management-api:4.0.1 \
--tag k8ssandra/cass-management-api:4.0.1-$RELEASE_VERSION \
--file Dockerfile-4_0 \
--target oss40 \
--platform linux/amd64,linux/arm64 .
build-oss-4_0_3:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Setup Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_HUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_HUB_USERNAME }}" --password-stdin
- name: Publish 4.0.3 to Registry
run: |
RELEASE_VERSION="${GITHUB_REF##*/}"
docker buildx build --push \
--build-arg CASSANDRA_VERSION=4.0.3 \
--tag k8ssandra/cass-management-api:4.0.3 \
--tag k8ssandra/cass-management-api:4.0.3-$RELEASE_VERSION \
--file Dockerfile-4_0 \
--target oss40 \
--platform linux/amd64,linux/arm64 .
build-oss-4_0_4:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Setup Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_HUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_HUB_USERNAME }}" --password-stdin
- name: Publish 4.0.4 to Registry
run: |
RELEASE_VERSION="${GITHUB_REF##*/}"
docker buildx build --push \
--build-arg CASSANDRA_VERSION=4.0.4 \
--tag k8ssandra/cass-management-api:4.0 \
--tag k8ssandra/cass-management-api:4.0.4 \
--tag k8ssandra/cass-management-api:4.0.4-$RELEASE_VERSION \
--file Dockerfile-4_0 \
--target oss40 \
--platform linux/amd64,linux/arm64 .
build-oss-3_11_7:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Setup Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_HUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_HUB_USERNAME }}" --password-stdin
- name: Publish 3.11.7 to Registry
run: |
RELEASE_VERSION="${GITHUB_REF##*/}"
docker buildx build --push \
--build-arg CASSANDRA_VERSION=3.11.7 \
--tag k8ssandra/cass-management-api:3.11.7 \
--tag k8ssandra/cass-management-api:3.11.7-$RELEASE_VERSION \
--file Dockerfile-oss \
--target oss311 \
--platform linux/amd64,linux/arm64 .
build-oss-3_11_8:

build-oss-3-11x:
strategy:
fail-fast: false
matrix:
cassandra-version: [3.11.7, 3.11.8, 3.11.11, 3.11.12, 3.11.13]
include:
- cassandra-version: 3.11.13
latest: true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
Expand All @@ -170,40 +62,38 @@ jobs:
version: latest
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_HUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_HUB_USERNAME }}" --password-stdin
- name: Publish 3.11.8 to Registry
- if: ${{ matrix.latest }}
name: Publish ${{ matrix.cassandra-version }} to Registry
run: |
RELEASE_VERSION="${GITHUB_REF##*/}"
docker buildx build --push \
--build-arg CASSANDRA_VERSION=3.11.8 \
--tag k8ssandra/cass-management-api:3.11.8 \
--tag k8ssandra/cass-management-api:3.11.8-$RELEASE_VERSION \
--build-arg CASSANDRA_VERSION=${{ matrix.cassandra-version }} \
--tag k8ssandra/cass-management-api:3.11 \
--tag k8ssandra/cass-management-api:${{ matrix.cassandra-version }} \
--tag k8ssandra/cass-management-api:${{ matrix.cassandra-version }}-$RELEASE_VERSION \
--file Dockerfile-oss \
--target oss311 \
--platform linux/amd64,linux/arm64 .
build-oss-3_11_11:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Setup Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_HUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_HUB_USERNAME }}" --password-stdin
- name: Publish 3.11.11 to Registry
- if: ${{ !matrix.latest }}
name: Publish ${{ matrix.cassandra-version }} to Registry
run: |
RELEASE_VERSION="${GITHUB_REF##*/}"
docker buildx build --push \
--build-arg CASSANDRA_VERSION=3.11.11 \
--tag k8ssandra/cass-management-api:3.11.11 \
--tag k8ssandra/cass-management-api:3.11.11-$RELEASE_VERSION \
--build-arg CASSANDRA_VERSION=${{ matrix.cassandra-version }} \
--tag k8ssandra/cass-management-api:${{ matrix.cassandra-version }} \
--tag k8ssandra/cass-management-api:${{ matrix.cassandra-version }}-$RELEASE_VERSION \
--file Dockerfile-oss \
--target oss311 \
--platform linux/amd64,linux/arm64 .
build-oss-3_11_12:
build-oss-4-0x:
strategy:
fail-fast: false
matrix:
cassandra-version: [4.0.0, 4.0.1, 4.0.3, 4.0.4]
include:
- cassandra-version: 4.0.4
latest: true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
Expand All @@ -216,37 +106,26 @@ jobs:
version: latest
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_HUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_HUB_USERNAME }}" --password-stdin
- name: Publish 3.11.12 to Registry
- if: ${{ matrix.latest }}
name: Publish ${{ matrix.cassandra-version }} to Registry
run: |
RELEASE_VERSION="${GITHUB_REF##*/}"
docker buildx build --push \
--build-arg CASSANDRA_VERSION=3.11.12 \
--tag k8ssandra/cass-management-api:3.11.12 \
--tag k8ssandra/cass-management-api:3.11.12-$RELEASE_VERSION \
--file Dockerfile-oss \
--target oss311 \
--build-arg CASSANDRA_VERSION=${{ matrix.cassandra-version }} \
--tag k8ssandra/cass-management-api:4.0 \
--tag k8ssandra/cass-management-api:${{ matrix.cassandra-version }} \
--tag k8ssandra/cass-management-api:${{ matrix.cassandra-version }}-$RELEASE_VERSION \
--file Dockerfile-4_0 \
--target oss40 \
--platform linux/amd64,linux/arm64 .
build-oss-3_11_13:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Setup Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_HUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_HUB_USERNAME }}" --password-stdin
- name: Publish 3.11.13 to Registry
- if: ${{ !matrix.latest }}
name: Publish ${{ matrix.cassandra-version }} to Registry
run: |
RELEASE_VERSION="${GITHUB_REF##*/}"
docker buildx build --push \
--build-arg CASSANDRA_VERSION=3.11.13 \
--tag k8ssandra/cass-management-api:3.11 \
--tag k8ssandra/cass-management-api:3.11.13 \
--tag k8ssandra/cass-management-api:3.11.13-$RELEASE_VERSION \
--file Dockerfile-oss \
--target oss311 \
--build-arg CASSANDRA_VERSION=${{ matrix.cassandra-version }} \
--tag k8ssandra/cass-management-api:${{ matrix.cassandra-version }} \
--tag k8ssandra/cass-management-api:${{ matrix.cassandra-version }}-$RELEASE_VERSION \
--file Dockerfile-4_0 \
--target oss40 \
--platform linux/amd64,linux/arm64 .

0 comments on commit ad92c57

Please sign in to comment.