Skip to content
Merged
5 changes: 2 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
- name: Run all tests
run: ./run_all_tests.sh

publish:
publish-main:
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
environment: publish
Expand All @@ -65,5 +65,4 @@ jobs:
SECRET_DOCKER_USER_NAME: ${{ secrets.DOCKER_USER_NAME }}
SECRET_DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
- name: Push new Docker image
run: "bash starter_scripts/push_docker_runner_image.sh"

run: "bash starter_scripts/push_docker_runner_image.sh main"
22 changes: 22 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Release

on:
release:
types: [published]

jobs:

publish-release:
runs-on: ubuntu-latest
environment: publish
steps:
- uses: actions/checkout@v2
- name: Build new Docker image
run: "bash starter_scripts/build_docker_runner_image.sh"
- name: Docker login
run: echo "$SECRET_DOCKER_TOKEN" | docker login --username "$SECRET_DOCKER_USER_NAME" --password-stdin
env: # Set the secret as an input
SECRET_DOCKER_USER_NAME: ${{ secrets.DOCKER_USER_NAME }}
SECRET_DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
- name: Push new Docker images
run: bash starter_scripts/push_docker_runner_image.sh latest "${{ github.event.release.tag_name }}"
Original file line number Diff line number Diff line change
@@ -1 +1 @@
9740b3668423869966068799090d3ca78a121c424c99c8704b9fcd8ea9152ca4dcc0d046216beed71ba58df41411b7053fc06c096ccef3dd385e614c579f867b push_docker_runner_image.sh
a779c2e4c65051d7baa865c24248bbd23faf4998d3d62638181930b81f2bbb209e2a26defbe473f203c15154c15eda5e2e44cfad0533fe8630d619dbbc38699b push_docker_runner_image.sh
16 changes: 11 additions & 5 deletions starter_scripts/push_docker_runner_image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@

set -euo pipefail

# If there is at least one argument, we create one docker tag with suffix=$argument per argument
# If there is no argument given we create one docker tag with suffix "latest"
if [ -n "${1-}" ]; then
image_suffix="$1"
image_suffixes=("$@")
else
image_suffix="latest"
image_suffixes="latest"
fi

SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
Expand All @@ -14,8 +16,12 @@ GIT_IMAGE_NAME="$("$SCRIPT_DIR/build_docker_runner_image.sh")"

docker push "$GIT_IMAGE_NAME"

RENAMED_IMAGE_NAME="$("$SCRIPT_DIR/construct_docker_runner_image_name.sh" "$image_suffix")"
for image_suffix in "${image_suffixes[@]}"; do

docker tag "$GIT_IMAGE_NAME" "$RENAMED_IMAGE_NAME"
RENAMED_IMAGE_NAME="$("$SCRIPT_DIR/construct_docker_runner_image_name.sh" "$image_suffix")"

docker push "$RENAMED_IMAGE_NAME"
docker tag "$GIT_IMAGE_NAME" "$RENAMED_IMAGE_NAME"

docker push "$RENAMED_IMAGE_NAME"

done