From 992549ecf0ec27fd3fc82604538f00dcc7588eb6 Mon Sep 17 00:00:00 2001 From: sethsimmons Date: Mon, 4 Oct 2021 08:16:45 -0400 Subject: [PATCH] Migrate to tagged releases --- .../{update-daily.yml => update-base-image.yml} | 12 +++++++++--- .github/workflows/update-image-on-push.yml | 10 +++++++--- Dockerfile | 17 +++++++++-------- 3 files changed, 25 insertions(+), 14 deletions(-) rename .github/workflows/{update-daily.yml => update-base-image.yml} (73%) diff --git a/.github/workflows/update-daily.yml b/.github/workflows/update-base-image.yml similarity index 73% rename from .github/workflows/update-daily.yml rename to .github/workflows/update-base-image.yml index 4f8e490..773f13a 100644 --- a/.github/workflows/update-daily.yml +++ b/.github/workflows/update-base-image.yml @@ -1,7 +1,7 @@ -name: "Update image and push to Github Packages and Docker Hub daily" +name: "Update image and push to Github Packages and Docker Hub weekly" on: schedule: - - cron: "0 12 * * *" # Run every day at noon. + - cron: "0 12 * * 1" # Run every Monday at noon. workflow_dispatch: jobs: rebuild-container: @@ -26,6 +26,10 @@ jobs: password: ${{ secrets.DOCKER_PASSWORD }} - name: "Checkout repository" uses: "actions/checkout@v2.3.4" + - + name: "Get p2pool Release Tag" + id: get_tag + run: echo "::set-output name=tag::$(awk -F "=" '/P2POOL_BRANCH=/ {print $2}' Dockerfile)" - name: Build and push to Docker Hub and Github Packages Docker Registry id: docker_build @@ -34,7 +38,9 @@ jobs: push: true tags: | ghcr.io/${{ github.repository_owner }}/p2pool:latest + ghcr.io/${{ github.repository_owner }}/p2pool:${{ steps.get_tag.outputs.tag }} ${{ secrets.DOCKER_USERNAME }}/p2pool:latest + ${{ secrets.DOCKER_USERNAME }}/p2pool:${{ steps.get_tag.outputs.tag }} labels: | org.opencontainers.image.source=${{ github.event.repository.html_url }} org.opencontainers.image.created=${{ steps.prep.outputs.created }} @@ -43,7 +49,7 @@ jobs: name: Scan new image and output results uses: Azure/container-scan@v0 with: - image-name: ${{ secrets.DOCKER_USERNAME }}/p2pool:latest + image-name: ${{ secrets.DOCKER_USERNAME }}/p2pool:${{ steps.get_tag.outputs.tag }} severity-threshold: HIGH - name: Image digest diff --git a/.github/workflows/update-image-on-push.yml b/.github/workflows/update-image-on-push.yml index 16289f7..ee467be 100644 --- a/.github/workflows/update-image-on-push.yml +++ b/.github/workflows/update-image-on-push.yml @@ -27,6 +27,10 @@ jobs: password: ${{ secrets.DOCKER_PASSWORD }} - name: "Checkout repository" uses: "actions/checkout@v2.3.4" + - + name: "Get p2pool Release Tag" + id: get_tag + run: echo "::set-output name=tag::$(awk -F "=" '/P2POOL_BRANCH=/ {print $2}' Dockerfile)" - name: Build and push to Docker Hub and Github Packages Docker Registry id: docker_build @@ -35,18 +39,18 @@ jobs: push: true tags: | ghcr.io/${{ github.repository_owner }}/p2pool:latest + ghcr.io/${{ github.repository_owner }}/p2pool:${{ steps.get_tag.outputs.tag }} ${{ secrets.DOCKER_USERNAME }}/p2pool:latest + ${{ secrets.DOCKER_USERNAME }}/p2pool:${{ steps.get_tag.outputs.tag }} labels: | org.opencontainers.image.source=${{ github.event.repository.html_url }} org.opencontainers.image.created=${{ steps.prep.outputs.created }} org.opencontainers.image.revision=${{ github.sha }} - cache-from: type=registry,ref=${{ secrets.DOCKER_USERNAME }}/p2pool:latest - cache-to: type=inline - name: Scan new image and output results uses: Azure/container-scan@v0 with: - image-name: ${{ secrets.DOCKER_USERNAME }}/p2pool:latest + image-name: ${{ secrets.DOCKER_USERNAME }}/p2pool:${{ steps.get_tag.outputs.tag }} severity-threshold: HIGH - name: Image digest diff --git a/Dockerfile b/Dockerfile index 43b7dd5..459a048 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,11 @@ +ARG P2POOL_BRANCH=v1.1 + # Select Ubuntu 20.04LTS for the build image base FROM ubuntu:20.04 as build -LABEL author="sethsimmons@pm.me" \ - maintainer="sethsimmons@pm.me" +LABEL author="sethforprivacy@protonmail.com" \ + maintainer="sethforprivacy@protonmail.com" -# Dependency list from https://github.com/monero-project/monero#compiling-monero-from-source -# Added DEBIAN_FRONTEND=noninteractive to workaround tzdata prompt on installation +# Dependency list from https://github.com/SChernykh/p2pool#ubuntu-2004 RUN apt-get update \ && apt-get upgrade -y \ && DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends git \ @@ -18,13 +19,13 @@ ENV CXXFLAGS='-fPIC' ENV USE_SINGLE_BUILDDIR 1 ENV BOOST_DEBUG 1 -# Switch to Monero source directory +# Switch to p2pool source directory WORKDIR /p2pool -# Git pull Monero source at specified tag/branch -RUN git clone --recursive https://github.com/SChernykh/p2pool . +# Git pull p2pool source at specified tag/branch +RUN git clone --recursive --branch ${P2POOL_BRANCH} https://github.com/SChernykh/p2pool . -# Make static Monero binaries +# Make static p2pool binary ARG NPROC RUN test -z "$NPROC" && nproc > /nproc || echo -n "$NPROC" > /nproc && mkdir build && cd build && cmake .. && make -j"$(cat /nproc)"