summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Kuryloski <kuryloskip@vmware.com>2020-11-23 11:59:25 +0100
committerPhilip Kuryloski <kuryloskip@vmware.com>2020-11-23 12:00:50 +0100
commit7bd87313a703a4f184adb77b40bf262bc71102da (patch)
tree39ad4f3954826f28f96aa02aa2571c9adfd2665a
parent810dcb2cfe45f3a82445b6b04eaea32c0d99fc2c (diff)
downloadrabbitmq-server-git-7bd87313a703a4f184adb77b40bf262bc71102da.tar.gz
Use workflow matrix for ci base images [ci skip]
Project the jobs over the erlang versions natively instead of via workflow file templating
-rw-r--r--.github/workflows/base-images.yaml47
-rw-r--r--workflow_sources/base_image/workflow.yml72
2 files changed, 47 insertions, 72 deletions
diff --git a/.github/workflows/base-images.yaml b/.github/workflows/base-images.yaml
index ea670b73f5..674968e0c8 100644
--- a/.github/workflows/base-images.yaml
+++ b/.github/workflows/base-images.yaml
@@ -2,22 +2,28 @@ name: Workflow Base Images
on:
- workflow_dispatch
jobs:
- ci-base-22_3:
- name: ci-base-22_3
+ ci-base:
+ name: ci-base
runs-on: ubuntu-18.04
+ strategy:
+ matrix:
+ erlang_version:
+ - "22.3"
+ - "23.1"
+ fail-fast: false
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v2
- - name: CREATE ERLANG+ELIXIR IMAGE (22.3)
+ - name: CREATE ERLANG+ELIXIR IMAGE (${{ matrix.erlang_version }})
uses: docker/build-push-action@v1
with:
username: _json_key
password: ${{ secrets.GCR_JSON_KEY }}
registry: eu.gcr.io
repository: cf-rabbitmq-core/erlang_elixir
- dockerfile: ci/dockerfiles/22.3/erlang_elixir
- tags: "22.3"
- - name: CREATE BASE CI IMAGE (22.3)
+ dockerfile: ci/dockerfiles/${{ matrix.erlang_version }}/erlang_elixir
+ tags: ${{ matrix.erlang_version }}
+ - name: CREATE BASE CI IMAGE (${{ matrix.erlang_version }})
uses: docker/build-push-action@v1
with:
username: _json_key
@@ -25,30 +31,5 @@ jobs:
registry: eu.gcr.io
repository: cf-rabbitmq-core/ci-base
dockerfile: ci/dockerfiles/ci-base
- build_args: ERLANG_VERSION=22.3,SECONDARY_UMBRELLA_GITREFS=v3.7.28 v3.8.9
- tags: "22.3"
- ci-base-23_1:
- name: ci-base-23_1
- runs-on: ubuntu-18.04
- steps:
- - name: CHECKOUT REPOSITORY
- uses: actions/checkout@v2
- - name: CREATE ERLANG+ELIXIR IMAGE (23.1)
- uses: docker/build-push-action@v1
- with:
- username: _json_key
- password: ${{ secrets.GCR_JSON_KEY }}
- registry: eu.gcr.io
- repository: cf-rabbitmq-core/erlang_elixir
- dockerfile: ci/dockerfiles/23.1/erlang_elixir
- tags: "23.1"
- - name: CREATE BASE CI IMAGE (23.1)
- uses: docker/build-push-action@v1
- with:
- username: _json_key
- password: ${{ secrets.GCR_JSON_KEY }}
- registry: eu.gcr.io
- repository: cf-rabbitmq-core/ci-base
- dockerfile: ci/dockerfiles/ci-base
- build_args: ERLANG_VERSION=23.1,SECONDARY_UMBRELLA_GITREFS=v3.7.28 v3.8.9
- tags: "23.1"
+ build_args: ERLANG_VERSION=${{ matrix.erlang_version }},SECONDARY_UMBRELLA_GITREFS=v3.7.28 v3.8.9
+ tags: ${{ matrix.erlang_version }}
diff --git a/workflow_sources/base_image/workflow.yml b/workflow_sources/base_image/workflow.yml
index e1b32c708b..f5e86b7827 100644
--- a/workflow_sources/base_image/workflow.yml
+++ b/workflow_sources/base_image/workflow.yml
@@ -1,49 +1,43 @@
#@ load("@ytt:data", "data")
-#@ def jobs_map_from_list(list_of_jobs):
-#@ jobs = {}
-#@ for job in list_of_jobs:
-#@ name = job['name']
-#@ jobs[name] = job
-#@ end
-#@ return jobs
-#@ end
-
#@ def to_build_args(d):
#@ return ",".join(['{0}={1}'.format(k,d[k]) for k in d.keys()])
#@ end
-#@ def base_image_job(erlang_version):
-name: #@ ("ci-base-" + erlang_version).replace(".", "_")
-runs-on: ubuntu-18.04
-steps:
- - name: CHECKOUT REPOSITORY
- uses: actions/checkout@v2
- - name: #@ 'CREATE ERLANG+ELIXIR IMAGE ({})'.format(erlang_version)
- uses: docker/build-push-action@v1
- with:
- username: _json_key
- password: ${{ secrets.GCR_JSON_KEY }}
- registry: eu.gcr.io
- repository: cf-rabbitmq-core/erlang_elixir
- dockerfile: #@ 'ci/dockerfiles/{}/erlang_elixir'.format(erlang_version)
- tags: #@ erlang_version
- - name: #@ 'CREATE BASE CI IMAGE ({})'.format(erlang_version)
- uses: docker/build-push-action@v1
- with:
- username: _json_key
- password: ${{ secrets.GCR_JSON_KEY }}
- registry: eu.gcr.io
- repository: cf-rabbitmq-core/ci-base
- dockerfile: ci/dockerfiles/ci-base
- #@ build_args = {}
- #@ build_args["ERLANG_VERSION"] = erlang_version
- #@ build_args["SECONDARY_UMBRELLA_GITREFS"] = ' '.join(data.values.secondary_umbrella_gitrefs)
- build_args: #@ to_build_args(build_args)
- tags: #@ erlang_version
-#@ end
---
name: Workflow Base Images
#! https://github.com/k14s/ytt/issues/189
a_magic_string_that_we_will_sed_to_on: [workflow_dispatch]
-jobs: #@ jobs_map_from_list([base_image_job(v) for v in data.values.erlang_versions])
+jobs:
+ ci-base:
+ name: ci-base
+ runs-on: ubuntu-18.04
+ strategy:
+ matrix:
+ erlang_version: #@ data.values.erlang_versions
+ fail-fast: false
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v2
+ - name: CREATE ERLANG+ELIXIR IMAGE (${{ matrix.erlang_version }})
+ uses: docker/build-push-action@v1
+ with:
+ username: _json_key
+ password: ${{ secrets.GCR_JSON_KEY }}
+ registry: eu.gcr.io
+ repository: cf-rabbitmq-core/erlang_elixir
+ dockerfile: ci/dockerfiles/${{ matrix.erlang_version }}/erlang_elixir
+ tags: ${{ matrix.erlang_version }}
+ - name: CREATE BASE CI IMAGE (${{ matrix.erlang_version }})
+ uses: docker/build-push-action@v1
+ with:
+ username: _json_key
+ password: ${{ secrets.GCR_JSON_KEY }}
+ registry: eu.gcr.io
+ repository: cf-rabbitmq-core/ci-base
+ dockerfile: ci/dockerfiles/ci-base
+ #@ build_args = {}
+ #@ build_args["ERLANG_VERSION"] = "${{ matrix.erlang_version }}"
+ #@ build_args["SECONDARY_UMBRELLA_GITREFS"] = ' '.join(data.values.secondary_umbrella_gitrefs)
+ build_args: #@ to_build_args(build_args)
+ tags: ${{ matrix.erlang_version }}