Skip to content

Commit 77efbf7

Browse files
authored
Merge pull request #279 from fescobar/beta
#274 Updating container components/dependencies and gh action
2 parents aeb786e + 78a0232 commit 77efbf7

File tree

8 files changed

+94
-553
lines changed

8 files changed

+94
-553
lines changed

.github/workflows/docker-publish.yml

Lines changed: 49 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -12,94 +12,90 @@ on:
1212

1313
env:
1414
DOCKER_IMAGE: frankescobar/allure-docker-service
15-
ALLURE_RELEASE: 2.27.0
16-
QEMU_VERSION: v4.0.0
17-
DOCKER_CLI_EXPERIMENTAL: enabled
15+
ALLURE_RELEASE: 2.35.1
1816

1917
jobs:
2018
build_release:
2119
runs-on: ubuntu-latest
2220
strategy:
2321
matrix:
24-
ARCH: [amd64, arm32v7, arm64v8]
22+
ARCH: [amd64, arm64, armv7]
2523
include:
2624
- ARCH: amd64
27-
DOCKER_FILE: Dockerfile.bionic
28-
JDK: adoptopenjdk:11-jre-openj9-bionic
29-
QEMU_ARCH: x86_64
25+
DOCKER_FILE: Dockerfile
26+
DOCKER_PLATFORM: linux/amd64
27+
JDK: eclipse-temurin:11-jre-noble
3028

31-
- ARCH: arm32v7
32-
DOCKER_FILE: Dockerfile.bionic
33-
JDK: adoptopenjdk:11-jdk-hotspot-bionic
34-
QEMU_ARCH: arm
29+
- ARCH: arm64
30+
DOCKER_FILE: Dockerfile
31+
DOCKER_PLATFORM: linux/arm64
32+
JDK: eclipse-temurin:11-jre-noble
3533

36-
- ARCH: arm64v8
37-
DOCKER_FILE: Dockerfile.bionic
38-
JDK: adoptopenjdk:11-jre-hotspot-bionic
39-
QEMU_ARCH: aarch64
34+
- ARCH: armv7
35+
DOCKER_FILE: Dockerfile
36+
DOCKER_PLATFORM: linux/arm/v7
37+
JDK: eclipse-temurin:11-jre-noble
4038

4139
if: github.event_name == 'push'
4240
outputs:
4341
build_version: ${{ steps.prepare.outputs.build_version }}
4442
steps:
4543
- name: Pulling code
46-
uses: actions/checkout@v2
44+
uses: actions/checkout@v4
4745

