diff --git a/.github/workflows/push-docker-image.yml b/.github/workflows/push-docker-image.yml new file mode 100644 index 0000000..13c749c --- /dev/null +++ b/.github/workflows/push-docker-image.yml @@ -0,0 +1,38 @@ +name: Push Docker Image + +on: + release: + types: [published] + +jobs: + push-docker-image: + name: Push Docker Image + runs-on: ubuntu-latest + permissions: + contents: read + strategy: + matrix: + platforms: + - linux/amd64 + - linux/arm64 + steps: + - uses: actions/checkout@v4 + - name: Retrieve major version + uses: winterjung/split@v2 + id: split + with: + msg: ${{ github.ref_name }} + separator: . + - name: Log in to registry + uses: docker/login-action@v3 + with: + password: ${{ secrets.DOCKERHUB_TOKEN }} + username: ${{ secrets.DOCKERHUB_USERNAME }} + - name: Build and push the Docker image + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + platforms: ${{ matrix.platforms }} + push: true + tags: ${{ secrets.DOCKERHUB_REPOSITORY }}:${{ github.ref_name }},${{ secrets.DOCKERHUB_REPOSITORY }}:${{ steps.split.outputs._0 }},${{ secrets.DOCKERHUB_REPOSITORY }}:latest diff --git a/Dockerfile b/Dockerfile index 5038d8d..9e5eb52 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # build -FROM debian:latest as build +FROM debian:stable-slim as build WORKDIR /usr/src/app @@ -17,7 +17,7 @@ COPY Makefile CMakeLists.txt version.h.in ./ RUN make -j8 # prod -FROM debian:latest +FROM debian:stable-slim WORKDIR /usr/src/app