Skip to content

Commit 496851e

Browse files
author
Anze
committed
Use multiplatform build
1 parent 5ce6c8d commit 496851e

File tree

2 files changed

+26
-15
lines changed

2 files changed

+26
-15
lines changed

.github/workflows/on_release.yml

+17-6
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,34 @@ jobs:
1313
- name: Checkout source code
1414
uses: actions/checkout@v1
1515

16+
- name: Set up QEMU for more platforms
17+
uses: docker/setup-qemu-action@v1
18+
with:
19+
platforms: amd64,arm
1620

17-
- name: Deploy to Docker Hub
21+
- name: Set docker build as alias to buildx (multiarch build)
22+
uses: docker/setup-buildx-action@v1
23+
id: buildx
24+
# with:
25+
# install: true
26+
27+
- name: Deploy to Docker Hub - ARMv7
1828
if: success() && startsWith(github.ref, 'refs/tags/v')
1929
env:
2030
GITHUB_REF_TAG: ${{ github.ref }}
2131
DOCKER_REGISTRY: docker.io
2232
DOCKER_IMAGE: grafolean/grafolean-snmp-bot
2333
DOCKER_USER: grafolean
2434
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
35+
BUILD_PLATFORMS: linux/arm/v7
2536
run: |
37+
echo "Available plaftorms: ${{ steps.buildx.outputs.platforms }}"
38+
echo "Building for plaftorms: $BUILD_PLATFORMS"
2639
export VERSION=${GITHUB_REF_TAG:10:50}
2740
echo "Version is $VERSION"
2841
export LAST_KNOWN_VERSION=`git tag -l --sort=-version:refname "v*.*.*" | grep -v rc | head -n 1 | tr -d '[:space:]'`
2942
echo "Last known version is $LAST_KNOWN_VERSION"
3043
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!"
44+
[ "$LAST_KNOWN_VERSION" == "$VERSION" ] && echo "MARKING AS LATEST!" || echo "NOT MARKING AS LATEST!"
45+
[ "$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') .
46+
[ "$LAST_KNOWN_VERSION" != "$VERSION" ] && 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') .

Dockerfile

+9-9
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ LABEL org.label-schema.vendor="Grafolean" \
2929
org.label-schema.build-date=$BUILD_DATE \
3030
org.label-schema.docker.schema-version="1.0"
3131
COPY --from=python-requirements /requirements.txt /requirements.txt
32-
RUN \
33-
apt-get update && \
34-
apt-get install --no-install-recommends -q -y libsnmp-dev build-essential git && \
35-
pip install --no-cache-dir -r /requirements.txt && \
36-
apt-get purge -y build-essential && \
37-
apt-get clean autoclean && \
38-
apt-get autoremove --yes && \
39-
rm -rf /var/lib/{apt,dpkg,cache,log}/ && \
40-
echo "alias l='ls -altr'" >> /root/.bashrc
32+
# RUN \
33+
# apt-get update && \
34+
# apt-get install --no-install-recommends -q -y libsnmp-dev build-essential libpq-dev python3-dev git && \
35+
# pip install --no-cache-dir -r /requirements.txt && \
36+
# apt-get purge -y build-essential libpq-dev python3-dev && \
37+
# apt-get clean autoclean && \
38+
# apt-get autoremove --yes && \
39+
# rm -rf /var/lib/{apt,dpkg,cache,log}/ && \
40+
# echo "alias l='ls -altr'" >> /root/.bashrc
4141
COPY --from=build-backend /snmpbot/ /snmpbot/
4242
WORKDIR /snmpbot
4343
# check for "fail" file and if it exists, remove it and fail the check:

0 commit comments

Comments
 (0)