Skip to content

Commit b255980

Browse files
authored
Modify docker_release to release to ghrc.io (#820)
Signed-off-by: Jose Luis Rivero <[email protected]>
1 parent 7adf2c1 commit b255980

File tree

1 file changed

+41
-109
lines changed

1 file changed

+41
-109
lines changed

.github/workflows/docker_release.yml

Lines changed: 41 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -1,116 +1,48 @@
1-
name: Release to DockerHub
2-
on:
3-
push:
4-
tags:
5-
- 'v*' # Launch DockerHub push on v* tags (e.g.: v1.2.1)
6-
7-
jobs:
8-
release-docker-image-nonvidia-bionic-melodic-gazebo9:
9-
runs-on: ubuntu-latest
10-
env:
11-
image_name: vrx
12-
registry: osrf/vrx
13-
tag: ${GITHUB_REF#refs/tags/}
14-
dockerhub_tag_prefix:
15-
build_docker_flags:
16-
steps:
17-
- name: Summary
18-
run: |
19-
echo "Pushing new image to DockerHub:";
20-
echo " " ${{env.registry}}:${{env.dockerhub_tag_prefix}}${{env.tag}};
21-
echo "Updating existing image in DockerHub:";
22-
echo " " ${{env.registry}}:${{env.dockerhub_tag_prefix}}current;
23-
24-
- name: Checkout sources
25-
uses: actions/checkout@v2
26-
27-
- name: Install Docker
28-
uses: docker-practice/actions-setup-docker@master
29-
with:
30-
docker_version: 18.09
31-
docker_channel: stable
32-
33-
- name: Create a new VRX Docker image
34-
shell: bash
35-
run: ./docker/build.bash ${{env.build_docker_flags}} .;
36-
37-
- name: Tag versioned image
38-
run: docker tag ${{env.image_name}}:latest ${{env.registry}}:${{env.dockerhub_tag_prefix}}${{env.tag}};
39-
40-
- name: Tag current image
41-
run: docker tag ${{env.image_name}}:latest ${{env.registry}}:${{env.dockerhub_tag_prefix}}current;
1+
name: Release to ghrc.io
422

43-
- name: Login to docker hub
44-
uses: actions-hub/docker/login@master
45-
env:
46-
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}}
47-
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
48-
49-
- name: Push versioned image to DockerHub
50-
uses: actions-hub/docker@master
51-
env:
52-
TAG: ${{env.registry}}:${{env.dockerhub_tag_prefix}}${{env.tag}}
53-
with:
54-
args: push ${IMAGE_TAG}
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
557

56-
- name: Push current image to DockerHub
57-
uses: actions-hub/docker@master
58-
env:
59-
TAG: ${{env.registry}}:${{env.dockerhub_tag_prefix}}current
60-
with:
61-
args: push ${IMAGE_TAG}
8+
env:
9+
REGISTRY: ghcr.io
10+
IMAGE_NAME: ${{ github.repository }}
6211

63-
release-docker-image-nvidia-bionic-melodic-gazebo9:
12+
jobs:
13+
build-and-push-image:
6414
runs-on: ubuntu-latest
65-
env:
66-
image_name: vrx_nvidia
67-
registry: osrf/vrx
68-
tag: ${GITHUB_REF#refs/tags/}
69-
dockerhub_tag_prefix: nvidia_
70-
build_docker_flags: -n
71-
steps:
72-
- name: Summary
73-
run: |
74-
echo "Pushing new image to DockerHub:";
75-
echo " " ${{env.registry}}:${{env.dockerhub_tag_prefix}}${{env.tag}};
76-
echo "Updating existing image in DockerHub:";
77-
echo " " ${{env.registry}}:${{env.dockerhub_tag_prefix}}current;
78-
79-
- name: Checkout sources
80-
uses: actions/checkout@v2
81-
82-
- name: Install Docker
83-
uses: docker-practice/actions-setup-docker@master
84-
with:
85-
docker_version: 18.09
86-
docker_channel: stable
15+
# Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job.
16+
permissions:
17+
contents: read
18+
packages: write
8719

88-
- name: Create a new VRX Docker image
89-
shell: bash
90-
run: docker/build.bash ${{env.build_docker_flags}} .;
91-
92-
- name: Tag versioned image
93-
run: docker tag ${{env.image_name}}:latest ${{env.registry}}:${{env.dockerhub_tag_prefix}}${{env.tag}};
94-
95-
- name: Tag current image
96-
run: docker tag ${{env.image_name}}:latest ${{env.registry}}:${{env.dockerhub_tag_prefix}}current;
97-
98-
- name: Login to docker hub
99-
uses: actions-hub/docker/login@master
100-
env:
101-
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}}
102-
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
103-
104-
- name: Push versioned image to DockerHub
105-
uses: actions-hub/docker@master
106-
env:
107-
TAG: ${{env.registry}}:${{env.dockerhub_tag_prefix}}${{env.tag}}
20+
steps:
21+
- name: Checkout repository
22+
uses: actions/checkout@v4
23+
- name: Log in to the Container registry
24+
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
10825
with:
109-
args: push ${IMAGE_TAG}
26+
registry: ${{ env.REGISTRY }}
27+
username: ${{ github.actor }}
28+
password: ${{ secrets.GITHUB_TOKEN }}
29+
- name: Docker compose build and push
30+
id: docker-build-push
31+
run: |
32+
cd docker
33+
# Define image types in an array
34+
IMAGE_TYPES=("base" "builder" "devel")
35+
36+
# Build images
37+
docker compose -f docker-compose.yml build ${IMAGE_TYPES[@]}
38+
39+
# Tag and push images
40+
for type in "${IMAGE_TYPES[@]}"; do
41+
# Tag latest and version
42+
docker tag vrx-${type}:latest ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-${type}:latest
43+
docker tag vrx-${type}:latest ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-${type}:${{ github.ref_name }}
44+
# Push latest and versioned tags
45+
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-${type}:latest
46+
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-${type}:${{ github.ref_name }}
47+
done
11048
111-
- name: Push current image to DockerHub
112-
uses: actions-hub/docker@master
113-
env:
114-
TAG: ${{env.registry}}:${{env.dockerhub_tag_prefix}}current
115-
with:
116-
args: push ${IMAGE_TAG}

0 commit comments

Comments
 (0)