1414 uses : actions/checkout@v1
1515
1616
17+ - name : Set up QEMU for more platforms
18+ uses : docker/setup-qemu-action@v1
19+ with :
20+ platforms : all
21+
22+
23+ - name : Set docker build as alias to buildx (multiarch build)
24+ uses : docker/setup-buildx-action@v1
25+ id : buildx
26+ with :
27+ install : false
28+
29+
1730 - name : Deploy to Docker Hub
1831 if : success() && startsWith(github.ref, 'refs/tags/v')
1932 env :
@@ -22,14 +35,15 @@ jobs:
2235 DOCKER_IMAGE : grafolean/grafolean-ping-bot
2336 DOCKER_USER : grafolean
2437 DOCKER_PASSWORD : ${{ secrets.DOCKER_PASSWORD }}
38+ BUILD_PLATFORMS : linux/arm/v7
2539 run : |
40+ echo "Available plaftorms: ${{ steps.buildx.outputs.platforms }}"
41+ echo "Building for plaftorms: $BUILD_PLATFORMS"
2642 export VERSION=${GITHUB_REF_TAG:10:50}
2743 echo "Version is $VERSION"
2844 export LAST_KNOWN_VERSION=`git tag -l --sort=-version:refname "v*.*.*" | grep -v rc | head -n 1 | tr -d '[:space:]'`
2945 echo "Last known version is $LAST_KNOWN_VERSION"
3046 docker login -u $DOCKER_USER -p $DOCKER_PASSWORD $DOCKER_REGISTRY
31- docker build -t "docker.io/$DOCKER_IMAGE:$VERSION" -t "docker.io/$DOCKER_IMAGE:latest" --build-arg VERSION=$VERSION --build-arg VCS_REF=$GITHUB_SHA --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') .
32- [ "$LAST_KNOWN_VERSION" == "$VERSION" ] && docker tag "docker.io/$DOCKER_IMAGE:$VERSION" "docker.io/$DOCKER_IMAGE:latest" || echo "NOT MARKING AS LATEST!"
33- docker images
34- docker push "docker.io/$DOCKER_IMAGE:$VERSION"
35- [ "$LAST_KNOWN_VERSION" == "$VERSION" ] && docker push "docker.io/$DOCKER_IMAGE:latest" || echo "NOT LATEST!"
47+ docker pull "docker.io/$DOCKER_IMAGE" || true
48+ [ "$LAST_KNOWN_VERSION" == "$VERSION" ] && echo "MARKING AS LATEST!" || echo "NOT MARKING AS LATEST!"
49+ [ "$LAST_KNOWN_VERSION" == "$VERSION" ] && docker buildx build --push --platform "$BUILD_PLATFORMS" -t "docker.io/$DOCKER_IMAGE:$VERSION" -t "docker.io/$DOCKER_IMAGE:latest" --build-arg VERSION=$VERSION --build-arg VCS_REF=$GITHUB_SHA --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') . || docker buildx build --push --platform "$BUILD_PLATFORMS" -t "docker.io/$DOCKER_IMAGE:$VERSION" --build-arg VERSION=$VERSION --build-arg VCS_REF=$GITHUB_SHA --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') .
0 commit comments