4846
- name: Preparing
4947
id: prepare
5048
run: |
5149
echo "DOCKER BUILD: Build Docker image."
52-
echo "DOCKER BUILD: arch - ${{matrix.ARCH}}."
5350
echo "DOCKER BUILD: jdk -> ${{matrix.JDK}}."
54-
echo "DOCKER BUILD: build version -> ${VERSION}."
5551
echo "DOCKER BUILD: allure version -> ${ALLURE_RELEASE}."
56-
echo "DOCKER BUILD: qemu arch - ${{matrix.QEMU_ARCH}}."
57-
echo "DOCKER BUILD: docker file - ${{matrix.DOCKER_FILE}}."
52+
echo "DOCKER BUILD: docker file - ${{matrix.DOCKER_FILE}}."
5853
5954
VERSION=na
60-
TAGS="--tag ${DOCKER_IMAGE}:build"
55+
TAGS="--tag ${DOCKER_IMAGE}:build --tag ${DOCKER_IMAGE}:build-${{matrix.ARCH}}"
6156
6257
if [[ $GITHUB_REF == refs/tags/* ]]; then
6358
VERSION=${GITHUB_REF#refs/tags/v}
6459
if [[ $GITHUB_REF == *"beta"* ]]; then
65-
TAGS="--tag ${DOCKER_IMAGE}:${VERSION} --tag ${DOCKER_IMAGE}:${VERSION}-${{matrix.ARCH}} --tag ${DOCKER_IMAGE}:beta --tag ${DOCKER_IMAGE}:build"
60+
TAGS="--tag ${DOCKER_IMAGE}:${VERSION} --tag ${DOCKER_IMAGE}:${VERSION}-${{matrix.ARCH}} --tag ${DOCKER_IMAGE}:beta --tag ${DOCKER_IMAGE}:build-${{matrix.ARCH}}"
6661
else
67-
TAGS="--tag ${DOCKER_IMAGE}:${VERSION} --tag ${DOCKER_IMAGE}:${VERSION}-${{matrix.ARCH}} --tag ${DOCKER_IMAGE}:latest --tag ${DOCKER_IMAGE}:build"
62+
TAGS="--tag ${DOCKER_IMAGE}:${VERSION} --tag ${DOCKER_IMAGE}:${VERSION}-${{matrix.ARCH}} --tag ${DOCKER_IMAGE}:latest --tag ${DOCKER_IMAGE}:build-${{matrix.ARCH}}"
6863
fi
6964
fi
7065
71-
echo ::set-output name=docker_image::${DOCKER_IMAGE}
72-
echo ::set-output name=build_version::${VERSION}
73-
echo ::set-output name=docker_args::--build-arg ARCH=${{matrix.ARCH}} \
66+
DOCKER_ARGS_STRING="\
7467
--build-arg JDK=${{matrix.JDK}} \
75-
--build-arg QEMU_ARCH=${{matrix.QEMU_ARCH}} \
7668
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
7769
--build-arg BUILD_VERSION=${VERSION} \
7870
--build-arg BUILD_REF=${GITHUB_SHA::8} \
7971
--build-arg ALLURE_RELEASE=${ALLURE_RELEASE} \
80-
${TAGS} --file docker/Dockerfile.bionic .
72+
--platform ${{matrix.DOCKER_PLATFORM}} \
73+
${TAGS} --file docker/Dockerfile ."
74+
75+
echo "DOCKER BUILD: build version -> ${VERSION}."
76+
echo "build_version=${VERSION}" >> $GITHUB_OUTPUT
77+
echo "docker_args=${DOCKER_ARGS_STRING}" >> $GITHUB_OUTPUT
8178
82-
- name: Setting up QEMU
83-
run: |
84-
# Prepare qemu to build non amd64 / x86_64 images
85-
docker run --rm --privileged multiarch/qemu-user-static:register --reset
86-
mkdir tmp
87-
pushd tmp &&
88-
curl -L -o qemu-x86_64-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/$QEMU_VERSION/qemu-x86_64-static.tar.gz && tar xzf qemu-x86_64-static.tar.gz &&
89-
curl -L -o qemu-arm-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/$QEMU_VERSION/qemu-arm-static.tar.gz && tar xzf qemu-arm-static.tar.gz &&
90-
curl -L -o qemu-aarch64-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/$QEMU_VERSION/qemu-aarch64-static.tar.gz && tar xzf qemu-aarch64-static.tar.gz &&
91-
popd
79+
80+
- name: Set up QEMU
81+
uses: docker/setup-qemu-action@v3
82+
with:
83+
platforms: all
84+
85+
- name: Set up Docker Buildx
86+
id: buildx
87+
uses: docker/setup-buildx-action@v3
9288

9389
- name: Docker Building
9490
run: |
95-
docker build --no-cache ${{ steps.prepare.outputs.docker_args }}
91+
docker buildx build --no-cache ${{ steps.prepare.outputs.docker_args }} --load
9692
9793
- name: Docker Testing
9894
run: |
99-
echo "DOCKER TEST: Test Docker image."
100-
echo "DOCKER TEST: testing image -> ${DOCKER_IMAGE}:build"
95+
echo "DOCKER TEST: Test Docker image"
96+
echo "DOCKER TEST: testing image -> ${DOCKER_IMAGE}:build-${{matrix.ARCH}}"
10197
102-
docker run -d --rm --name=testing ${DOCKER_IMAGE}:build
98+
docker run --platform ${{matrix.DOCKER_PLATFORM}} -d --rm --name=testing-${{matrix.ARCH}} ${DOCKER_IMAGE}:build-${{matrix.ARCH}}
10399
if [ $? -ne 0 ]; then
104100
echo "DOCKER TEST: FAILED - Docker container testing failed to start."
105101
exit 1
@@ -110,15 +106,15 @@ jobs:
110106
- name: DockerHub Login
111107
if: success() && startsWith(github.ref, 'refs/tags/v')
112108
env:
113-
DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }}
109+
DOCKER_HUB_USER: ${{ vars.DOCKER_HUB_USER }}
114110
DOCKER_HUB_PASS: ${{ secrets.DOCKER_HUB_PASS }}
115111
run: |
116112
echo "${DOCKER_HUB_PASS}" | docker login -u "${DOCKER_HUB_USER}" --password-stdin
117113
118114
- name: Docker Publishing
119115
if: success() && startsWith(github.ref, 'refs/tags/v')
120116
run: |
121-
echo "DOCKER PUSH: pushing - ${DOCKER_IMAGE}:${{ steps.prepare.outputs.build_version }}-${{matrix.ARCH}}."
117+
echo "DOCKER PUSH: pushing - ${DOCKER_IMAGE}:${{ steps.prepare.outputs.build_version }}-${{matrix.ARCH}}"
122118
docker push ${DOCKER_IMAGE}:${{ steps.prepare.outputs.build_version }}-${{matrix.ARCH}}
123119
124120
- name: Docker Logout
@@ -133,7 +129,7 @@ jobs:
133129
- name: DockerHub Login
134130
if: success() && startsWith(github.ref, 'refs/tags/v')
135131
env:
136-
DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }}
132+
DOCKER_HUB_USER: ${{ vars.DOCKER_HUB_USER }}
137133
DOCKER_HUB_PASS: ${{ secrets.DOCKER_HUB_PASS }}
138134
run: |
139135
echo "${DOCKER_HUB_PASS}" | docker login -u "${DOCKER_HUB_USER}" --password-stdin
@@ -144,11 +140,11 @@ jobs:
144140
BUILD_VERSION=${{ needs.build_release.outputs.build_version }}
145141
docker manifest create ${DOCKER_IMAGE}:${BUILD_VERSION} \
146142
${DOCKER_IMAGE}:${BUILD_VERSION}-amd64 \
147-
${DOCKER_IMAGE}:${BUILD_VERSION}-arm32v7 \
148-
${DOCKER_IMAGE}:${BUILD_VERSION}-arm64v8
143+
${DOCKER_IMAGE}:${BUILD_VERSION}-armv7 \
144+
${DOCKER_IMAGE}:${BUILD_VERSION}-arm64
149145
150-
docker manifest annotate ${DOCKER_IMAGE}:${BUILD_VERSION} ${DOCKER_IMAGE}:${BUILD_VERSION}-arm32v7 --os=linux --arch=arm --variant=v7
151-
docker manifest annotate ${DOCKER_IMAGE}:${BUILD_VERSION} ${DOCKER_IMAGE}:${BUILD_VERSION}-arm64v8 --os=linux --arch=arm64 --variant=v8
146+
docker manifest annotate ${DOCKER_IMAGE}:${BUILD_VERSION} ${DOCKER_IMAGE}:${BUILD_VERSION}-armv7 --os=linux --arch=arm --variant=v7
147+
docker manifest annotate ${DOCKER_IMAGE}:${BUILD_VERSION} ${DOCKER_IMAGE}:${BUILD_VERSION}-arm64 --os=linux --arch=arm64 --variant=v8
152148
153149
docker manifest push ${DOCKER_IMAGE}:${BUILD_VERSION}
154150
@@ -159,11 +155,11 @@ jobs:
159155
160156
docker manifest create ${DOCKER_IMAGE}:${TAG} \
161157
${DOCKER_IMAGE}:${BUILD_VERSION}-amd64 \
162-
${DOCKER_IMAGE}:${BUILD_VERSION}-arm32v7 \
163-
${DOCKER_IMAGE}:${BUILD_VERSION}-arm64v8
158+
${DOCKER_IMAGE}:${BUILD_VERSION}-armv7 \
159+
${DOCKER_IMAGE}:${BUILD_VERSION}-arm64
164160
165-
docker manifest annotate ${DOCKER_IMAGE}:${TAG} ${DOCKER_IMAGE}:${BUILD_VERSION}-arm32v7 --os=linux --arch=arm --variant=v7
166-
docker manifest annotate ${DOCKER_IMAGE}:${TAG} ${DOCKER_IMAGE}:${BUILD_VERSION}-arm64v8 --os=linux --arch=arm64 --variant=v8
161+
docker manifest annotate ${DOCKER_IMAGE}:${TAG} ${DOCKER_IMAGE}:${BUILD_VERSION}-armv7 --os=linux --arch=arm --variant=v7
162+
docker manifest annotate ${DOCKER_IMAGE}:${TAG} ${DOCKER_IMAGE}:${BUILD_VERSION}-arm64 --os=linux --arch=arm64 --variant=v8
167163
168164
docker manifest push ${DOCKER_IMAGE}:${TAG}
169165

README.md

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -91,19 +91,19 @@ Allure Docker Service supports architectures amd64, arm32v7 and arm64v8.
9191

9292
The following table shows the variation of provided images.
9393

94-
|**Tag** |**Base Image** |**Arch** | **OS** |
95-
|----------------|--------------------------------------------|---------|--------|
96-
| 0.20.7-amd64 | amd64/adoptopenjdk:11-jre-openj9-bionic | amd64 | ubuntu |
97-
| 0.20.7-arm32v7 | arm32v7/adoptopenjdk:11-jdk-hotspot-bionic | arm32v7 | ubuntu |
98-
| 0.20.7-arm64v8 | arm64v8/adoptopenjdk:11-jre-hotspot-bionic | arm64v8 | ubuntu |
94+
|**Base Image** |**Arch** | **OS** |
95+
|--------------------------------------------|---------|--------|
96+
| amd64/eclipse-temurin:11-jre-noble | amd64 | ubuntu |
97+
| arm32v7/eclipse-temurin:11-jre-noble | armv7 | ubuntu |
98+
| arm64/eclipse-temurin:11-jre-noble | arm64 | ubuntu |
9999

100100
The following table shows the provided Manifest Lists.
101101

102-
| **Tag** | **allure-docker-service Base Image** |
103-
|----------------------------------------|---------------------------------------------------|
104-
| latest, 2.27.0 | frankescobar/allure-docker-service:2.27.0-amd64 |
105-
| | frankescobar/allure-docker-service:2.27.0-arm32v7 |
106-
| | frankescobar/allure-docker-service:2.27.0-arm64v8 |
102+
| **Tag** | **allure-docker-service Base Image** |
103+
|----------------------------------------|-------------------------------------------------|
104+
| latest, 2.35.1 | frankescobar/allure-docker-service:2.35.1-amd64 |
105+
| | frankescobar/allure-docker-service:2.35.1-armv7 |
106+
| | frankescobar/allure-docker-service:2.35.1-arm64 |
107107

108108
## USAGE
109109
### Generate Allure Results
@@ -722,7 +722,7 @@ You can switch the version container using `frankescobar/allure-docker-service:$
722722
Docker Compose example:
723723
```sh
724724
allure:
725-
image: "frankescobar/allure-docker-service:2.27.0"
725+
image: "frankescobar/allure-docker-service:2.35.1"
726726
```
727727
or using latest version:
728728

@@ -1395,7 +1395,7 @@ docker-compose -f docker-compose-dev.yml up --build
13951395
```
13961396
### Build image
13971397
```sh
1398-
docker build -t allure-release -f docker-custom/Dockerfile.bionic-custom --build-arg ALLURE_RELEASE=2.27.0 .
1398+
docker build --no-cache -t allure-release -f docker/Dockerfile --build-arg ALLURE_RELEASE=2.35.1 .
13991399
```
14001400
### Run container
14011401
```sh
@@ -1413,6 +1413,10 @@ docker exec -it ${CONTAINER_ID} bash
14131413
```sh
14141414
docker exec -it ${CONTAINER_ID} tail -f log
14151415
```
1416+
### Security scan
1417+
```sh
1418+
docker scout cves allure-release
1419+
```
14161420
### Remove all containers
14171421
```sh
14181422
docker container rm $(docker container ls -a -q) -f
@@ -1446,5 +1450,5 @@ docker run -d -p 5050:5050 frankescobar/allure-docker-service
14461450
```
14471451
### Download specific tagged image registered (Example)
14481452
```sh
1449-
docker run -d -p 5050:5050 frankescobar/allure-docker-service:2.27.0
1453+
docker run -d -p 5050:5050 frankescobar/allure-docker-service:2.35.1
14501454
```

deprecated/.travis.yml

Lines changed: 0 additions & 70 deletions
This file was deleted.

0 commit comments

Comments
 (0)