Skip to content

Commit

Permalink
Use multiplatform build
Browse files Browse the repository at this point in the history
  • Loading branch information
Anze committed Nov 10, 2020
1 parent 5ce6c8d commit 496851e
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 15 deletions.
23 changes: 17 additions & 6 deletions .github/workflows/on_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,34 @@ jobs:
- name: Checkout source code
uses: actions/checkout@v1

- name: Set up QEMU for more platforms
uses: docker/setup-qemu-action@v1
with:
platforms: amd64,arm

- name: Deploy to Docker Hub
- name: Set docker build as alias to buildx (multiarch build)
uses: docker/setup-buildx-action@v1
id: buildx
# with:
# install: true

- name: Deploy to Docker Hub - ARMv7
if: success() && startsWith(github.ref, 'refs/tags/v')
env:
GITHUB_REF_TAG: ${{ github.ref }}
DOCKER_REGISTRY: docker.io
DOCKER_IMAGE: grafolean/grafolean-snmp-bot
DOCKER_USER: grafolean
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
BUILD_PLATFORMS: linux/arm/v7
run: |
echo "Available plaftorms: ${{ steps.buildx.outputs.platforms }}"
echo "Building for plaftorms: $BUILD_PLATFORMS"
export VERSION=${GITHUB_REF_TAG:10:50}
echo "Version is $VERSION"
export LAST_KNOWN_VERSION=`git tag -l --sort=-version:refname "v*.*.*" | grep -v rc | head -n 1 | tr -d '[:space:]'`
echo "Last known version is $LAST_KNOWN_VERSION"
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD $DOCKER_REGISTRY
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') .
[ "$LAST_KNOWN_VERSION" == "$VERSION" ] && docker tag "docker.io/$DOCKER_IMAGE:$VERSION" "docker.io/$DOCKER_IMAGE:latest" || echo "NOT MARKING AS LATEST!"
docker images
docker push "docker.io/$DOCKER_IMAGE:$VERSION"
[ "$LAST_KNOWN_VERSION" == "$VERSION" ] && docker push "docker.io/$DOCKER_IMAGE:latest" || echo "NOT LATEST!"
[ "$LAST_KNOWN_VERSION" == "$VERSION" ] && echo "MARKING AS LATEST!" || echo "NOT MARKING AS LATEST!"
[ "$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') .
[ "$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') .
18 changes: 9 additions & 9 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@ LABEL org.label-schema.vendor="Grafolean" \
org.label-schema.build-date=$BUILD_DATE \
org.label-schema.docker.schema-version="1.0"
COPY --from=python-requirements /requirements.txt /requirements.txt
RUN \
apt-get update && \
apt-get install --no-install-recommends -q -y libsnmp-dev build-essential git && \
pip install --no-cache-dir -r /requirements.txt && \
apt-get purge -y build-essential && \
apt-get clean autoclean && \
apt-get autoremove --yes && \
rm -rf /var/lib/{apt,dpkg,cache,log}/ && \
echo "alias l='ls -altr'" >> /root/.bashrc
# RUN \
# apt-get update && \
# apt-get install --no-install-recommends -q -y libsnmp-dev build-essential libpq-dev python3-dev git && \
# pip install --no-cache-dir -r /requirements.txt && \
# apt-get purge -y build-essential libpq-dev python3-dev && \
# apt-get clean autoclean && \
# apt-get autoremove --yes && \
# rm -rf /var/lib/{apt,dpkg,cache,log}/ && \
# echo "alias l='ls -altr'" >> /root/.bashrc
COPY --from=build-backend /snmpbot/ /snmpbot/
WORKDIR /snmpbot
# check for "fail" file and if it exists, remove it and fail the check:
Expand Down

0 comments on commit 496851e

Please sign in to comment.