auto: Administrator updating versions for qa, staging environments #11
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: RPi/arm64 Execution Engine releases | |
on: | |
push: | |
paths: | |
- 'e2/release.yaml' | |
concurrency: | |
group: e2-release-process | |
cancel-in-progress: false | |
jobs: | |
handle-edge-device-rpi-releases: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Pull, tag, and push ARM64 (RPi) images | |
run: | | |
# Parse the release.yaml file to extract versions | |
yq e '.application.envs[] | .name + ":" + (.version | tostring)' e2/release.yaml > temp_arm_rpi.yaml | |
ENVS=$(cat temp_arm_rpi.yaml) | |
echo "Recap step: attempting to process the following releases:" | |
echo "$ENVS" | |
echo "Processing step:" | |
echo "$ENVS" | while IFS=: read -r env version; do | |
version=${version//[[:space:]]/} # Trim whitespace from version | |
IMAGE="aixpand/exe_eng:rpi-$version" | |
NEW_TAG="aixpand/exe_eng:rpi_$env" | |
echo "Environment: $env <- Version: $version" | |
# Pull the specified version | |
echo "Pulling $IMAGE..." | |
if ! docker pull --platform=linux/arm64 $IMAGE; then | |
echo "Failed to pull image $IMAGE" | |
exit 1 | |
fi | |
# Tag and push the image with the environment tag | |
echo "Tagging $IMAGE as $NEW_TAG..." | |
docker tag $IMAGE $NEW_TAG | |
echo "Pushing $NEW_TAG..." | |
docker push $NEW_TAG | |
done | |
shell: bash | |
- name: Logout from Docker Hub | |
run: docker logout |