File tree Expand file tree Collapse file tree 6 files changed +34
-28
lines changed Expand file tree Collapse file tree 6 files changed +34
-28
lines changed Original file line number Diff line number Diff line change 16
16
strategy :
17
17
fail-fast : false
18
18
matrix :
19
- emqx_minor :
19
+ base_image_vsn :
20
20
- " 5.0"
21
21
platform :
22
22
- [ubuntu22.04 , "linux/amd64,linux/arm64"]
53
53
- uses : docker/metadata-action@v4
54
54
id : base_meta
55
55
with :
56
- images : ghcr.io/${{ github.repository }}/base-${{ matrix.emqx_minor }}
56
+ images : ghcr.io/${{ github.repository }}/base-${{ matrix.base_image_vsn }}
57
57
tags : type=raw,value=${{ matrix.platform[0] }}
58
58
- name : Build base image
59
59
uses : docker/build-push-action@v3
Original file line number Diff line number Diff line change 34
34
strategy :
35
35
fail-fast : false
36
36
matrix :
37
- emqx_minor :
37
+ base_image_vsn :
38
38
- " 5.0"
39
39
platform :
40
40
- [ubuntu22.04 , "linux/amd64,linux/arm64"]
71
71
- uses : docker/metadata-action@v4
72
72
id : base_meta
73
73
with :
74
- images : ghcr.io/${{ github.repository }}/base-${{ matrix.emqx_minor }}
74
+ images : ghcr.io/${{ github.repository }}/base-${{ matrix.base_image_vsn }}
75
75
tags : type=raw,value=${{ matrix.platform[0] }}
76
76
- name : Build base image
77
77
uses : docker/build-push-action@v3
97
97
strategy :
98
98
fail-fast : false
99
99
matrix :
100
- emqx_minor :
100
+ base_image_vsn :
101
101
- " 5.0"
102
102
otp : ${{ fromJSON(needs.prepare.outputs.otp) }}
103
103
elixir : ${{ fromJSON(needs.prepare.outputs.elixir) }}
@@ -144,7 +144,7 @@ jobs:
144
144
tags : ${{ steps.meta.outputs.tags }}
145
145
labels : ${{ steps.meta.outputs.labels }}
146
146
build-args : |
147
- BUILD_FROM=ghcr.io/${{ github.repository }}/base-${{ matrix.emqx_minor }}:${{ matrix.platform[0] }}
147
+ BUILD_FROM=ghcr.io/${{ github.repository }}/base-${{ matrix.base_image_vsn }}:${{ matrix.platform[0] }}
148
148
OTP_VERSION=${{ matrix.otp }}
149
149
ELIXIR_VERSION=${{ matrix.elixir }}
150
150
file : ./Dockerfile
Original file line number Diff line number Diff line change 33
33
34
34
strategy :
35
35
matrix :
36
- emqx_minor :
36
+ base_image_vsn :
37
37
- " 5.0"
38
38
otp : ${{ fromJSON(needs.prepare.outputs.otp) }}
39
39
elixir : ${{ fromJSON(needs.prepare.outputs.elixir) }}
@@ -80,14 +80,14 @@ jobs:
80
80
with :
81
81
push : true
82
82
platforms : ${{ matrix.platform[1] }}
83
- tags : localhost:5000/${{ github.repository }}/base-${{ matrix.emqx_minor }}:${{ matrix.platform[0] }}
83
+ tags : localhost:5000/${{ github.repository }}/base-${{ matrix.base_image_vsn }}:${{ matrix.platform[0] }}
84
84
file : ${{ matrix.platform[0] }}/Dockerfile
85
85
context : .
86
86
- uses : docker/build-push-action@v3
87
87
with :
88
88
platforms : ${{ matrix.platform[1] }}
89
89
build-args : |
90
- BUILD_FROM=localhost:5000/${{ github.repository }}/base-${{ matrix.emqx_minor }}:${{ matrix.platform[0] }}
90
+ BUILD_FROM=localhost:5000/${{ github.repository }}/base-${{ matrix.base_image_vsn }}:${{ matrix.platform[0] }}
91
91
OTP_VERSION=${{ matrix.otp }}
92
92
ELIXIR_VERSION=${{ matrix.elixir }}
93
93
file : ./Dockerfile
Original file line number Diff line number Diff line change 1
- NOTE: Must sync Dockerfile chages from main-4.4 branch!
2
-
3
- # Docker images for EMQX Builder
1
+ # Docker images for building EMQX v5 or later packages
4
2
5
3
This repo holds the Dockerfile and build scripts to build
6
4
docker images which are used to build EMQX.
7
5
8
6
The ` main-4.4 ` branch is for EMQX 4.4 series.
9
- The ` main ` branch is for EMQX 5.0 series.
7
+ The ` main ` branch is for EMQX 5.x series.
10
8
11
9
## OTP repo https://github.com/emqx/otp.git
12
10
13
11
EMQX uses a forked Erlang/OTP with the tag scheme ` <UPSTREAM_TAG>-N `
14
12
where ` N ` is the build number which includes bug fixes to Erlang/OTP source code.
15
13
For example: ` OTP-24.1.5-1 `
16
14
17
- ## Add new OTP / Elixir versions to build
18
-
19
- When we need to support a new OTP or Elixir version for a bugfix
20
- release, we should add a new OTP tag to the list in RELEASE.md
21
-
22
- for example, after ` 5.0.0-otp24.1.5-1 ` is released, in case there is a
23
- bug found in OTP which requires OTP ` 24.2-1 ` , we should add `+
24
- OTP-24.2-1` to the list. For Elixir, once ` 1.13.2` is released, for
25
- example, it should be added as ` + Elixir-1.13.2 ` to the list.
26
-
27
- This list should be append-only in case we want to rebuild an old EMQX tag,
28
- we can still find an up-to-date docker image for it.
29
-
30
15
## Image tag scheme
31
16
32
17
```
Original file line number Diff line number Diff line change 1
- New EMQX 5.0 Builder is Released
1
+ New EMQX v5 Builder is Released
2
2
3
3
OTP versions from emqx/otp.git:
4
4
5
- + OTP-24.3.4.2-3
6
5
+ OTP-25.3.2-1
7
6
8
7
Elixir versions from elixir-lang/elixir.git:
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+
3
+ # # This script prints out all the possible emqx-builder docker image tags built from the latest git tag
4
+
5
+ GREP=' grep --color=never'
6
+ ALL_SYS=" $( $GREP -A20 ' platform:' .github/workflows/main.yaml | \
7
+ $GREP -E ' \-\s?\[.*\]$' | \
8
+ tr -d ' \- []"' | \
9
+ sed -e ' /^#.*/d' | \
10
+ cut -d' ,' -f1 | \
11
+ sort -u) "
12
+
13
+ GIT_TAG=" $( git describe --abbrev=0 --tags) "
14
+ OTP_VERSIONS=" $( $GREP -E " ^\+\sOTP-.*" ./RELEASE.md | sed ' s/\+\sOTP-//g' ) "
15
+ ELIXIR_VERSIONS=" $( $GREP -E " ^\+\sElixir-.*" ./RELEASE.md | sed ' s/\+\sElixir-//g' ) "
16
+ for elixir in $ELIXIR_VERSIONS ; do
17
+ for otp in $OTP_VERSIONS ; do
18
+ for sys in $ALL_SYS ; do
19
+ echo " ghcr.io/emqx/emqx-builder/${GIT_TAG} :${elixir} -${otp} -${sys} "
20
+ done
21
+ done
22
+ done
You can’t perform that action at this time.
0 commit comments