From c9b016e10fd124ae0e7c88e04d1549b599ef9a5b Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:26:51 +0100 Subject: [PATCH 001/114] added initial docker github action --- .github/workflows/build-publish.yml | 43 +++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/build-publish.yml diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml new file mode 100644 index 0000000..0c0d8dc --- /dev/null +++ b/.github/workflows/build-publish.yml @@ -0,0 +1,43 @@ + +name: Build and Publish Docker Image + +on: + workflow_dispatch: + +env: + IMAGE_NAME: ${{ GITHUB_REPOSITORY_OWNER }}/root + + +jobs: + build-and-push-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ github.actor }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and Push Ubuntu image + uses: docker/build-push-action@v2 + with: + context: ubuntu/ + push: true + build-args: | + ROOT_BIN=root_v6.26.00.Linux-ubuntu20-x86_64-gcc9.3.tar.gz + tags: | + ghcr.io/${{ env.IMAGE_NAME }}:latest From 7a377210d9bab6b9dfdf519a2e98a783d2a2f1ad Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:30:28 +0100 Subject: [PATCH 002/114] commented dockerhub auth --- .github/workflows/build-publish.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 0c0d8dc..34c24b6 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -26,11 +26,11 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GHCR_WRITE_TOKEN }} - - name: Log in to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ github.actor }} - password: ${{ secrets.DOCKERHUB_TOKEN }} +# - name: Log in to Docker Hub +# uses: docker/login-action@v1 +# with: +# username: ${{ github.actor }} +# password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and Push Ubuntu image uses: docker/build-push-action@v2 From 6514e225b4b2787ccd5e3f4a4f7b88950eec7e21 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:34:20 +0100 Subject: [PATCH 003/114] added label --- ubuntu/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ubuntu/Dockerfile b/ubuntu/Dockerfile index d8fdc15..07928d9 100644 --- a/ubuntu/Dockerfile +++ b/ubuntu/Dockerfile @@ -2,6 +2,8 @@ FROM ubuntu:20.04 LABEL maintainer.name="ROOT team" LABEL maintainer.email="root-dev@cern.ch" +# TODO: replace fork with original repository +LABEL org.opencontainers.image.source="https://github.com/lobis/root-docker" ENV LANG=C.UTF-8 From 48d1f14a47eb2815770ad47b4e4faccf3e1b4063 Mon Sep 17 00:00:00 2001 From: Luis Obis <35803280+lobis@users.noreply.github.com> Date: Tue, 8 Mar 2022 12:37:48 +0100 Subject: [PATCH 004/114] fix action env variable --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 34c24b6..2c89450 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -5,7 +5,7 @@ on: workflow_dispatch: env: - IMAGE_NAME: ${{ GITHUB_REPOSITORY_OWNER }}/root + IMAGE_NAME: ${{ env.GITHUB_REPOSITORY_OWNER }}/root jobs: From 451d8bb92d1b71685ece59500229531b9991a9f5 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:41:08 +0100 Subject: [PATCH 005/114] moved env to job level --- .github/workflows/build-publish.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 2c89450..0c98c50 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -4,10 +4,6 @@ name: Build and Publish Docker Image on: workflow_dispatch: -env: - IMAGE_NAME: ${{ env.GITHUB_REPOSITORY_OWNER }}/root - - jobs: build-and-push-image: runs-on: ubuntu-latest @@ -15,6 +11,9 @@ jobs: contents: read packages: write + env: + IMAGE_NAME: ${{ env.GITHUB_REPOSITORY_OWNER }}/root + steps: - name: Checkout repository uses: actions/checkout@v2 From d23bfeb98767d470f92a9bce63a80116a8110051 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:50:21 +0100 Subject: [PATCH 006/114] updated action to define image name --- .github/workflows/build-publish.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 0c98c50..e100b6a 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -12,9 +12,14 @@ jobs: packages: write env: - IMAGE_NAME: ${{ env.GITHUB_REPOSITORY_OWNER }}/root + IMAGE_NAME: root-project/root steps: + - name: Set image name + run: | + echo "::set-env name=IMAGE_NAME::${{ env.GITHUB_REPOSITORY_OWNER }}/root" + run: echo "IMAGE_NAME = $IMAGE_NAME" + - name: Checkout repository uses: actions/checkout@v2 @@ -39,4 +44,4 @@ jobs: build-args: | ROOT_BIN=root_v6.26.00.Linux-ubuntu20-x86_64-gcc9.3.tar.gz tags: | - ghcr.io/${{ env.IMAGE_NAME }}:latest + ghcr.io/${{ env.IMAGE_NAME }}/root:latest From de79a67289a08e7ae4535c19a8cb385f8a74b92d Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:51:39 +0100 Subject: [PATCH 007/114] fix typo in action --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index e100b6a..b494e9e 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -18,7 +18,7 @@ jobs: - name: Set image name run: | echo "::set-env name=IMAGE_NAME::${{ env.GITHUB_REPOSITORY_OWNER }}/root" - run: echo "IMAGE_NAME = $IMAGE_NAME" + echo "IMAGE_NAME = $IMAGE_NAME" - name: Checkout repository uses: actions/checkout@v2 From 696a6a98bc839007785d1c6a9474b9af56dc5ef9 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:53:39 +0100 Subject: [PATCH 008/114] updated action env according to https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#environment-files --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index b494e9e..11fd19a 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -17,7 +17,7 @@ jobs: steps: - name: Set image name run: | - echo "::set-env name=IMAGE_NAME::${{ env.GITHUB_REPOSITORY_OWNER }}/root" + echo "IMAGE_NAME=${{ env.GITHUB_REPOSITORY_OWNER }}/root" >> $GITHUB_ENV echo "IMAGE_NAME = $IMAGE_NAME" - name: Checkout repository From f716c820332d87a3b7392bc3c16dd2030469e685 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:00:10 +0100 Subject: [PATCH 009/114] attempt to fix action env problem --- .github/workflows/build-publish.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 11fd19a..4a38960 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -15,10 +15,13 @@ jobs: IMAGE_NAME: root-project/root steps: - - name: Set image name + - name: Set Image Name run: | echo "IMAGE_NAME=${{ env.GITHUB_REPOSITORY_OWNER }}/root" >> $GITHUB_ENV - echo "IMAGE_NAME = $IMAGE_NAME" + + - name: Print Image Name + run: | + echo "IMAGE_NAME = ${{ env.IMAGE_NAME }}" - name: Checkout repository uses: actions/checkout@v2 From 9048b4107f19f49221363535e79c0a4d4521f9cf Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:03:12 +0100 Subject: [PATCH 010/114] using github context instead of env --- .github/workflows/build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 4a38960..3c4efec 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -17,7 +17,7 @@ jobs: steps: - name: Set Image Name run: | - echo "IMAGE_NAME=${{ env.GITHUB_REPOSITORY_OWNER }}/root" >> $GITHUB_ENV + echo "IMAGE_NAME=${{ github.repository_owner }}/root" >> $GITHUB_ENV - name: Print Image Name run: | @@ -47,4 +47,4 @@ jobs: build-args: | ROOT_BIN=root_v6.26.00.Linux-ubuntu20-x86_64-gcc9.3.tar.gz tags: | - ghcr.io/${{ env.IMAGE_NAME }}/root:latest + ghcr.io/${{ env.IMAGE_NAME }}:latest From 07b63bd8cc17893a42750296f8ef79a8f0a23594 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:04:55 +0100 Subject: [PATCH 011/114] attempt to simplify action --- .github/workflows/build-publish.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 3c4efec..5cfc091 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -12,13 +12,9 @@ jobs: packages: write env: - IMAGE_NAME: root-project/root + IMAGE_NAME: ${{ github.repository_owner }}/root steps: - - name: Set Image Name - run: | - echo "IMAGE_NAME=${{ github.repository_owner }}/root" >> $GITHUB_ENV - - name: Print Image Name run: | echo "IMAGE_NAME = ${{ env.IMAGE_NAME }}" From bc8a3de5819f43f36dbb0e4711c2f04b81a99f79 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:20:05 +0100 Subject: [PATCH 012/114] added UBUNTU_VERSION arg to image, matrix build in action --- .github/workflows/build-publish.yml | 11 ++++++++--- ubuntu/Dockerfile | 4 +++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 5cfc091..ada1570 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -5,11 +5,15 @@ on: workflow_dispatch: jobs: - build-and-push-image: + build-and-push-ubuntu-image: runs-on: ubuntu-latest permissions: contents: read packages: write + strategy: + matrix: + root-version: [6.26.00, 6.24.06, 6.24.02, 6.24.00, 6.22.08, 6.22.06, 6.22.02, 6.22.00, 6.20.08] + ubuntu-version: [20.04] env: IMAGE_NAME: ${{ github.repository_owner }}/root @@ -41,6 +45,7 @@ jobs: context: ubuntu/ push: true build-args: | - ROOT_BIN=root_v6.26.00.Linux-ubuntu20-x86_64-gcc9.3.tar.gz + ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz + UBUNTU_VERSION=${{ matrix.ubuntu-version }} tags: | - ghcr.io/${{ env.IMAGE_NAME }}:latest + ghcr.io/${{ env.IMAGE_NAME }}:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} diff --git a/ubuntu/Dockerfile b/ubuntu/Dockerfile index 07928d9..c2f0c6b 100644 --- a/ubuntu/Dockerfile +++ b/ubuntu/Dockerfile @@ -1,4 +1,6 @@ -FROM ubuntu:20.04 +ARG UBUNTU_VERSION=20.04 + +FROM ubuntu:$UBUNTU_VERSION LABEL maintainer.name="ROOT team" LABEL maintainer.email="root-dev@cern.ch" From 0b8e407ba209db2179ad654e3b3d460e1badb3cc Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:39:19 +0100 Subject: [PATCH 013/114] attempt to add latest tag --- .github/workflows/build-publish.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index ada1570..67e2518 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -16,12 +16,17 @@ jobs: ubuntu-version: [20.04] env: - IMAGE_NAME: ${{ github.repository_owner }}/root + IMAGE_NAME_WITH_TAGS: ${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} steps: - - name: Print Image Name + - name: Add 'latest' tag if applicable + if: ${{ matrix.root-version == '6.26.00' }} run: | - echo "IMAGE_NAME = ${{ env.IMAGE_NAME }}" + echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV + + - name: Print Image name with tag(s) + run: | + echo "Image Names with tag: ${{ env.IMAGE_NAME_WITH_TAGS }}" - name: Checkout repository uses: actions/checkout@v2 @@ -39,13 +44,15 @@ jobs: # username: ${{ github.actor }} # password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and Push Ubuntu image + - name: Build and Push Image uses: docker/build-push-action@v2 with: context: ubuntu/ + pull: true push: true build-args: | ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz UBUNTU_VERSION=${{ matrix.ubuntu-version }} tags: | - ghcr.io/${{ env.IMAGE_NAME }}:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} + ${{ env.IMAGE_NAME_WITH_TAGS }} + From 2a99b7afdfb1662788c0e1f8c955ac236dd9a84a Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:41:21 +0100 Subject: [PATCH 014/114] added missing ghcr.io/ --- .github/workflows/build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 67e2518..cce6ea5 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -16,13 +16,13 @@ jobs: ubuntu-version: [20.04] env: - IMAGE_NAME_WITH_TAGS: ${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} + IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} steps: - name: Add 'latest' tag if applicable if: ${{ matrix.root-version == '6.26.00' }} run: | - echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV + echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV - name: Print Image name with tag(s) run: | From c13c7263ebb322c0a01cce84ad1606e0f50ce325 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:42:50 +0100 Subject: [PATCH 015/114] attempt to simplify --- .github/workflows/build-publish.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index cce6ea5..7fee13e 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -4,6 +4,9 @@ name: Build and Publish Docker Image on: workflow_dispatch: +env: + IMAGE_NAME_WITHOUT_TAGS: ghcr.io/${{ github.repository_owner }}/root + jobs: build-and-push-ubuntu-image: runs-on: ubuntu-latest @@ -16,13 +19,13 @@ jobs: ubuntu-version: [20.04] env: - IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} + IMAGE_NAME_WITH_TAGS: ${{ env.IMAGE_NAME_WITHOUT_TAGS }}:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} steps: - name: Add 'latest' tag if applicable if: ${{ matrix.root-version == '6.26.00' }} run: | - echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV + echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},${{ env.IMAGE_NAME_WITHOUT_TAGS }}:latest" >> $GITHUB_ENV - name: Print Image name with tag(s) run: | From b682c95ea164d9095945c91763cfd16512fbdc3e Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:43:52 +0100 Subject: [PATCH 016/114] reverted previous commit --- .github/workflows/build-publish.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 7fee13e..fd597cb 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -3,9 +3,6 @@ name: Build and Publish Docker Image on: workflow_dispatch: - -env: - IMAGE_NAME_WITHOUT_TAGS: ghcr.io/${{ github.repository_owner }}/root jobs: build-and-push-ubuntu-image: @@ -19,13 +16,13 @@ jobs: ubuntu-version: [20.04] env: - IMAGE_NAME_WITH_TAGS: ${{ env.IMAGE_NAME_WITHOUT_TAGS }}:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} + IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} steps: - name: Add 'latest' tag if applicable if: ${{ matrix.root-version == '6.26.00' }} run: | - echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},${{ env.IMAGE_NAME_WITHOUT_TAGS }}:latest" >> $GITHUB_ENV + echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV - name: Print Image name with tag(s) run: | From 5e5d99ae754049a0cfcfc20e8f66613fd99c491d Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:47:55 +0100 Subject: [PATCH 017/114] formatting --- .github/workflows/build-publish.yml | 34 ++++++++++++++++++----------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index fd597cb..0baa007 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -1,9 +1,8 @@ - name: Build and Publish Docker Image on: workflow_dispatch: - + jobs: build-and-push-ubuntu-image: runs-on: ubuntu-latest @@ -12,14 +11,25 @@ jobs: packages: write strategy: matrix: - root-version: [6.26.00, 6.24.06, 6.24.02, 6.24.00, 6.22.08, 6.22.06, 6.22.02, 6.22.00, 6.20.08] + root-version: + [ + 6.26.00, + 6.24.06, + 6.24.02, + 6.24.00, + 6.22.08, + 6.22.06, + 6.22.02, + 6.22.00, + 6.20.08, + ] ubuntu-version: [20.04] env: IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} - + steps: - - name: Add 'latest' tag if applicable + - name: Add 'latest' tag if: ${{ matrix.root-version == '6.26.00' }} run: | echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV @@ -38,11 +48,11 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GHCR_WRITE_TOKEN }} -# - name: Log in to Docker Hub -# uses: docker/login-action@v1 -# with: -# username: ${{ github.actor }} -# password: ${{ secrets.DOCKERHUB_TOKEN }} + # - name: Log in to Docker Hub + # uses: docker/login-action@v1 + # with: + # username: ${{ github.actor }} + # password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and Push Image uses: docker/build-push-action@v2 @@ -53,6 +63,4 @@ jobs: build-args: | ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz UBUNTU_VERSION=${{ matrix.ubuntu-version }} - tags: | - ${{ env.IMAGE_NAME_WITH_TAGS }} - + tags: ${{ env.IMAGE_NAME_WITH_TAGS }} From 5db9d98c7aa97124b5a40ba6c998fa6f7dbfd58e Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:52:59 +0100 Subject: [PATCH 018/114] addding label from action --- .github/workflows/build-publish.yml | 2 ++ ubuntu/Dockerfile | 20 +++++++++----------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 0baa007..abc3a2c 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -64,3 +64,5 @@ jobs: ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz UBUNTU_VERSION=${{ matrix.ubuntu-version }} tags: ${{ env.IMAGE_NAME_WITH_TAGS }} + labels: | + org.opencontainers.image.source=${{ github.repositoryUrl }} diff --git a/ubuntu/Dockerfile b/ubuntu/Dockerfile index c2f0c6b..a9f3afc 100644 --- a/ubuntu/Dockerfile +++ b/ubuntu/Dockerfile @@ -4,8 +4,6 @@ FROM ubuntu:$UBUNTU_VERSION LABEL maintainer.name="ROOT team" LABEL maintainer.email="root-dev@cern.ch" -# TODO: replace fork with original repository -LABEL org.opencontainers.image.source="https://github.com/lobis/root-docker" ENV LANG=C.UTF-8 @@ -15,15 +13,15 @@ WORKDIR /opt COPY packages packages -RUN apt-get update -qq \ - && ln -sf /usr/share/zoneinfo/UTC /etc/localtime \ - && apt-get -y install $(cat packages) wget\ - && rm -rf /var/lib/apt/lists/*\ - && wget https://root.cern/download/${ROOT_BIN} \ - && tar -xzvf ${ROOT_BIN} \ - && rm -f ${ROOT_BIN} \ - && echo /opt/root/lib >> /etc/ld.so.conf \ - && ldconfig +RUN apt-get update -qq && \ + ln -sf /usr/share/zoneinfo/UTC /etc/localtime && \ + apt-get -y install $(cat packages) wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://root.cern/download/${ROOT_BIN} && \ + tar -xzvf ${ROOT_BIN} && \ + rm -f ${ROOT_BIN} && \ + echo /opt/root/lib >> /etc/ld.so.conf && \ + ldconfig RUN yes | unminimize ENV ROOTSYS /opt/root From bbba774e0c59b567e6b66a7c3364545e93208da2 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 14:01:07 +0100 Subject: [PATCH 019/114] fixed package label --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index abc3a2c..9c564ee 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -65,4 +65,4 @@ jobs: UBUNTU_VERSION=${{ matrix.ubuntu-version }} tags: ${{ env.IMAGE_NAME_WITH_TAGS }} labels: | - org.opencontainers.image.source=${{ github.repositoryUrl }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} From 6661acef9c1234810108b327eb75eb0985de7905 Mon Sep 17 00:00:00 2001 From: Luis Obis Date: Tue, 8 Mar 2022 19:40:03 +0100 Subject: [PATCH 020/114] added fedora workflow --- .github/workflows/build-publish.yml | 49 +++++++++++++++++++++++++++++ fedora/Dockerfile | 10 +++--- 2 files changed, 55 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 9c564ee..8931ed3 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -66,3 +66,52 @@ jobs: tags: ${{ env.IMAGE_NAME_WITH_TAGS }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} + build-and-push-fedora-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + matrix: + include: + - root-version: 6.24.06 + fedora-version: 35 + - root-version: 6.22.08 + fedora-version: 34 + - root-version: 6.22.06 + fedora-version: 33 + + env: + IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-fedora${{ matrix.fedora-version }} + + steps: + - name: Add 'latest' tag + if: ${{ matrix.fedora-version == '35' }} + run: | + echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV + + - name: Print Image name with tag(s) + run: | + echo "Image Names with tag: ${{ env.IMAGE_NAME_WITH_TAGS }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: fedora/ + pull: true + push: true + build-args: | + FEDORA_VERSION=${{ matrix.fedora-version }} + tags: ${{ env.IMAGE_NAME_WITH_TAGS }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} diff --git a/fedora/Dockerfile b/fedora/Dockerfile index f46ab77..5b00701 100644 --- a/fedora/Dockerfile +++ b/fedora/Dockerfile @@ -1,12 +1,14 @@ -FROM fedora:35 +ARG FEDORA_VERSION=35 + +FROM fedora:$FEDORA_VERSION LABEL maintainer.name="ROOT team" LABEL maintainer.email="root-dev@cern.ch" COPY packages packages -RUN dnf update -y \ - && dnf install -y $(cat packages) \ - && rm /packages +RUN dnf update -y && \ + dnf install -y $(cat packages) && \ + rm /packages CMD ["root", "-b"] From e307ed94f91fc5abc14e17d917e28765dd7e3f45 Mon Sep 17 00:00:00 2001 From: Luis Obis Date: Tue, 8 Mar 2022 19:51:28 +0100 Subject: [PATCH 021/114] added test for fedora --- .github/workflows/build-publish.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 8931ed3..f71f7f0 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -66,6 +66,7 @@ jobs: tags: ${{ env.IMAGE_NAME_WITH_TAGS }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} + build-and-push-fedora-image: runs-on: ubuntu-latest permissions: @@ -115,3 +116,7 @@ jobs: tags: ${{ env.IMAGE_NAME_WITH_TAGS }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAGS }} root-config --version From fea378c94f0580619a878cd01c2836e829c32368 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 20:24:52 +0100 Subject: [PATCH 022/114] trying to fix multiple tags --- .github/workflows/build-publish.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index f71f7f0..a5347ed 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -89,11 +89,11 @@ jobs: - name: Add 'latest' tag if: ${{ matrix.fedora-version == '35' }} run: | - echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV + echo 'IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }}\nghcr.io/${{ github.repository_owner }}/root:latest' >> $GITHUB_ENV - name: Print Image name with tag(s) run: | - echo "Image Names with tag: ${{ env.IMAGE_NAME_WITH_TAGS }}" + echo "Image Names with tag:\n${{ env.IMAGE_NAME_WITH_TAGS }}" - name: Checkout repository uses: actions/checkout@v2 @@ -119,4 +119,4 @@ jobs: - name: Test ROOT Version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAGS }} root-config --version + docker run $(echo "${{ env.IMAGE_NAME_WITH_TAGS }}" | tail -n 1) root-config --version From d79ab109af926517183434e0b842c5b0ee793ce5 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 20:35:25 +0100 Subject: [PATCH 023/114] divided workflow --- .github/workflows/build-publish.yml | 122 ---------------------------- .github/workflows/docker-fedora.yml | 54 ++++++++++++ .github/workflows/docker-ubuntu.yml | 68 ++++++++++++++++ 3 files changed, 122 insertions(+), 122 deletions(-) delete mode 100644 .github/workflows/build-publish.yml create mode 100644 .github/workflows/docker-fedora.yml create mode 100644 .github/workflows/docker-ubuntu.yml diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml deleted file mode 100644 index a5347ed..0000000 --- a/.github/workflows/build-publish.yml +++ /dev/null @@ -1,122 +0,0 @@ -name: Build and Publish Docker Image - -on: - workflow_dispatch: - -jobs: - build-and-push-ubuntu-image: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - strategy: - matrix: - root-version: - [ - 6.26.00, - 6.24.06, - 6.24.02, - 6.24.00, - 6.22.08, - 6.22.06, - 6.22.02, - 6.22.00, - 6.20.08, - ] - ubuntu-version: [20.04] - - env: - IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} - - steps: - - name: Add 'latest' tag - if: ${{ matrix.root-version == '6.26.00' }} - run: | - echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV - - - name: Print Image name with tag(s) - run: | - echo "Image Names with tag: ${{ env.IMAGE_NAME_WITH_TAGS }}" - - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Log in to the GitHub Container registry - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GHCR_WRITE_TOKEN }} - - # - name: Log in to Docker Hub - # uses: docker/login-action@v1 - # with: - # username: ${{ github.actor }} - # password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and Push Image - uses: docker/build-push-action@v2 - with: - context: ubuntu/ - pull: true - push: true - build-args: | - ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz - UBUNTU_VERSION=${{ matrix.ubuntu-version }} - tags: ${{ env.IMAGE_NAME_WITH_TAGS }} - labels: | - org.opencontainers.image.source=https://github.com/${{ github.repository }} - - build-and-push-fedora-image: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - strategy: - matrix: - include: - - root-version: 6.24.06 - fedora-version: 35 - - root-version: 6.22.08 - fedora-version: 34 - - root-version: 6.22.06 - fedora-version: 33 - - env: - IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-fedora${{ matrix.fedora-version }} - - steps: - - name: Add 'latest' tag - if: ${{ matrix.fedora-version == '35' }} - run: | - echo 'IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }}\nghcr.io/${{ github.repository_owner }}/root:latest' >> $GITHUB_ENV - - - name: Print Image name with tag(s) - run: | - echo "Image Names with tag:\n${{ env.IMAGE_NAME_WITH_TAGS }}" - - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Log in to the GitHub Container registry - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GHCR_WRITE_TOKEN }} - - - name: Build and Push Image - uses: docker/build-push-action@v2 - with: - context: fedora/ - pull: true - push: true - build-args: | - FEDORA_VERSION=${{ matrix.fedora-version }} - tags: ${{ env.IMAGE_NAME_WITH_TAGS }} - labels: | - org.opencontainers.image.source=https://github.com/${{ github.repository }} - - - name: Test ROOT Version - run: | - docker run $(echo "${{ env.IMAGE_NAME_WITH_TAGS }}" | tail -n 1) root-config --version diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml new file mode 100644 index 0000000..4a39d83 --- /dev/null +++ b/.github/workflows/docker-fedora.yml @@ -0,0 +1,54 @@ +name: Build and Publish Docker Image + +on: + workflow_dispatch: + +jobs: + build-and-push-fedora-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + matrix: + include: + - root-version: 6.24.06 + fedora-version: 35 + - root-version: 6.22.08 + fedora-version: 34 + - root-version: 6.22.06 + fedora-version: 33 + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-fedora${{ matrix.fedora-version }} + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: fedora/ + pull: true + push: true + build-args: | + FEDORA_VERSION=${{ matrix.fedora-version }} + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml new file mode 100644 index 0000000..cfb8b60 --- /dev/null +++ b/.github/workflows/docker-ubuntu.yml @@ -0,0 +1,68 @@ +name: Build and Publish Docker Image + +on: + workflow_dispatch: + +jobs: + build-and-push-ubuntu-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + matrix: + root-version: + [ + 6.26.00, + 6.24.06, + 6.24.02, + 6.24.00, + 6.22.08, + 6.22.06, + 6.22.02, + 6.22.00, + 6.20.08, + ] + ubuntu-version: [20.04] + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + # - name: Log in to Docker Hub + # uses: docker/login-action@v1 + # with: + # username: ${{ github.actor }} + # password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: ubuntu/ + pull: true + push: true + build-args: | + ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz + UBUNTU_VERSION=${{ matrix.ubuntu-version }} + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Add 'latest' tag + if: ${{ matrix.root-version == '6.26.00' }} + run: | + docker push ghcr.io/${{ github.repository_owner }}/root:latest From 0f99b7855661fefd6dba2f1f6ea105e8440aca33 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 20:36:35 +0100 Subject: [PATCH 024/114] changed titles --- .github/workflows/docker-fedora.yml | 2 +- .github/workflows/docker-ubuntu.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 4a39d83..cc17304 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -1,4 +1,4 @@ -name: Build and Publish Docker Image +name: Build and Publish Fedora Image on: workflow_dispatch: diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index cfb8b60..d6e4860 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -1,4 +1,4 @@ -name: Build and Publish Docker Image +name: Build and Publish Ubuntu Image (from binaries) on: workflow_dispatch: From 0a9b59ab76a26bfaa3714385e7062ab33a1a7e1f Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 20:44:27 +0100 Subject: [PATCH 025/114] updated workflows --- .github/workflows/docker-all.yml | 13 +++++++++++++ .github/workflows/docker-fedora.yml | 4 ++++ .github/workflows/docker-ubuntu.yml | 7 ++++++- centos7/Dockerfile | 10 +++++----- 4 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/docker-all.yml diff --git a/.github/workflows/docker-all.yml b/.github/workflows/docker-all.yml new file mode 100644 index 0000000..07e509d --- /dev/null +++ b/.github/workflows/docker-all.yml @@ -0,0 +1,13 @@ +name: Build and Publish All Images + +on: + workflow_dispatch: + +jobs: + exit: + runs-on: ubuntu-latest + + steps: + - name: Print + run: | + echo "This is a way to start multiple workflows from manually activating one" diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index cc17304..96a9502 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -2,6 +2,10 @@ name: Build and Publish Fedora Image on: workflow_dispatch: + workflow_run: + workflows: ["Build and Publish All Images"] + types: + - completed jobs: build-and-push-fedora-image: diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index d6e4860..7bac76b 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -2,6 +2,10 @@ name: Build and Publish Ubuntu Image (from binaries) on: workflow_dispatch: + workflow_run: + workflows: ["Build and Publish All Images"] + types: + - completed jobs: build-and-push-ubuntu-image: @@ -65,4 +69,5 @@ jobs: - name: Add 'latest' tag if: ${{ matrix.root-version == '6.26.00' }} run: | - docker push ghcr.io/${{ github.repository_owner }}/root:latest + docker image tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:latest + docker push diff --git a/centos7/Dockerfile b/centos7/Dockerfile index ddbc43a..49cbab1 100644 --- a/centos7/Dockerfile +++ b/centos7/Dockerfile @@ -5,10 +5,10 @@ LABEL maintainer.email="root-dev@cern.ch" COPY packages packages -RUN yum update -q -y \ - && yum install -y epel-release \ - && yum install -y $(cat packages) \ - && localedef -i en_US -f UTF-8 en_US.UTF-8 \ - && rm -f /packages +RUN yum update -q -y && \ + yum install -y epel-release && \ + yum install -y $(cat packages) && \ + localedef -i en_US -f UTF-8 en_US.UTF-8 && \ + rm -f /packages CMD ["root", "-b"] From 3fa471cb3978ba703fc481584ee834e98744b90f Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 20:50:42 +0100 Subject: [PATCH 026/114] changed action name, fixed typo --- .github/workflows/docker-fedora.yml | 2 +- .github/workflows/docker-ubuntu.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 96a9502..7a9012e 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -3,7 +3,7 @@ name: Build and Publish Fedora Image on: workflow_dispatch: workflow_run: - workflows: ["Build and Publish All Images"] + workflows: ["Trigger Build and Publish All Images"] types: - completed diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index 7bac76b..3c62f7e 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -3,7 +3,7 @@ name: Build and Publish Ubuntu Image (from binaries) on: workflow_dispatch: workflow_run: - workflows: ["Build and Publish All Images"] + workflows: ["Trigger Build and Publish All Images"] types: - completed @@ -70,4 +70,4 @@ jobs: if: ${{ matrix.root-version == '6.26.00' }} run: | docker image tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:latest - docker push + docker push ${{ env.IMAGE_NAME_WITH_TAG }} From 64f83d945b9e738fe64f84aedfb7e12e26d33930 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 20:52:41 +0100 Subject: [PATCH 027/114] fixed name change --- .github/workflows/docker-all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-all.yml b/.github/workflows/docker-all.yml index 07e509d..99098df 100644 --- a/.github/workflows/docker-all.yml +++ b/.github/workflows/docker-all.yml @@ -1,4 +1,4 @@ -name: Build and Publish All Images +name: Trigger Build and Publish All Images on: workflow_dispatch: From 636f14dd33f5e47db76f6469dbf18f3f0496c1d4 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Wed, 9 Mar 2022 10:25:10 +0100 Subject: [PATCH 028/114] added ubuntu from source image --- .../workflows/docker-ubuntu-from-source.yml | 49 +++++++++++++++++++ ubuntu_from_source/Dockerfile | 47 ++++++++++++++++++ ubuntu_from_source/packages | 49 +++++++++++++++++++ 3 files changed, 145 insertions(+) create mode 100644 .github/workflows/docker-ubuntu-from-source.yml create mode 100644 ubuntu_from_source/Dockerfile create mode 100644 ubuntu_from_source/packages diff --git a/.github/workflows/docker-ubuntu-from-source.yml b/.github/workflows/docker-ubuntu-from-source.yml new file mode 100644 index 0000000..3d7b1b8 --- /dev/null +++ b/.github/workflows/docker-ubuntu-from-source.yml @@ -0,0 +1,49 @@ +name: Build and Publish Ubuntu Image (from source) + +on: + workflow_dispatch: + +jobs: + build-and-push-ubuntu-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + matrix: + include: + - root-version: v6-26-00 + cpp-standard: 17 + ubuntu-version: 20.04 + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }}-cpp${{ matrix.cpp-standard }}-from-source + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: ubuntu_from_source/ + pull: true + push: true + build-args: | + ROOT_VERSION=${{ matrix.root-version }} + CMAKE_CXX_STANDARD=${{ matrix.cpp-standard }} + UBUNTU_VERSION=${{ matrix.ubuntu-version }} + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} diff --git a/ubuntu_from_source/Dockerfile b/ubuntu_from_source/Dockerfile new file mode 100644 index 0000000..66d877f --- /dev/null +++ b/ubuntu_from_source/Dockerfile @@ -0,0 +1,47 @@ +ARG UBUNTU_VERSION=20.04 + +FROM ubuntu:$UBUNTU_VERSION + +LABEL maintainer.name="ROOT team" +LABEL maintainer.email="root-dev@cern.ch" + +ENV LANG=C.UTF-8 + +COPY packages packages + +RUN apt-get update -qq && \ + ln -sf /usr/share/zoneinfo/UTC /etc/localtime && \ + apt-get -y install $(cat packages) wget && \ + apt-get autoremove -y && \ + apt-get clean -y && \ + rm -rf /var/cache/apt/archives/* && \ + rm -rf /var/lib/apt/lists/* + +ENV ROOTSYS /opt/root + +RUN echo $ROOTSYS/lib >> /etc/ld.so.conf && \ + ldconfig + +RUN yes | unminimize + +ARG ROOT_VERSION=root_v6.26.00.Linux-ubuntu20-x86_64-gcc9.3.tar.gz + +ARG CMAKE_CXX_STANDARD=17 +ARG ROOT_VERSION=master + +# clone build and install +RUN git clone https://github.com/root-project/root.git $ROOTSYS/source && \ + cd $ROOTSYS/source && git reset --hard ${ROOT_VERSION} && \ + mkdir -p $ROOTSYS/build && cd $ROOTSYS/build && \ + cmake $ROOTSYS/source -DCMAKE_INSTALL_PREFIX=$ROOTSYS -DCMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD -Dbuiltin_afterimage=ON && \ + make -j$(nproc) install && \ + rm -rf $ROOTSYS/build $ROOTSYS/source + +ENV ROOTSYS /opt/root +ENV PATH $ROOTSYS/bin:$PATH +ENV PYTHONPATH $ROOTSYS/lib:$PYTHONPATH +ENV CLING_STANDARD_PCH none + +WORKDIR $ROOTSYS + +CMD ["root", "-b"] diff --git a/ubuntu_from_source/packages b/ubuntu_from_source/packages new file mode 100644 index 0000000..baee18b --- /dev/null +++ b/ubuntu_from_source/packages @@ -0,0 +1,49 @@ +cmake +ca-certificates +curl +davix-dev +dcap-dev +fonts-freefont-ttf +g++ +gcc +gfortran +libafterimage-dev +libcfitsio-dev +libfcgi-dev +libfftw3-dev +libfreetype6-dev +libftgl-dev +libgfal2-dev +libgif-dev +libgl2ps-dev +libglew-dev +libglu-dev +libgraphviz-dev +libgsl-dev +libjpeg-dev +liblz4-dev +liblzma-dev +libmysqlclient-dev +libpcre++-dev +libpng-dev +libpq-dev +libpythia8-dev +libsqlite3-dev +libssl-dev +libtbb-dev +libtiff-dev +libx11-dev +libxext-dev +libxft-dev +libxml2-dev +libxpm-dev +libxxhash-dev +libz-dev +libzstd-dev +locales +make +python3-dev +python3-numpy +srm-ifce-dev +unixodbc-dev +python-is-python3 From 7c65da5fb1907a6487104cfd21e6c5af15ea8bfe Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Wed, 9 Mar 2022 10:27:23 +0100 Subject: [PATCH 029/114] shortened action names --- .github/workflows/docker-fedora.yml | 2 +- .github/workflows/docker-ubuntu-from-source.yml | 2 +- .github/workflows/docker-ubuntu.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 7a9012e..dd828ea 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -1,4 +1,4 @@ -name: Build and Publish Fedora Image +name: Fedora on: workflow_dispatch: diff --git a/.github/workflows/docker-ubuntu-from-source.yml b/.github/workflows/docker-ubuntu-from-source.yml index 3d7b1b8..7318927 100644 --- a/.github/workflows/docker-ubuntu-from-source.yml +++ b/.github/workflows/docker-ubuntu-from-source.yml @@ -1,4 +1,4 @@ -name: Build and Publish Ubuntu Image (from source) +name: Ubuntu (from source) on: workflow_dispatch: diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index 3c62f7e..4a116a3 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -1,4 +1,4 @@ -name: Build and Publish Ubuntu Image (from binaries) +name: Ubuntu (from binaries) on: workflow_dispatch: From b820685e6a8bcccd200f5d9d379e93158bab3c2f Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Wed, 9 Mar 2022 11:59:04 +0100 Subject: [PATCH 030/114] added git package --- ubuntu_from_source/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ubuntu_from_source/Dockerfile b/ubuntu_from_source/Dockerfile index 66d877f..ce38878 100644 --- a/ubuntu_from_source/Dockerfile +++ b/ubuntu_from_source/Dockerfile @@ -11,7 +11,7 @@ COPY packages packages RUN apt-get update -qq && \ ln -sf /usr/share/zoneinfo/UTC /etc/localtime && \ - apt-get -y install $(cat packages) wget && \ + apt-get -y install $(cat packages) wget git && \ apt-get autoremove -y && \ apt-get clean -y && \ rm -rf /var/cache/apt/archives/* && \ From 72c6709857bacd725f0f8c477e28a04ad3d62516 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Wed, 9 Mar 2022 20:33:21 +0100 Subject: [PATCH 031/114] added centOS image, moved env variables in Dockerfiles --- .../workflows/docker-centos-from-source.yml | 57 +++++++++++++++++++ centos_from_source/Dockerfile | 39 ++++++++----- ubuntu_from_source/Dockerfile | 10 +--- 3 files changed, 85 insertions(+), 21 deletions(-) create mode 100644 .github/workflows/docker-centos-from-source.yml diff --git a/.github/workflows/docker-centos-from-source.yml b/.github/workflows/docker-centos-from-source.yml new file mode 100644 index 0000000..7b03f2d --- /dev/null +++ b/.github/workflows/docker-centos-from-source.yml @@ -0,0 +1,57 @@ +name: CentOS + +on: + workflow_dispatch: + workflow_run: + workflows: ["Trigger Build and Publish All Images"] + types: + - completed + +jobs: + build-and-push-centos-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + matrix: + include: + - root-version: v6-26-00 + cpp-standard: 17 + centos-version: 7 + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-centos${{ matrix.centos-version }}-cpp${{ matrix.cpp-standard }}-from-source + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: centos_from_source/ + pull: true + push: true + build-args: | + ROOT_VERSION=${{ matrix.root-version }} + CENTOS_VERSION=${{ matrix.centos-version }} + CMAKE_CXX_STANDARD=${{ matrix.cpp-standard }} + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version diff --git a/centos_from_source/Dockerfile b/centos_from_source/Dockerfile index 1291ecc..a994682 100644 --- a/centos_from_source/Dockerfile +++ b/centos_from_source/Dockerfile @@ -1,18 +1,30 @@ # WARNING: this Dockerfile is unmaintained -FROM centos +ARG CENTOS_VERSION=7 + +FROM centos:$CENTOS_VERSION COPY packages packages -RUN yum update -q -y \ - && yum install -y epel-release \ - && yum install -y $(cat packages) \ - && localedef -i en_US -f UTF-8 en_US.UTF-8 \ - && rm -f /packages +RUN yum update -q -y && \ + yum install -y epel-release && \ + yum install -y $(cat packages) && \ + localedef -i en_US -f UTF-8 en_US.UTF-8 && \ + rm -f /packages + +ARG CMAKE_CXX_STANDARD=17 +ARG ROOT_VERSION=master + +ENV ROOTSYS /usr/local/root +ENV PATH $ROOTSYS/bin:$PATH +ENV PYTHONPATH $ROOTSYS/lib:$PYTHONPATH +ENV CLING_STANDARD_PCH none -RUN cd /tmp \ - && git clone https://github.com/root-project/root /usr/src/root \ - && cmake3 /usr/src/root \ +RUN cd /tmp && \ + git clone https://github.com/root-project/root.git $ROOTSYS/source && \ + cd $ROOTSYS/source && git reset --hard ${ROOT_VERSION} && \ + cmake3 $ROOTSYS/source \ + -DCMAKE_INSTALL_PREFIX=$ROOTSYS -DCMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD \ -Dall=ON \ -Dcxx11=ON \ -Dfail-on-missing=ON \ @@ -40,10 +52,9 @@ RUN cd /tmp \ -Droot7=OFF \ -Dsapdb=OFF \ -Dsrp=OFF \ - -Dvc=OFF \ - && cmake3 --build . -- -j$(nproc) \ - && cmake3 --build . --target install \ - && rm -rf /usr/src/root /tmp/* + -Dvc=OFF && \ + cmake3 --build . -- -j$(nproc) && \ + cmake3 --build . --target install && \ + rm -rf $ROOTSYS/source /tmp/* -ENV PYTHONPATH /usr/local/lib CMD ["root", "-b"] diff --git a/ubuntu_from_source/Dockerfile b/ubuntu_from_source/Dockerfile index ce38878..86d8592 100644 --- a/ubuntu_from_source/Dockerfile +++ b/ubuntu_from_source/Dockerfile @@ -18,14 +18,15 @@ RUN apt-get update -qq && \ rm -rf /var/lib/apt/lists/* ENV ROOTSYS /opt/root +ENV PATH $ROOTSYS/bin:$PATH +ENV PYTHONPATH $ROOTSYS/lib:$PYTHONPATH +ENV CLING_STANDARD_PCH none RUN echo $ROOTSYS/lib >> /etc/ld.so.conf && \ ldconfig RUN yes | unminimize -ARG ROOT_VERSION=root_v6.26.00.Linux-ubuntu20-x86_64-gcc9.3.tar.gz - ARG CMAKE_CXX_STANDARD=17 ARG ROOT_VERSION=master @@ -37,11 +38,6 @@ RUN git clone https://github.com/root-project/root.git $ROOTSYS/source && \ make -j$(nproc) install && \ rm -rf $ROOTSYS/build $ROOTSYS/source -ENV ROOTSYS /opt/root -ENV PATH $ROOTSYS/bin:$PATH -ENV PYTHONPATH $ROOTSYS/lib:$PYTHONPATH -ENV CLING_STANDARD_PCH none - WORKDIR $ROOTSYS CMD ["root", "-b"] From abb8ea1c98e0e848bffc412e9c95f8bdf1f56228 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Wed, 9 Mar 2022 20:33:56 +0100 Subject: [PATCH 032/114] removed from all trigger --- .github/workflows/docker-centos-from-source.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/docker-centos-from-source.yml b/.github/workflows/docker-centos-from-source.yml index 7b03f2d..1300e96 100644 --- a/.github/workflows/docker-centos-from-source.yml +++ b/.github/workflows/docker-centos-from-source.yml @@ -2,10 +2,6 @@ name: CentOS on: workflow_dispatch: - workflow_run: - workflows: ["Trigger Build and Publish All Images"] - types: - - completed jobs: build-and-push-centos-image: From 9df080df669e3f72d7f35d10bddacc85dd6b7d95 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Wed, 9 Mar 2022 20:34:31 +0100 Subject: [PATCH 033/114] fixed inconsistent name --- .github/workflows/docker-centos-from-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-centos-from-source.yml b/.github/workflows/docker-centos-from-source.yml index 1300e96..bc3e6a5 100644 --- a/.github/workflows/docker-centos-from-source.yml +++ b/.github/workflows/docker-centos-from-source.yml @@ -1,4 +1,4 @@ -name: CentOS +name: CentOS (from source) on: workflow_dispatch: From 7371b360d071a7d794775c61650a4b163cbe97cf Mon Sep 17 00:00:00 2001 From: Luis Obis <35803280+lobis@users.noreply.github.com> Date: Wed, 9 Mar 2022 23:07:22 +0100 Subject: [PATCH 034/114] Update Dockerfile --- centos_from_source/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/centos_from_source/Dockerfile b/centos_from_source/Dockerfile index a994682..4d187b5 100644 --- a/centos_from_source/Dockerfile +++ b/centos_from_source/Dockerfile @@ -23,6 +23,7 @@ ENV CLING_STANDARD_PCH none RUN cd /tmp && \ git clone https://github.com/root-project/root.git $ROOTSYS/source && \ cd $ROOTSYS/source && git reset --hard ${ROOT_VERSION} && \ + mkdir -p $ROOTSYS/build && cd $ROOTSYS/build && \ cmake3 $ROOTSYS/source \ -DCMAKE_INSTALL_PREFIX=$ROOTSYS -DCMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD \ -Dall=ON \ From 269ca2f50641adea087a661836ff3f234d7492b7 Mon Sep 17 00:00:00 2001 From: Luis Obis <35803280+lobis@users.noreply.github.com> Date: Wed, 9 Mar 2022 23:25:15 +0100 Subject: [PATCH 035/114] removed c++11 std from centos --- centos_from_source/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/centos_from_source/Dockerfile b/centos_from_source/Dockerfile index 4d187b5..2c1d137 100644 --- a/centos_from_source/Dockerfile +++ b/centos_from_source/Dockerfile @@ -27,7 +27,6 @@ RUN cd /tmp && \ cmake3 $ROOTSYS/source \ -DCMAKE_INSTALL_PREFIX=$ROOTSYS -DCMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD \ -Dall=ON \ - -Dcxx11=ON \ -Dfail-on-missing=ON \ -Dgnuinstall=ON \ -Drpath=ON \ From 052db881a7cc86a6b1552b0152148e37a9cd7d78 Mon Sep 17 00:00:00 2001 From: Luis Obis <35803280+lobis@users.noreply.github.com> Date: Thu, 10 Mar 2022 00:20:47 +0100 Subject: [PATCH 036/114] removed testing from centos image --- centos_from_source/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/centos_from_source/Dockerfile b/centos_from_source/Dockerfile index 2c1d137..2a1dd72 100644 --- a/centos_from_source/Dockerfile +++ b/centos_from_source/Dockerfile @@ -45,6 +45,8 @@ RUN cd /tmp && \ -Dgeocad=OFF \ -Dglite=OFF \ -Dhdfs=OFF \ + -Dtesting=ON \ + -Droottest=ON -Dmonalisa=OFF \ -Doracle=OFF \ -Dpythia6=OFF \ From 14d11dd33fc8b93a263f62dcbcfab37b2526171f Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:15:22 +0200 Subject: [PATCH 037/114] updated ubuntu (no source) action to build only latest with simpler logic --- .github/workflows/docker-ubuntu.yml | 32 +---------------------------- 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index 4a116a3..eabadfb 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -13,24 +13,9 @@ jobs: permissions: contents: read packages: write - strategy: - matrix: - root-version: - [ - 6.26.00, - 6.24.06, - 6.24.02, - 6.24.00, - 6.22.08, - 6.22.06, - 6.22.02, - 6.22.00, - 6.20.08, - ] - ubuntu-version: [20.04] env: - IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-ubuntu steps: - name: Print Image name with tag(s) @@ -47,27 +32,12 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GHCR_WRITE_TOKEN }} - # - name: Log in to Docker Hub - # uses: docker/login-action@v1 - # with: - # username: ${{ github.actor }} - # password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and Push Image uses: docker/build-push-action@v2 with: context: ubuntu/ pull: true push: true - build-args: | - ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz - UBUNTU_VERSION=${{ matrix.ubuntu-version }} tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - - name: Add 'latest' tag - if: ${{ matrix.root-version == '6.26.00' }} - run: | - docker image tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:latest - docker push ${{ env.IMAGE_NAME_WITH_TAG }} From 973b9387e0bdbd00fdb6d9f8a1bba6a6e542f1f8 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:28:31 +0200 Subject: [PATCH 038/114] updated Ubuntu from source action to accept Major.Minor.Patch version string as separate argments --- .../workflows/docker-ubuntu-from-source.yml | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/.github/workflows/docker-ubuntu-from-source.yml b/.github/workflows/docker-ubuntu-from-source.yml index 7318927..86cdce8 100644 --- a/.github/workflows/docker-ubuntu-from-source.yml +++ b/.github/workflows/docker-ubuntu-from-source.yml @@ -2,6 +2,19 @@ name: Ubuntu (from source) on: workflow_dispatch: + inputs: + root-version-major: + required: true + description: ROOT Major version number (string) according to `Major.Minor.Patch`` schema + default: "6" + root-version-minor: + required: true + description: ROOT Minor version number (string) according to `Major.Minor.Patch`` schema + default: "26" + root-version-patch: + required: true + description: ROOT Patch version number (string) according to `Major.Minor.Patch`` schema + default: "02" jobs: build-and-push-ubuntu-image: @@ -9,15 +22,9 @@ jobs: permissions: contents: read packages: write - strategy: - matrix: - include: - - root-version: v6-26-00 - cpp-standard: 17 - ubuntu-version: 20.04 env: - IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }}-cpp${{ matrix.cpp-standard }}-from-source + ROOT_VERSION_STRING: ${{ github.event.inputs.root-version-major }}.${{ github.event.inputs.root-version-minor }}.${{ github.event.inputs.root-version-patch }} steps: - name: Print Image name with tag(s) @@ -41,9 +48,7 @@ jobs: pull: true push: true build-args: | - ROOT_VERSION=${{ matrix.root-version }} - CMAKE_CXX_STANDARD=${{ matrix.cpp-standard }} - UBUNTU_VERSION=${{ matrix.ubuntu-version }} - tags: ${{ env.IMAGE_NAME_WITH_TAG }} + ROOT_VERSION=${{ env.ROOT_VERSION_STRING }} + tags: ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION_STRING }}-ubuntu-from-source labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} From 389a6fa56601a2730fe8d003ec2d98ac598dff25 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:32:31 +0200 Subject: [PATCH 039/114] Updated fedora action, added test to Ubuntu action, removed CentOS from source action --- .../workflows/docker-centos-from-source.yml | 53 ------------------- .github/workflows/docker-fedora.yml | 13 +---- .github/workflows/docker-ubuntu.yml | 4 ++ 3 files changed, 5 insertions(+), 65 deletions(-) delete mode 100644 .github/workflows/docker-centos-from-source.yml diff --git a/.github/workflows/docker-centos-from-source.yml b/.github/workflows/docker-centos-from-source.yml deleted file mode 100644 index bc3e6a5..0000000 --- a/.github/workflows/docker-centos-from-source.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: CentOS (from source) - -on: - workflow_dispatch: - -jobs: - build-and-push-centos-image: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - strategy: - matrix: - include: - - root-version: v6-26-00 - cpp-standard: 17 - centos-version: 7 - - env: - IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-centos${{ matrix.centos-version }}-cpp${{ matrix.cpp-standard }}-from-source - - steps: - - name: Print Image name with tag(s) - run: | - echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" - - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Log in to the GitHub Container registry - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GHCR_WRITE_TOKEN }} - - - name: Build and Push Image - uses: docker/build-push-action@v2 - with: - context: centos_from_source/ - pull: true - push: true - build-args: | - ROOT_VERSION=${{ matrix.root-version }} - CENTOS_VERSION=${{ matrix.centos-version }} - CMAKE_CXX_STANDARD=${{ matrix.cpp-standard }} - tags: ${{ env.IMAGE_NAME_WITH_TAG }} - labels: | - org.opencontainers.image.source=https://github.com/${{ github.repository }} - - - name: Test ROOT Version - run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index dd828ea..af077ac 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -13,18 +13,9 @@ jobs: permissions: contents: read packages: write - strategy: - matrix: - include: - - root-version: 6.24.06 - fedora-version: 35 - - root-version: 6.22.08 - fedora-version: 34 - - root-version: 6.22.06 - fedora-version: 33 env: - IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-fedora${{ matrix.fedora-version }} + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-fedora steps: - name: Print Image name with tag(s) @@ -47,8 +38,6 @@ jobs: context: fedora/ pull: true push: true - build-args: | - FEDORA_VERSION=${{ matrix.fedora-version }} tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index eabadfb..405bf23 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -41,3 +41,7 @@ jobs: tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version From d2ea278743787592e8932f6a7fe590e243131784 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:33:24 +0200 Subject: [PATCH 040/114] fix typo in action --- .github/workflows/docker-ubuntu-from-source.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-ubuntu-from-source.yml b/.github/workflows/docker-ubuntu-from-source.yml index 86cdce8..03b3572 100644 --- a/.github/workflows/docker-ubuntu-from-source.yml +++ b/.github/workflows/docker-ubuntu-from-source.yml @@ -5,15 +5,15 @@ on: inputs: root-version-major: required: true - description: ROOT Major version number (string) according to `Major.Minor.Patch`` schema + description: ROOT Major version number (string) according to `Major.Minor.Patch` schema default: "6" root-version-minor: required: true - description: ROOT Minor version number (string) according to `Major.Minor.Patch`` schema + description: ROOT Minor version number (string) according to `Major.Minor.Patch` schema default: "26" root-version-patch: required: true - description: ROOT Patch version number (string) according to `Major.Minor.Patch`` schema + description: ROOT Patch version number (string) according to `Major.Minor.Patch` schema default: "02" jobs: From 1dbcc6ab51849ac38394d78f1dd5360e7f8e3d1c Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:34:37 +0200 Subject: [PATCH 041/114] updated prompt style --- .github/workflows/docker-ubuntu-from-source.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-ubuntu-from-source.yml b/.github/workflows/docker-ubuntu-from-source.yml index 03b3572..164408e 100644 --- a/.github/workflows/docker-ubuntu-from-source.yml +++ b/.github/workflows/docker-ubuntu-from-source.yml @@ -5,15 +5,15 @@ on: inputs: root-version-major: required: true - description: ROOT Major version number (string) according to `Major.Minor.Patch` schema + description: ROOT Major version number (string) according to **Major.Minor.Patch** schema default: "6" root-version-minor: required: true - description: ROOT Minor version number (string) according to `Major.Minor.Patch` schema + description: ROOT Minor version number (string) according to **Major.Minor.Patch** schema default: "26" root-version-patch: required: true - description: ROOT Patch version number (string) according to `Major.Minor.Patch` schema + description: ROOT Patch version number (string) according to **Major.Minor.Patch** schema default: "02" jobs: From 3c88f456c4116ee939b185dc28a33d8d066401c8 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:41:27 +0200 Subject: [PATCH 042/114] Added actions for arch, centos, conda, gentoo --- .github/workflows/docker-arch.yml | 47 +++++++++++++++++++++++++++++ .github/workflows/docker-centos.yml | 47 +++++++++++++++++++++++++++++ .github/workflows/docker-conda.yml | 47 +++++++++++++++++++++++++++++ .github/workflows/docker-gentoo.yml | 47 +++++++++++++++++++++++++++++ 4 files changed, 188 insertions(+) create mode 100644 .github/workflows/docker-arch.yml create mode 100644 .github/workflows/docker-centos.yml create mode 100644 .github/workflows/docker-conda.yml create mode 100644 .github/workflows/docker-gentoo.yml diff --git a/.github/workflows/docker-arch.yml b/.github/workflows/docker-arch.yml new file mode 100644 index 0000000..d5fdccf --- /dev/null +++ b/.github/workflows/docker-arch.yml @@ -0,0 +1,47 @@ +name: Arch Linux + +on: + workflow_dispatch: + workflow_run: + workflows: ["Trigger Build and Publish All Images"] + types: + - completed + +jobs: + build-and-push-arch-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-arch + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: arch/ + pull: true + push: true + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version diff --git a/.github/workflows/docker-centos.yml b/.github/workflows/docker-centos.yml new file mode 100644 index 0000000..e3f2600 --- /dev/null +++ b/.github/workflows/docker-centos.yml @@ -0,0 +1,47 @@ +name: CentOS 7 + +on: + workflow_dispatch: + workflow_run: + workflows: ["Trigger Build and Publish All Images"] + types: + - completed + +jobs: + build-and-push-centos-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-centos + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: centos7/ + pull: true + push: true + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version diff --git a/.github/workflows/docker-conda.yml b/.github/workflows/docker-conda.yml new file mode 100644 index 0000000..7d9c16e --- /dev/null +++ b/.github/workflows/docker-conda.yml @@ -0,0 +1,47 @@ +name: Conda + +on: + workflow_dispatch: + workflow_run: + workflows: ["Trigger Build and Publish All Images"] + types: + - completed + +jobs: + build-and-push-conda-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-conda + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: conda/ + pull: true + push: true + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version diff --git a/.github/workflows/docker-gentoo.yml b/.github/workflows/docker-gentoo.yml new file mode 100644 index 0000000..65a55b7 --- /dev/null +++ b/.github/workflows/docker-gentoo.yml @@ -0,0 +1,47 @@ +name: Gentoo + +on: + workflow_dispatch: + workflow_run: + workflows: ["Trigger Build and Publish All Images"] + types: + - completed + +jobs: + build-and-push-gentoo-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-gentoo + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: gentoo/ + pull: true + push: true + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version From 8e2f1aa7e76680f6567b6506435d08105ed550fa Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:44:29 +0200 Subject: [PATCH 043/114] Normalized action name for Ubuntu --- .github/workflows/docker-ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index 405bf23..d95262c 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -1,4 +1,4 @@ -name: Ubuntu (from binaries) +name: Ubuntu on: workflow_dispatch: From dce0c340a9c522485e68e8fadf8d32fb567227ab Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:51:19 +0200 Subject: [PATCH 044/114] Removed small formatting chagnes on Dockerfiles --- centos7/Dockerfile | 10 +-- centos_from_source/Dockerfile | 43 ++++------- fedora/Dockerfile | 10 +-- ubuntu/Dockerfile | 18 ++--- ubuntu_from_source/Dockerfile | 138 +++++++++++++++++----------------- 5 files changed, 102 insertions(+), 117 deletions(-) diff --git a/centos7/Dockerfile b/centos7/Dockerfile index 49cbab1..ddbc43a 100644 --- a/centos7/Dockerfile +++ b/centos7/Dockerfile @@ -5,10 +5,10 @@ LABEL maintainer.email="root-dev@cern.ch" COPY packages packages -RUN yum update -q -y && \ - yum install -y epel-release && \ - yum install -y $(cat packages) && \ - localedef -i en_US -f UTF-8 en_US.UTF-8 && \ - rm -f /packages +RUN yum update -q -y \ + && yum install -y epel-release \ + && yum install -y $(cat packages) \ + && localedef -i en_US -f UTF-8 en_US.UTF-8 \ + && rm -f /packages CMD ["root", "-b"] diff --git a/centos_from_source/Dockerfile b/centos_from_source/Dockerfile index 2a1dd72..1291ecc 100644 --- a/centos_from_source/Dockerfile +++ b/centos_from_source/Dockerfile @@ -1,32 +1,20 @@ # WARNING: this Dockerfile is unmaintained -ARG CENTOS_VERSION=7 - -FROM centos:$CENTOS_VERSION +FROM centos COPY packages packages -RUN yum update -q -y && \ - yum install -y epel-release && \ - yum install -y $(cat packages) && \ - localedef -i en_US -f UTF-8 en_US.UTF-8 && \ - rm -f /packages - -ARG CMAKE_CXX_STANDARD=17 -ARG ROOT_VERSION=master - -ENV ROOTSYS /usr/local/root -ENV PATH $ROOTSYS/bin:$PATH -ENV PYTHONPATH $ROOTSYS/lib:$PYTHONPATH -ENV CLING_STANDARD_PCH none +RUN yum update -q -y \ + && yum install -y epel-release \ + && yum install -y $(cat packages) \ + && localedef -i en_US -f UTF-8 en_US.UTF-8 \ + && rm -f /packages -RUN cd /tmp && \ - git clone https://github.com/root-project/root.git $ROOTSYS/source && \ - cd $ROOTSYS/source && git reset --hard ${ROOT_VERSION} && \ - mkdir -p $ROOTSYS/build && cd $ROOTSYS/build && \ - cmake3 $ROOTSYS/source \ - -DCMAKE_INSTALL_PREFIX=$ROOTSYS -DCMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD \ +RUN cd /tmp \ + && git clone https://github.com/root-project/root /usr/src/root \ + && cmake3 /usr/src/root \ -Dall=ON \ + -Dcxx11=ON \ -Dfail-on-missing=ON \ -Dgnuinstall=ON \ -Drpath=ON \ @@ -45,8 +33,6 @@ RUN cd /tmp && \ -Dgeocad=OFF \ -Dglite=OFF \ -Dhdfs=OFF \ - -Dtesting=ON \ - -Droottest=ON -Dmonalisa=OFF \ -Doracle=OFF \ -Dpythia6=OFF \ @@ -54,9 +40,10 @@ RUN cd /tmp && \ -Droot7=OFF \ -Dsapdb=OFF \ -Dsrp=OFF \ - -Dvc=OFF && \ - cmake3 --build . -- -j$(nproc) && \ - cmake3 --build . --target install && \ - rm -rf $ROOTSYS/source /tmp/* + -Dvc=OFF \ + && cmake3 --build . -- -j$(nproc) \ + && cmake3 --build . --target install \ + && rm -rf /usr/src/root /tmp/* +ENV PYTHONPATH /usr/local/lib CMD ["root", "-b"] diff --git a/fedora/Dockerfile b/fedora/Dockerfile index 5b00701..f46ab77 100644 --- a/fedora/Dockerfile +++ b/fedora/Dockerfile @@ -1,14 +1,12 @@ -ARG FEDORA_VERSION=35 - -FROM fedora:$FEDORA_VERSION +FROM fedora:35 LABEL maintainer.name="ROOT team" LABEL maintainer.email="root-dev@cern.ch" COPY packages packages -RUN dnf update -y && \ - dnf install -y $(cat packages) && \ - rm /packages +RUN dnf update -y \ + && dnf install -y $(cat packages) \ + && rm /packages CMD ["root", "-b"] diff --git a/ubuntu/Dockerfile b/ubuntu/Dockerfile index f61433e..2225efe 100644 --- a/ubuntu/Dockerfile +++ b/ubuntu/Dockerfile @@ -11,15 +11,15 @@ WORKDIR /opt COPY packages packages -RUN apt-get update -qq && \ - ln -sf /usr/share/zoneinfo/UTC /etc/localtime && \ - apt-get -y install $(cat packages) wget && \ - rm -rf /var/lib/apt/lists/* && \ - wget https://root.cern/download/${ROOT_BIN} && \ - tar -xzvf ${ROOT_BIN} && \ - rm -f ${ROOT_BIN} && \ - echo /opt/root/lib >> /etc/ld.so.conf && \ - ldconfig +RUN apt-get update -qq \ + && ln -sf /usr/share/zoneinfo/UTC /etc/localtime \ + && apt-get -y install $(cat packages) wget\ + && rm -rf /var/lib/apt/lists/*\ + && wget https://root.cern/download/${ROOT_BIN} \ + && tar -xzvf ${ROOT_BIN} \ + && rm -f ${ROOT_BIN} \ + && echo /opt/root/lib >> /etc/ld.so.conf \ + && ldconfig RUN yes | unminimize ENV ROOTSYS /opt/root diff --git a/ubuntu_from_source/Dockerfile b/ubuntu_from_source/Dockerfile index 965c7e4..c718e6a 100644 --- a/ubuntu_from_source/Dockerfile +++ b/ubuntu_from_source/Dockerfile @@ -1,69 +1,69 @@ - -# ROOT version in the MAJOR.MINOR.REVISION format or a https://github.com/root-project/root branch name / tag. Example: ROOT_VERSION=6.26.00 -ARG ROOT_VERSION -# C++ standard to compile ROOT. Example: CMAKE_CXX_STANDARD=17 -ARG CMAKE_CXX_STANDARD - -FROM ubuntu:22.04 - -LABEL maintainer.name="ROOT team" -LABEL maintainer.email="root-dev@cern.ch" - -ENV LANG=C.UTF-8 - -COPY packages packages - -RUN apt-get update -qq && \ - ln -sf /usr/share/zoneinfo/UTC /etc/localtime && \ - apt-get -y install $(cat packages) wget git && \ - apt-get autoremove -y && \ - apt-get clean -y && \ - rm -rf /var/cache/apt/archives/* && \ - rm -rf /var/lib/apt/lists/* - -RUN yes | unminimize - -# clone build and install -ARG ROOT_VERSION=latest-stable - -ARG CMAKE_CXX_STANDARD=17 - -RUN ROOT_GIT_URL=https://github.com/root-project/root.git \ - && if [ -z "$(git ls-remote --heads $ROOT_GIT_URL $ROOT_VERSION)" ] ; then \ - export ROOT_GIT_REVISION="v$(echo $ROOT_VERSION | cut -d. -f1)-$(echo $ROOT_VERSION | cut -d. -f2)-$(echo $ROOT_VERSION | cut -d. -f3)" \ - ; else \ - export ROOT_GIT_REVISION=$ROOT_VERSION \ - ; fi \ - # Above lines will set ROOT_GIT_REVISION to ROOT_VERSION argument if it corresponds to a valid branch name (such as ROOT_VERSION=master), - # otherwise it will assume its a semantic version string and try to convert it into the tag format (such as 6.26.00 -> v6-26-00) - && git clone --branch $ROOT_GIT_REVISION --depth=1 $ROOT_GIT_URL /tmp/source \ - && cd /tmp/source \ - && mkdir -p /tmp/build && cd /tmp/build \ - && cmake /tmp/source \ - -DCMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD \ - -Dgnuinstall=ON \ - -Dsoversion=ON \ - # For ROOT version 6.26.00 it is necessary to set `-Druntime_cxxmodules=OFF` (https://github.com/root-project/root/pull/10198) - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_BINDIR=bin \ - -DCMAKE_INSTALL_CMAKEDIR=lib/x86_64-linux-gnu/cmake/ROOT \ - -DCMAKE_INSTALL_DATAROOTDIR=share \ - -DCMAKE_INSTALL_DATADIR=share/root \ - -DCMAKE_INSTALL_DOCDIR=share/doc/root \ - -DCMAKE_INSTALL_ELISPDIR=share/emacs/site-lisp \ - -DCMAKE_INSTALL_FONTDIR=share/root/fonts \ - -DCMAKE_INSTALL_ICONDIR=share/root/icons \ - -DCMAKE_INSTALL_INCLUDEDIR=include/ROOT \ - -DCMAKE_INSTALL_JSROOTDIR=share/root/js \ - -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu \ - -DCMAKE_INSTALL_MACRODIR=share/root/macros \ - -DCMAKE_INSTALL_MANDIR=share/man \ - -DCMAKE_INSTALL_OPENUI5DIR=share/root/ui5 \ - -DCMAKE_INSTALL_PYTHONDIR=lib/python3/dist-packages \ - -DCMAKE_INSTALL_SRCDIR=/dev/null \ - -DCMAKE_INSTALL_SYSCONFDIR=/etc/root \ - -DCMAKE_INSTALL_TUTDIR=share/root/tutorials \ - && make -j$(nproc) install \ - && rm -rf /tmp/build /tmp/source - -CMD ["root", "-b"] + +# ROOT version in the MAJOR.MINOR.REVISION format or a https://github.com/root-project/root branch name / tag. Example: ROOT_VERSION=6.26.00 +ARG ROOT_VERSION +# C++ standard to compile ROOT. Example: CMAKE_CXX_STANDARD=17 +ARG CMAKE_CXX_STANDARD + +FROM ubuntu:22.04 + +LABEL maintainer.name="ROOT team" +LABEL maintainer.email="root-dev@cern.ch" + +ENV LANG=C.UTF-8 + +COPY packages packages + +RUN apt-get update -qq && \ + ln -sf /usr/share/zoneinfo/UTC /etc/localtime && \ + apt-get -y install $(cat packages) wget git && \ + apt-get autoremove -y && \ + apt-get clean -y && \ + rm -rf /var/cache/apt/archives/* && \ + rm -rf /var/lib/apt/lists/* + +RUN yes | unminimize + +# clone build and install +ARG ROOT_VERSION=latest-stable + +ARG CMAKE_CXX_STANDARD=17 + +RUN ROOT_GIT_URL=https://github.com/root-project/root.git \ + && if [ -z "$(git ls-remote --heads $ROOT_GIT_URL $ROOT_VERSION)" ] ; then \ + export ROOT_GIT_REVISION="v$(echo $ROOT_VERSION | cut -d. -f1)-$(echo $ROOT_VERSION | cut -d. -f2)-$(echo $ROOT_VERSION | cut -d. -f3)" \ + ; else \ + export ROOT_GIT_REVISION=$ROOT_VERSION \ + ; fi \ + # Above lines will set ROOT_GIT_REVISION to ROOT_VERSION argument if it corresponds to a valid branch name (such as ROOT_VERSION=master), + # otherwise it will assume its a semantic version string and try to convert it into the tag format (such as 6.26.00 -> v6-26-00) + && git clone --branch $ROOT_GIT_REVISION --depth=1 $ROOT_GIT_URL /tmp/source \ + && cd /tmp/source \ + && mkdir -p /tmp/build && cd /tmp/build \ + && cmake /tmp/source \ + -DCMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD \ + -Dgnuinstall=ON \ + -Dsoversion=ON \ + # For ROOT version 6.26.00 it is necessary to set `-Druntime_cxxmodules=OFF` (https://github.com/root-project/root/pull/10198) + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_BINDIR=bin \ + -DCMAKE_INSTALL_CMAKEDIR=lib/x86_64-linux-gnu/cmake/ROOT \ + -DCMAKE_INSTALL_DATAROOTDIR=share \ + -DCMAKE_INSTALL_DATADIR=share/root \ + -DCMAKE_INSTALL_DOCDIR=share/doc/root \ + -DCMAKE_INSTALL_ELISPDIR=share/emacs/site-lisp \ + -DCMAKE_INSTALL_FONTDIR=share/root/fonts \ + -DCMAKE_INSTALL_ICONDIR=share/root/icons \ + -DCMAKE_INSTALL_INCLUDEDIR=include/ROOT \ + -DCMAKE_INSTALL_JSROOTDIR=share/root/js \ + -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu \ + -DCMAKE_INSTALL_MACRODIR=share/root/macros \ + -DCMAKE_INSTALL_MANDIR=share/man \ + -DCMAKE_INSTALL_OPENUI5DIR=share/root/ui5 \ + -DCMAKE_INSTALL_PYTHONDIR=lib/python3/dist-packages \ + -DCMAKE_INSTALL_SRCDIR=/dev/null \ + -DCMAKE_INSTALL_SYSCONFDIR=/etc/root \ + -DCMAKE_INSTALL_TUTDIR=share/root/tutorials \ + && make -j$(nproc) install \ + && rm -rf /tmp/build /tmp/source + +CMD ["root", "-b"] From 53e19d033ee13b096b23fad1762c5df5dc755e7c Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 12:27:24 +0200 Subject: [PATCH 045/114] testing root version as tag --- .github/workflows/docker-fedora.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index af077ac..87880d8 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -18,10 +18,6 @@ jobs: IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-fedora steps: - - name: Print Image name with tag(s) - run: | - echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" - - name: Checkout repository uses: actions/checkout@v2 @@ -45,3 +41,11 @@ jobs: - name: Test ROOT Version run: | docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version + ROOT_VERSION=$(echo "$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version)" | sed -r 's/\//./g')" + echo "ROOT_VERSION=$ROOT_VERSION" + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + + - name: Add additional tag to image and push it + run: | + docker tag ${{ env.IMAGE_NAME_WITH_TAG }}: ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora + docker push ${{ env.IMAGE_NAME_WITH_TAG }} From d30580f748060277276b13e58e93c3171dac1489 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 12:47:32 +0200 Subject: [PATCH 046/114] debugging action --- .github/workflows/docker-fedora.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 87880d8..953fef4 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -33,17 +33,17 @@ jobs: with: context: fedora/ pull: true - push: true + push: false tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - name: Test ROOT Version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version - ROOT_VERSION=$(echo "$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version)" | sed -r 's/\//./g')" - echo "ROOT_VERSION=$ROOT_VERSION" - echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g' + export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') + echo "ROOT_VERSION=${{ ROOT_VERSION }}" + echo "ROOT_VERSION=${{ ROOT_VERSION }}" >> $GITHUB_ENV - name: Add additional tag to image and push it run: | From c6dcd1adaef5fb0821556a39537ace353326d854 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 12:49:46 +0200 Subject: [PATCH 047/114] fix typo --- .github/workflows/docker-fedora.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 953fef4..a3afb6f 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -42,8 +42,8 @@ jobs: run: | docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g' export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') - echo "ROOT_VERSION=${{ ROOT_VERSION }}" - echo "ROOT_VERSION=${{ ROOT_VERSION }}" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV - name: Add additional tag to image and push it run: | From 57998e78ec4452a8bbbec5df8529471e0de119ad Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:00:42 +0200 Subject: [PATCH 048/114] fix action --- .github/workflows/docker-fedora.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index a3afb6f..e30a459 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -38,14 +38,13 @@ jobs: labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: Test ROOT Version + - name: ROOT Version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g' export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') echo "ROOT_VERSION=$ROOT_VERSION" echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }}: ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora docker push ${{ env.IMAGE_NAME_WITH_TAG }} From 5cafda25a4c8e4f2fe743b973f111b9e484a139d Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:04:15 +0200 Subject: [PATCH 049/114] Added fedora version to tag --- .github/workflows/docker-fedora.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index e30a459..37e3f1c 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -44,7 +44,13 @@ jobs: echo "ROOT_VERSION=$ROOT_VERSION" echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + - name: OS Version + run: | + export FEDORA_VERSION=$(cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g') + echo "FEDORA_VERSION=$FEDORA_VERSION" + echo "FEDORA_VERSION=$FEDORA_VERSION" >> $GITHUB_ENV + - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora{{ env.FEDORA_VERSION }} docker push ${{ env.IMAGE_NAME_WITH_TAG }} From 5e361e1ea25249ad8eccaf7d4a9941e096292ecb Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:13:01 +0200 Subject: [PATCH 050/114] removed `"` from OS version --- .github/workflows/docker-fedora.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 37e3f1c..0cccabb 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -38,19 +38,20 @@ jobs: labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: ROOT Version + - name: root version run: | export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') echo "ROOT_VERSION=$ROOT_VERSION" echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV - - name: OS Version + - name: OS version run: | - export FEDORA_VERSION=$(cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g') + export FEDORA_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g' | sed -r 's/"//g') echo "FEDORA_VERSION=$FEDORA_VERSION" echo "FEDORA_VERSION=$FEDORA_VERSION" >> $GITHUB_ENV - name: Add additional tag to image and push it run: | + printenv docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora{{ env.FEDORA_VERSION }} docker push ${{ env.IMAGE_NAME_WITH_TAG }} From 4c716027a6cddd6f5f664094190270f7fd397fec Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:23:23 +0200 Subject: [PATCH 051/114] fix error in action --- .github/workflows/docker-fedora.yml | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 0cccabb..429c7f2 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -38,20 +38,16 @@ jobs: labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: root version + - name: root version and OS version run: | export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') - echo "ROOT_VERSION=$ROOT_VERSION" echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV - - - name: OS version - run: | - export FEDORA_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g' | sed -r 's/"//g') - echo "FEDORA_VERSION=$FEDORA_VERSION" - echo "FEDORA_VERSION=$FEDORA_VERSION" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + export OS_VERSION_ID=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g' | sed -r 's/"//g') + echo "OS_VERSION_ID=$OS_VERSION_ID" >> $GITHUB_ENV + echo "OS_VERSION_ID=$OS_VERSION_ID" - name: Add additional tag to image and push it run: | - printenv - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora{{ env.FEDORA_VERSION }} + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora${{ env.FEDORA_VERSION }} docker push ${{ env.IMAGE_NAME_WITH_TAG }} From d94ed3f9d554c23ec9c499291c7a7c97e59575b6 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:25:14 +0200 Subject: [PATCH 052/114] updated action for fedora and ubuntu --- .github/workflows/docker-fedora.yml | 2 +- .github/workflows/docker-ubuntu.yml | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 429c7f2..7c16206 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -49,5 +49,5 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora${{ env.FEDORA_VERSION }} + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora${{ env.OS_VERSION_ID }} docker push ${{ env.IMAGE_NAME_WITH_TAG }} diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index d95262c..00fc0a5 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -37,11 +37,21 @@ jobs: with: context: ubuntu/ pull: true - push: true + push: false tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: Test ROOT Version + - name: root version and OS version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version + export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + export OS_VERSION_ID=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g' | sed -r 's/"//g') + echo "OS_VERSION_ID=$OS_VERSION_ID" >> $GITHUB_ENV + echo "OS_VERSION_ID=$OS_VERSION_ID" + + - name: Add additional tag to image and push it + run: | + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-ubuntu${{ env.OS_VERSION_ID }} + docker push ${{ env.IMAGE_NAME_WITH_TAG }} From f96f76fbcc5e3bf04173fdf74109360c76ddfa8f Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:31:53 +0200 Subject: [PATCH 053/114] Added root version tag to images --- .github/workflows/docker-arch.yml | 13 ++++++++++--- .github/workflows/docker-centos.yml | 16 +++++++++++++--- .github/workflows/docker-conda.yml | 13 ++++++++++--- .github/workflows/docker-gentoo.yml | 13 ++++++++++--- 4 files changed, 43 insertions(+), 12 deletions(-) diff --git a/.github/workflows/docker-arch.yml b/.github/workflows/docker-arch.yml index d5fdccf..82797b5 100644 --- a/.github/workflows/docker-arch.yml +++ b/.github/workflows/docker-arch.yml @@ -37,11 +37,18 @@ jobs: with: context: arch/ pull: true - push: true + push: false tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: Test ROOT Version + - name: root version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version + export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + + - name: Add additional tag to image and push it + run: | + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-arch + docker push ${{ env.IMAGE_NAME_WITH_TAG }} diff --git a/.github/workflows/docker-centos.yml b/.github/workflows/docker-centos.yml index e3f2600..e91b291 100644 --- a/.github/workflows/docker-centos.yml +++ b/.github/workflows/docker-centos.yml @@ -37,11 +37,21 @@ jobs: with: context: centos7/ pull: true - push: true + push: false tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: Test ROOT Version + - name: root version and OS version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version + export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + export OS_VERSION_ID=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g' | sed -r 's/"//g') + echo "OS_VERSION_ID=$OS_VERSION_ID" >> $GITHUB_ENV + echo "OS_VERSION_ID=$OS_VERSION_ID" + + - name: Add additional tag to image and push it + run: | + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-centos${{ env.OS_VERSION_ID }} + docker push ${{ env.IMAGE_NAME_WITH_TAG }} diff --git a/.github/workflows/docker-conda.yml b/.github/workflows/docker-conda.yml index 7d9c16e..7574b9f 100644 --- a/.github/workflows/docker-conda.yml +++ b/.github/workflows/docker-conda.yml @@ -37,11 +37,18 @@ jobs: with: context: conda/ pull: true - push: true + push: false tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: Test ROOT Version + - name: root version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version + export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + + - name: Add additional tag to image and push it + run: | + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-conda + docker push ${{ env.IMAGE_NAME_WITH_TAG }} diff --git a/.github/workflows/docker-gentoo.yml b/.github/workflows/docker-gentoo.yml index 65a55b7..e27f129 100644 --- a/.github/workflows/docker-gentoo.yml +++ b/.github/workflows/docker-gentoo.yml @@ -37,11 +37,18 @@ jobs: with: context: gentoo/ pull: true - push: true + push: false tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: Test ROOT Version + - name: root version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version + export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + + - name: Add additional tag to image and push it + run: | + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-gentoo + docker push ${{ env.IMAGE_NAME_WITH_TAG }} From b9b2dcf6d521b858288c2944c65f533e971594f8 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:35:56 +0200 Subject: [PATCH 054/114] fix tag not pushing --- .github/workflows/docker-arch.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-arch.yml b/.github/workflows/docker-arch.yml index 82797b5..fa7e491 100644 --- a/.github/workflows/docker-arch.yml +++ b/.github/workflows/docker-arch.yml @@ -50,5 +50,6 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-arch - docker push ${{ env.IMAGE_NAME_WITH_TAG }} + export IMAGE_NAME_WITH_NEW_TAG=ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-arch + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} $IMAGE_NAME_WITH_NEW_TAG + docker push $IMAGE_NAME_WITH_NEW_TAG From a5d91d80e5dfd978a2aad6035df8bacd0b75e125 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:41:55 +0200 Subject: [PATCH 055/114] updated image version tag --- .github/workflows/docker-centos.yml | 5 +++-- .github/workflows/docker-conda.yml | 5 +++-- .github/workflows/docker-fedora.yml | 5 +++-- .github/workflows/docker-gentoo.yml | 5 +++-- .github/workflows/docker-ubuntu.yml | 5 +++-- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/.github/workflows/docker-centos.yml b/.github/workflows/docker-centos.yml index e91b291..86fc12a 100644 --- a/.github/workflows/docker-centos.yml +++ b/.github/workflows/docker-centos.yml @@ -53,5 +53,6 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-centos${{ env.OS_VERSION_ID }} - docker push ${{ env.IMAGE_NAME_WITH_TAG }} + export IMAGE_NAME_WITH_NEW_TAG=ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-centos${{ env.OS_VERSION_ID }} + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} $IMAGE_NAME_WITH_NEW_TAG + docker push $IMAGE_NAME_WITH_NEW_TAG diff --git a/.github/workflows/docker-conda.yml b/.github/workflows/docker-conda.yml index 7574b9f..d5916b3 100644 --- a/.github/workflows/docker-conda.yml +++ b/.github/workflows/docker-conda.yml @@ -50,5 +50,6 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-conda - docker push ${{ env.IMAGE_NAME_WITH_TAG }} + export IMAGE_NAME_WITH_NEW_TAG=ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-conda + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} $IMAGE_NAME_WITH_NEW_TAG + docker push $IMAGE_NAME_WITH_NEW_TAG diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 7c16206..7957d5a 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -49,5 +49,6 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora${{ env.OS_VERSION_ID }} - docker push ${{ env.IMAGE_NAME_WITH_TAG }} + export IMAGE_NAME_WITH_NEW_TAG=ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora${{ env.OS_VERSION_ID }} + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} $IMAGE_NAME_WITH_NEW_TAG + docker push $IMAGE_NAME_WITH_NEW_TAG diff --git a/.github/workflows/docker-gentoo.yml b/.github/workflows/docker-gentoo.yml index e27f129..18d336c 100644 --- a/.github/workflows/docker-gentoo.yml +++ b/.github/workflows/docker-gentoo.yml @@ -50,5 +50,6 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-gentoo - docker push ${{ env.IMAGE_NAME_WITH_TAG }} + export IMAGE_NAME_WITH_NEW_TAG=ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-gentoo + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} $IMAGE_NAME_WITH_NEW_TAG + docker push $IMAGE_NAME_WITH_NEW_TAG diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index 00fc0a5..7990950 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -53,5 +53,6 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-ubuntu${{ env.OS_VERSION_ID }} - docker push ${{ env.IMAGE_NAME_WITH_TAG }} + export IMAGE_NAME_WITH_NEW_TAG=ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-ubuntu${{ env.OS_VERSION_ID }} + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} $IMAGE_NAME_WITH_NEW_TAG + docker push $IMAGE_NAME_WITH_NEW_TAG From 42df16be546c1306bbf4cbeffd380587eff5cc41 Mon Sep 17 00:00:00 2001 From: lobis Date: Tue, 17 May 2022 20:04:23 +0200 Subject: [PATCH 056/114] Added trigger when relevant files are updated --- .github/workflows/docker-arch.yml | 3 +++ .github/workflows/docker-centos.yml | 3 +++ .github/workflows/docker-conda.yml | 3 +++ .github/workflows/docker-fedora.yml | 3 +++ .github/workflows/docker-gentoo.yml | 3 +++ .github/workflows/docker-ubuntu-from-source.yml | 3 +++ .github/workflows/docker-ubuntu.yml | 3 +++ 7 files changed, 21 insertions(+) diff --git a/.github/workflows/docker-arch.yml b/.github/workflows/docker-arch.yml index fa7e491..43fa0cf 100644 --- a/.github/workflows/docker-arch.yml +++ b/.github/workflows/docker-arch.yml @@ -6,6 +6,9 @@ on: workflows: ["Trigger Build and Publish All Images"] types: - completed + push: + paths: + - arch/** jobs: build-and-push-arch-image: diff --git a/.github/workflows/docker-centos.yml b/.github/workflows/docker-centos.yml index 86fc12a..2502b13 100644 --- a/.github/workflows/docker-centos.yml +++ b/.github/workflows/docker-centos.yml @@ -6,6 +6,9 @@ on: workflows: ["Trigger Build and Publish All Images"] types: - completed + push: + paths: + - centos7/** jobs: build-and-push-centos-image: diff --git a/.github/workflows/docker-conda.yml b/.github/workflows/docker-conda.yml index d5916b3..87f856d 100644 --- a/.github/workflows/docker-conda.yml +++ b/.github/workflows/docker-conda.yml @@ -6,6 +6,9 @@ on: workflows: ["Trigger Build and Publish All Images"] types: - completed + push: + paths: + - conda/** jobs: build-and-push-conda-image: diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 7957d5a..0529f3c 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -6,6 +6,9 @@ on: workflows: ["Trigger Build and Publish All Images"] types: - completed + push: + paths: + - fedora/** jobs: build-and-push-fedora-image: diff --git a/.github/workflows/docker-gentoo.yml b/.github/workflows/docker-gentoo.yml index 18d336c..8293391 100644 --- a/.github/workflows/docker-gentoo.yml +++ b/.github/workflows/docker-gentoo.yml @@ -6,6 +6,9 @@ on: workflows: ["Trigger Build and Publish All Images"] types: - completed + push: + paths: + - gentoo/** jobs: build-and-push-gentoo-image: diff --git a/.github/workflows/docker-ubuntu-from-source.yml b/.github/workflows/docker-ubuntu-from-source.yml index 164408e..e736e4d 100644 --- a/.github/workflows/docker-ubuntu-from-source.yml +++ b/.github/workflows/docker-ubuntu-from-source.yml @@ -15,6 +15,9 @@ on: required: true description: ROOT Patch version number (string) according to **Major.Minor.Patch** schema default: "02" + push: + paths: + - ubuntu_from_source/** jobs: build-and-push-ubuntu-image: diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index 7990950..d25bb52 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -6,6 +6,9 @@ on: workflows: ["Trigger Build and Publish All Images"] types: - completed + push: + paths: + - ubuntu/** jobs: build-and-push-ubuntu-image: From 255309ed9c69e26f2f95917702d5ac797e451806 Mon Sep 17 00:00:00 2001 From: Enrico Guiraud Date: Thu, 19 May 2022 10:42:45 +0200 Subject: [PATCH 057/114] Update README.md - add a note about reproducibility of the images, or lack thereof - switch `latest` to point to `ubuntu22.04` - streamline image <=> C++ standard explanation --- README.md | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index e882d69..2092049 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ Where to get help: [the ROOT forum](https://root-forum.cern.ch/) ## Supported tags and respective Dockerfile links -* [`latest`](https://github.com/root-project/root-docker/blob/6.26.00-ubuntu20.04/ubuntu/Dockerfile) -> [`6.26.02-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.26.02-ubuntu20.04/ubuntu/Dockerfile), [`6.26.00-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.26.00-ubuntu20.04/ubuntu/Dockerfile), [`6.24.06-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.24.06-ubuntu20.04/ubuntu/Dockerfile), [`6.24.02-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.24.02-ubuntu20.04/ubuntu/Dockerfile), [`6.24.00-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.24.00-ubuntu20.04/ubuntu/Dockerfile), [`6.22.08-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.22.08-ubuntu20.04/ubuntu/Dockerfile), [`6.22.06-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.22.06-ubuntu20.04/ubuntu/Dockerfile), [`6.22.02-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.22.02-ubuntu20.04/ubuntu/Dockerfile), [`6.22.00-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.22.00-ubuntu20.04/ubuntu/Dockerfile), [`6.20.08-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.20.08-ubuntu20.04/ubuntu/Dockerfile) -* [`6.26.02-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.26.02-ubuntu22.04/ubuntu/Dockerfile) +* [`latest`](https://github.com/root-project/root-docker/blob/6.26.02-ubuntu22.04/ubuntu/Dockerfile) -> [`6.26.02-ubuntu22.04`](https://github.com/root-project/root-docker/blob/6.26.02-ubuntu22.04/ubuntu/Dockerfile) +* [`6.26.02-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.26.02-ubuntu20.04/ubuntu/Dockerfile), [`6.26.00-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.26.00-ubuntu20.04/ubuntu/Dockerfile), [`6.24.06-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.24.06-ubuntu20.04/ubuntu/Dockerfile), [`6.24.02-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.24.02-ubuntu20.04/ubuntu/Dockerfile), [`6.24.00-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.24.00-ubuntu20.04/ubuntu/Dockerfile), [`6.22.08-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.22.08-ubuntu20.04/ubuntu/Dockerfile), [`6.22.06-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.22.06-ubuntu20.04/ubuntu/Dockerfile), [`6.22.02-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.22.02-ubuntu20.04/ubuntu/Dockerfile), [`6.22.00-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.22.00-ubuntu20.04/ubuntu/Dockerfile), [`6.20.08-ubuntu20.04`](https://github.com/root-project/root-docker/blob/6.20.08-ubuntu20.04/ubuntu/Dockerfile) * [`6.26.00-conda`](https://github.com/root-project/root-docker/blob/6.26.00-conda/conda/Dockerfile), [`6.24.06-conda`](https://github.com/root-project/root-docker/blob/6.24.06-conda/conda/Dockerfile), [`6.24.02-conda`](https://github.com/root-project/root-docker/blob/6.24.02-conda/conda/Dockerfile), [`6.24.00-conda`](https://github.com/root-project/root-docker/blob/6.24.00-conda-3/conda/Dockerfile), [`6.22.08-conda`](https://github.com/root-project/root-docker/blob/6.22.08-conda/conda/Dockerfile), [`6.22.06-conda`](https://github.com/root-project/root-docker/blob/6.22.06-conda/conda/Dockerfile), [`6.22.02-conda`](https://github.com/root-project/root-docker/blob/6.22.02-conda/conda/Dockerfile), [`6.22.00-conda`](https://github.com/root-project/root-docker/blob/6.22.00-conda/conda/Dockerfile) * [`6.26.00-arch`](https://github.com/root-project/root-docker/blob/6.26.00-arch/arch/Dockerfile), [`6.24.06-arch`](https://github.com/root-project/root-docker/blob/6.24.06-arch/arch/Dockerfile), [`6.24.02-arch`](https://github.com/root-project/root-docker/blob/6.24.02-arch/arch/Dockerfile), [`6.24.00-arch`](https://github.com/root-project/root-docker/blob/6.24.00-arch/arch/Dockerfile), [`6.22.06-arch`](https://github.com/root-project/root-docker/blob/6.22.06-arch/arch/Dockerfile), [`6.22.02-arch`](https://github.com/root-project/root-docker/blob/6.22.02-arch/arch/Dockerfile), [`6.22.00-arch`](https://github.com/root-project/root-docker/blob/6.22.00-arch/conda/Dockerfile), [`6.20.06-arch`](https://github.com/root-project/root-docker/blob/6.20.06-arch/arch/Dockerfile) * [`6.24.06-fedora35`](https://github.com/root-project/root-docker/blob/6.24.06-fedora35/fedora/Dockerfile) @@ -18,15 +18,14 @@ Where to get help: [the ROOT forum](https://root-forum.cern.ch/) ### Supported C++ standards -Different images provide different compilers and a ROOT installation built with different C++ standards. +It is important to compile ROOT applications with the same C++ standard as ROOT itself was compiled with. +Different images provide ROOT installations built with different C++ standards. Here is a breakdown by tag: -The `latest` tag and the `*-ubuntu20.04` tags (starting from ROOT 6.24) have C++14 support: their ROOT is compiled with that C++ standard. - -Tags `*-arch`, `*-conda` and `*-fedora34` have C++17 support. - -Tags `*-fedora3[2,3]` have C++14 support. - -Tags `*-ubuntu20.04` (up to ROOT 6.22) and `*-centos7` come with ROOT compiled with C++11 support. +- `latest`, `ubuntu22.04`: C++17 support +- `ubuntu22.04` (starting from ROOT 6.24): C+14 +- `arch`, `conda`, `fedora34`, `fedora35`: C++17 +- `fedora32`, `fedora33`: C++14 +- `ubuntu20.04` (up to ROOT 6.22), `centos7`: C++11 ## Getting started @@ -84,3 +83,9 @@ docker run --rm -it -e DISPLAY=10.0.75.1:0 rootproject/root ## Examples [See GitHub for example Dockerfiles.](https://github.com/root-project/docker-examples) + +## Reproducibility of these images + +Even though for each image we link to the Dockerfile that produced it, in several cases running that same exact Dockerfile will _not_ result in an image identical to the one we offer. Sometimes it will even result in an image with a more recent ROOT version: this is the case for images based on rolling Linux distributions such as Arch, for example. + +The `*_from_source` recipes, on the other hand, are expected to be fully reproducible. From 43d7e704418ed8e2117b13d28c9a8f54dee933ce Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:26:51 +0100 Subject: [PATCH 058/114] added initial docker github action --- .github/workflows/build-publish.yml | 43 +++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/build-publish.yml diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml new file mode 100644 index 0000000..0c0d8dc --- /dev/null +++ b/.github/workflows/build-publish.yml @@ -0,0 +1,43 @@ + +name: Build and Publish Docker Image + +on: + workflow_dispatch: + +env: + IMAGE_NAME: ${{ GITHUB_REPOSITORY_OWNER }}/root + + +jobs: + build-and-push-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Log in to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ github.actor }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and Push Ubuntu image + uses: docker/build-push-action@v2 + with: + context: ubuntu/ + push: true + build-args: | + ROOT_BIN=root_v6.26.00.Linux-ubuntu20-x86_64-gcc9.3.tar.gz + tags: | + ghcr.io/${{ env.IMAGE_NAME }}:latest From 402bcf6b64d311554e97a1d4d6b5037fbcae0f64 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:30:28 +0100 Subject: [PATCH 059/114] commented dockerhub auth --- .github/workflows/build-publish.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 0c0d8dc..34c24b6 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -26,11 +26,11 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GHCR_WRITE_TOKEN }} - - name: Log in to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ github.actor }} - password: ${{ secrets.DOCKERHUB_TOKEN }} +# - name: Log in to Docker Hub +# uses: docker/login-action@v1 +# with: +# username: ${{ github.actor }} +# password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and Push Ubuntu image uses: docker/build-push-action@v2 From 1571a734b204e1558bbfc9cdbe223168a89643a3 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:34:20 +0100 Subject: [PATCH 060/114] added label --- ubuntu/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ubuntu/Dockerfile b/ubuntu/Dockerfile index 2225efe..6561416 100644 --- a/ubuntu/Dockerfile +++ b/ubuntu/Dockerfile @@ -2,6 +2,8 @@ FROM ubuntu:22.04 LABEL maintainer.name="ROOT team" LABEL maintainer.email="root-dev@cern.ch" +# TODO: replace fork with original repository +LABEL org.opencontainers.image.source="https://github.com/lobis/root-docker" ENV LANG=C.UTF-8 From 98838e56b1afe672bf4df958de04bf0fa0543d3a Mon Sep 17 00:00:00 2001 From: Luis Obis <35803280+lobis@users.noreply.github.com> Date: Tue, 8 Mar 2022 12:37:48 +0100 Subject: [PATCH 061/114] fix action env variable --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 34c24b6..2c89450 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -5,7 +5,7 @@ on: workflow_dispatch: env: - IMAGE_NAME: ${{ GITHUB_REPOSITORY_OWNER }}/root + IMAGE_NAME: ${{ env.GITHUB_REPOSITORY_OWNER }}/root jobs: From 0adb8fb4fe5d793cde141b6987aa4e7ebbee6bf0 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:41:08 +0100 Subject: [PATCH 062/114] moved env to job level --- .github/workflows/build-publish.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 2c89450..0c98c50 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -4,10 +4,6 @@ name: Build and Publish Docker Image on: workflow_dispatch: -env: - IMAGE_NAME: ${{ env.GITHUB_REPOSITORY_OWNER }}/root - - jobs: build-and-push-image: runs-on: ubuntu-latest @@ -15,6 +11,9 @@ jobs: contents: read packages: write + env: + IMAGE_NAME: ${{ env.GITHUB_REPOSITORY_OWNER }}/root + steps: - name: Checkout repository uses: actions/checkout@v2 From f29ef7f7f312aabff28489ac3294ba56881312f7 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:50:21 +0100 Subject: [PATCH 063/114] updated action to define image name --- .github/workflows/build-publish.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 0c98c50..e100b6a 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -12,9 +12,14 @@ jobs: packages: write env: - IMAGE_NAME: ${{ env.GITHUB_REPOSITORY_OWNER }}/root + IMAGE_NAME: root-project/root steps: + - name: Set image name + run: | + echo "::set-env name=IMAGE_NAME::${{ env.GITHUB_REPOSITORY_OWNER }}/root" + run: echo "IMAGE_NAME = $IMAGE_NAME" + - name: Checkout repository uses: actions/checkout@v2 @@ -39,4 +44,4 @@ jobs: build-args: | ROOT_BIN=root_v6.26.00.Linux-ubuntu20-x86_64-gcc9.3.tar.gz tags: | - ghcr.io/${{ env.IMAGE_NAME }}:latest + ghcr.io/${{ env.IMAGE_NAME }}/root:latest From acde3ff8b2d60e08b119095bd67cf503dcdbe5ae Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:51:39 +0100 Subject: [PATCH 064/114] fix typo in action --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index e100b6a..b494e9e 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -18,7 +18,7 @@ jobs: - name: Set image name run: | echo "::set-env name=IMAGE_NAME::${{ env.GITHUB_REPOSITORY_OWNER }}/root" - run: echo "IMAGE_NAME = $IMAGE_NAME" + echo "IMAGE_NAME = $IMAGE_NAME" - name: Checkout repository uses: actions/checkout@v2 From 90539701592d566a980b28b3568a05a8b43b1588 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 12:53:39 +0100 Subject: [PATCH 065/114] updated action env according to https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#environment-files --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index b494e9e..11fd19a 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -17,7 +17,7 @@ jobs: steps: - name: Set image name run: | - echo "::set-env name=IMAGE_NAME::${{ env.GITHUB_REPOSITORY_OWNER }}/root" + echo "IMAGE_NAME=${{ env.GITHUB_REPOSITORY_OWNER }}/root" >> $GITHUB_ENV echo "IMAGE_NAME = $IMAGE_NAME" - name: Checkout repository From 37ab35ef94d4065103f1bbde713dc1089c86552b Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:00:10 +0100 Subject: [PATCH 066/114] attempt to fix action env problem --- .github/workflows/build-publish.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 11fd19a..4a38960 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -15,10 +15,13 @@ jobs: IMAGE_NAME: root-project/root steps: - - name: Set image name + - name: Set Image Name run: | echo "IMAGE_NAME=${{ env.GITHUB_REPOSITORY_OWNER }}/root" >> $GITHUB_ENV - echo "IMAGE_NAME = $IMAGE_NAME" + + - name: Print Image Name + run: | + echo "IMAGE_NAME = ${{ env.IMAGE_NAME }}" - name: Checkout repository uses: actions/checkout@v2 From d1f4fc81a5a269e829fc2a78a615df7e908a06c5 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:03:12 +0100 Subject: [PATCH 067/114] using github context instead of env --- .github/workflows/build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 4a38960..3c4efec 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -17,7 +17,7 @@ jobs: steps: - name: Set Image Name run: | - echo "IMAGE_NAME=${{ env.GITHUB_REPOSITORY_OWNER }}/root" >> $GITHUB_ENV + echo "IMAGE_NAME=${{ github.repository_owner }}/root" >> $GITHUB_ENV - name: Print Image Name run: | @@ -47,4 +47,4 @@ jobs: build-args: | ROOT_BIN=root_v6.26.00.Linux-ubuntu20-x86_64-gcc9.3.tar.gz tags: | - ghcr.io/${{ env.IMAGE_NAME }}/root:latest + ghcr.io/${{ env.IMAGE_NAME }}:latest From bfa31c2e7714118d5c2e34d96151f2cd4eb45bb5 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:04:55 +0100 Subject: [PATCH 068/114] attempt to simplify action --- .github/workflows/build-publish.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 3c4efec..5cfc091 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -12,13 +12,9 @@ jobs: packages: write env: - IMAGE_NAME: root-project/root + IMAGE_NAME: ${{ github.repository_owner }}/root steps: - - name: Set Image Name - run: | - echo "IMAGE_NAME=${{ github.repository_owner }}/root" >> $GITHUB_ENV - - name: Print Image Name run: | echo "IMAGE_NAME = ${{ env.IMAGE_NAME }}" From afe7fb9971a39f1853870392ef58e2a68147288c Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:20:05 +0100 Subject: [PATCH 069/114] added UBUNTU_VERSION arg to image, matrix build in action --- .github/workflows/build-publish.yml | 11 ++++++++--- ubuntu/Dockerfile | 2 -- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 5cfc091..ada1570 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -5,11 +5,15 @@ on: workflow_dispatch: jobs: - build-and-push-image: + build-and-push-ubuntu-image: runs-on: ubuntu-latest permissions: contents: read packages: write + strategy: + matrix: + root-version: [6.26.00, 6.24.06, 6.24.02, 6.24.00, 6.22.08, 6.22.06, 6.22.02, 6.22.00, 6.20.08] + ubuntu-version: [20.04] env: IMAGE_NAME: ${{ github.repository_owner }}/root @@ -41,6 +45,7 @@ jobs: context: ubuntu/ push: true build-args: | - ROOT_BIN=root_v6.26.00.Linux-ubuntu20-x86_64-gcc9.3.tar.gz + ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz + UBUNTU_VERSION=${{ matrix.ubuntu-version }} tags: | - ghcr.io/${{ env.IMAGE_NAME }}:latest + ghcr.io/${{ env.IMAGE_NAME }}:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} diff --git a/ubuntu/Dockerfile b/ubuntu/Dockerfile index 6561416..2225efe 100644 --- a/ubuntu/Dockerfile +++ b/ubuntu/Dockerfile @@ -2,8 +2,6 @@ FROM ubuntu:22.04 LABEL maintainer.name="ROOT team" LABEL maintainer.email="root-dev@cern.ch" -# TODO: replace fork with original repository -LABEL org.opencontainers.image.source="https://github.com/lobis/root-docker" ENV LANG=C.UTF-8 From 23778bee7c5185d3ea10c879414620deef62f878 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:39:19 +0100 Subject: [PATCH 070/114] attempt to add latest tag --- .github/workflows/build-publish.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index ada1570..67e2518 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -16,12 +16,17 @@ jobs: ubuntu-version: [20.04] env: - IMAGE_NAME: ${{ github.repository_owner }}/root + IMAGE_NAME_WITH_TAGS: ${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} steps: - - name: Print Image Name + - name: Add 'latest' tag if applicable + if: ${{ matrix.root-version == '6.26.00' }} run: | - echo "IMAGE_NAME = ${{ env.IMAGE_NAME }}" + echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV + + - name: Print Image name with tag(s) + run: | + echo "Image Names with tag: ${{ env.IMAGE_NAME_WITH_TAGS }}" - name: Checkout repository uses: actions/checkout@v2 @@ -39,13 +44,15 @@ jobs: # username: ${{ github.actor }} # password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and Push Ubuntu image + - name: Build and Push Image uses: docker/build-push-action@v2 with: context: ubuntu/ + pull: true push: true build-args: | ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz UBUNTU_VERSION=${{ matrix.ubuntu-version }} tags: | - ghcr.io/${{ env.IMAGE_NAME }}:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} + ${{ env.IMAGE_NAME_WITH_TAGS }} + From 31573192b266da890cfd7c8faeb1e1e3c519ee11 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:41:21 +0100 Subject: [PATCH 071/114] added missing ghcr.io/ --- .github/workflows/build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 67e2518..cce6ea5 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -16,13 +16,13 @@ jobs: ubuntu-version: [20.04] env: - IMAGE_NAME_WITH_TAGS: ${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} + IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} steps: - name: Add 'latest' tag if applicable if: ${{ matrix.root-version == '6.26.00' }} run: | - echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV + echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV - name: Print Image name with tag(s) run: | From c9b283213492f6ff0513787b039bd9803d0bb636 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:42:50 +0100 Subject: [PATCH 072/114] attempt to simplify --- .github/workflows/build-publish.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index cce6ea5..7fee13e 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -4,6 +4,9 @@ name: Build and Publish Docker Image on: workflow_dispatch: +env: + IMAGE_NAME_WITHOUT_TAGS: ghcr.io/${{ github.repository_owner }}/root + jobs: build-and-push-ubuntu-image: runs-on: ubuntu-latest @@ -16,13 +19,13 @@ jobs: ubuntu-version: [20.04] env: - IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} + IMAGE_NAME_WITH_TAGS: ${{ env.IMAGE_NAME_WITHOUT_TAGS }}:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} steps: - name: Add 'latest' tag if applicable if: ${{ matrix.root-version == '6.26.00' }} run: | - echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV + echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},${{ env.IMAGE_NAME_WITHOUT_TAGS }}:latest" >> $GITHUB_ENV - name: Print Image name with tag(s) run: | From ef82861950e66ad9dab961a1c1759d5b99850670 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:43:52 +0100 Subject: [PATCH 073/114] reverted previous commit --- .github/workflows/build-publish.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 7fee13e..fd597cb 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -3,9 +3,6 @@ name: Build and Publish Docker Image on: workflow_dispatch: - -env: - IMAGE_NAME_WITHOUT_TAGS: ghcr.io/${{ github.repository_owner }}/root jobs: build-and-push-ubuntu-image: @@ -19,13 +16,13 @@ jobs: ubuntu-version: [20.04] env: - IMAGE_NAME_WITH_TAGS: ${{ env.IMAGE_NAME_WITHOUT_TAGS }}:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} + IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} steps: - name: Add 'latest' tag if applicable if: ${{ matrix.root-version == '6.26.00' }} run: | - echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},${{ env.IMAGE_NAME_WITHOUT_TAGS }}:latest" >> $GITHUB_ENV + echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV - name: Print Image name with tag(s) run: | From 3d4f5406b3c0f4432e2ae7aa8b28f606118e83bb Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:47:55 +0100 Subject: [PATCH 074/114] formatting --- .github/workflows/build-publish.yml | 34 ++++++++++++++++++----------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index fd597cb..0baa007 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -1,9 +1,8 @@ - name: Build and Publish Docker Image on: workflow_dispatch: - + jobs: build-and-push-ubuntu-image: runs-on: ubuntu-latest @@ -12,14 +11,25 @@ jobs: packages: write strategy: matrix: - root-version: [6.26.00, 6.24.06, 6.24.02, 6.24.00, 6.22.08, 6.22.06, 6.22.02, 6.22.00, 6.20.08] + root-version: + [ + 6.26.00, + 6.24.06, + 6.24.02, + 6.24.00, + 6.22.08, + 6.22.06, + 6.22.02, + 6.22.00, + 6.20.08, + ] ubuntu-version: [20.04] env: IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} - + steps: - - name: Add 'latest' tag if applicable + - name: Add 'latest' tag if: ${{ matrix.root-version == '6.26.00' }} run: | echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV @@ -38,11 +48,11 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GHCR_WRITE_TOKEN }} -# - name: Log in to Docker Hub -# uses: docker/login-action@v1 -# with: -# username: ${{ github.actor }} -# password: ${{ secrets.DOCKERHUB_TOKEN }} + # - name: Log in to Docker Hub + # uses: docker/login-action@v1 + # with: + # username: ${{ github.actor }} + # password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and Push Image uses: docker/build-push-action@v2 @@ -53,6 +63,4 @@ jobs: build-args: | ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz UBUNTU_VERSION=${{ matrix.ubuntu-version }} - tags: | - ${{ env.IMAGE_NAME_WITH_TAGS }} - + tags: ${{ env.IMAGE_NAME_WITH_TAGS }} From e873009f72d2f3480ebf552e0e58d1d3405c7d24 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 13:52:59 +0100 Subject: [PATCH 075/114] addding label from action --- .github/workflows/build-publish.yml | 2 ++ ubuntu/Dockerfile | 18 +++++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 0baa007..abc3a2c 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -64,3 +64,5 @@ jobs: ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz UBUNTU_VERSION=${{ matrix.ubuntu-version }} tags: ${{ env.IMAGE_NAME_WITH_TAGS }} + labels: | + org.opencontainers.image.source=${{ github.repositoryUrl }} diff --git a/ubuntu/Dockerfile b/ubuntu/Dockerfile index 2225efe..f61433e 100644 --- a/ubuntu/Dockerfile +++ b/ubuntu/Dockerfile @@ -11,15 +11,15 @@ WORKDIR /opt COPY packages packages -RUN apt-get update -qq \ - && ln -sf /usr/share/zoneinfo/UTC /etc/localtime \ - && apt-get -y install $(cat packages) wget\ - && rm -rf /var/lib/apt/lists/*\ - && wget https://root.cern/download/${ROOT_BIN} \ - && tar -xzvf ${ROOT_BIN} \ - && rm -f ${ROOT_BIN} \ - && echo /opt/root/lib >> /etc/ld.so.conf \ - && ldconfig +RUN apt-get update -qq && \ + ln -sf /usr/share/zoneinfo/UTC /etc/localtime && \ + apt-get -y install $(cat packages) wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://root.cern/download/${ROOT_BIN} && \ + tar -xzvf ${ROOT_BIN} && \ + rm -f ${ROOT_BIN} && \ + echo /opt/root/lib >> /etc/ld.so.conf && \ + ldconfig RUN yes | unminimize ENV ROOTSYS /opt/root From ca3487d08109ec6650b4c0eee5adef4690febd50 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 14:01:07 +0100 Subject: [PATCH 076/114] fixed package label --- .github/workflows/build-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index abc3a2c..9c564ee 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -65,4 +65,4 @@ jobs: UBUNTU_VERSION=${{ matrix.ubuntu-version }} tags: ${{ env.IMAGE_NAME_WITH_TAGS }} labels: | - org.opencontainers.image.source=${{ github.repositoryUrl }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} From fa8b7dd7c175d95c8e08dfbd93e28822651fe7b2 Mon Sep 17 00:00:00 2001 From: Luis Obis Date: Tue, 8 Mar 2022 19:40:03 +0100 Subject: [PATCH 077/114] added fedora workflow --- .github/workflows/build-publish.yml | 49 +++++++++++++++++++++++++++++ fedora/Dockerfile | 10 +++--- 2 files changed, 55 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 9c564ee..8931ed3 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -66,3 +66,52 @@ jobs: tags: ${{ env.IMAGE_NAME_WITH_TAGS }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} + build-and-push-fedora-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + matrix: + include: + - root-version: 6.24.06 + fedora-version: 35 + - root-version: 6.22.08 + fedora-version: 34 + - root-version: 6.22.06 + fedora-version: 33 + + env: + IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-fedora${{ matrix.fedora-version }} + + steps: + - name: Add 'latest' tag + if: ${{ matrix.fedora-version == '35' }} + run: | + echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV + + - name: Print Image name with tag(s) + run: | + echo "Image Names with tag: ${{ env.IMAGE_NAME_WITH_TAGS }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: fedora/ + pull: true + push: true + build-args: | + FEDORA_VERSION=${{ matrix.fedora-version }} + tags: ${{ env.IMAGE_NAME_WITH_TAGS }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} diff --git a/fedora/Dockerfile b/fedora/Dockerfile index f46ab77..5b00701 100644 --- a/fedora/Dockerfile +++ b/fedora/Dockerfile @@ -1,12 +1,14 @@ -FROM fedora:35 +ARG FEDORA_VERSION=35 + +FROM fedora:$FEDORA_VERSION LABEL maintainer.name="ROOT team" LABEL maintainer.email="root-dev@cern.ch" COPY packages packages -RUN dnf update -y \ - && dnf install -y $(cat packages) \ - && rm /packages +RUN dnf update -y && \ + dnf install -y $(cat packages) && \ + rm /packages CMD ["root", "-b"] From 128d3de479802ec42a772025107c455efd32144c Mon Sep 17 00:00:00 2001 From: Luis Obis Date: Tue, 8 Mar 2022 19:51:28 +0100 Subject: [PATCH 078/114] added test for fedora --- .github/workflows/build-publish.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index 8931ed3..f71f7f0 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -66,6 +66,7 @@ jobs: tags: ${{ env.IMAGE_NAME_WITH_TAGS }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} + build-and-push-fedora-image: runs-on: ubuntu-latest permissions: @@ -115,3 +116,7 @@ jobs: tags: ${{ env.IMAGE_NAME_WITH_TAGS }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAGS }} root-config --version From ef24f4a6c1edfb3b0734c44036d198b7b2f5d98d Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 20:24:52 +0100 Subject: [PATCH 079/114] trying to fix multiple tags --- .github/workflows/build-publish.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml index f71f7f0..a5347ed 100644 --- a/.github/workflows/build-publish.yml +++ b/.github/workflows/build-publish.yml @@ -89,11 +89,11 @@ jobs: - name: Add 'latest' tag if: ${{ matrix.fedora-version == '35' }} run: | - echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV + echo 'IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }}\nghcr.io/${{ github.repository_owner }}/root:latest' >> $GITHUB_ENV - name: Print Image name with tag(s) run: | - echo "Image Names with tag: ${{ env.IMAGE_NAME_WITH_TAGS }}" + echo "Image Names with tag:\n${{ env.IMAGE_NAME_WITH_TAGS }}" - name: Checkout repository uses: actions/checkout@v2 @@ -119,4 +119,4 @@ jobs: - name: Test ROOT Version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAGS }} root-config --version + docker run $(echo "${{ env.IMAGE_NAME_WITH_TAGS }}" | tail -n 1) root-config --version From 768c30b9dc3c32f1c53368557983825a18da22be Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 20:35:25 +0100 Subject: [PATCH 080/114] divided workflow --- .github/workflows/build-publish.yml | 122 ---------------------------- .github/workflows/docker-fedora.yml | 54 ++++++++++++ .github/workflows/docker-ubuntu.yml | 68 ++++++++++++++++ 3 files changed, 122 insertions(+), 122 deletions(-) delete mode 100644 .github/workflows/build-publish.yml create mode 100644 .github/workflows/docker-fedora.yml create mode 100644 .github/workflows/docker-ubuntu.yml diff --git a/.github/workflows/build-publish.yml b/.github/workflows/build-publish.yml deleted file mode 100644 index a5347ed..0000000 --- a/.github/workflows/build-publish.yml +++ /dev/null @@ -1,122 +0,0 @@ -name: Build and Publish Docker Image - -on: - workflow_dispatch: - -jobs: - build-and-push-ubuntu-image: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - strategy: - matrix: - root-version: - [ - 6.26.00, - 6.24.06, - 6.24.02, - 6.24.00, - 6.22.08, - 6.22.06, - 6.22.02, - 6.22.00, - 6.20.08, - ] - ubuntu-version: [20.04] - - env: - IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} - - steps: - - name: Add 'latest' tag - if: ${{ matrix.root-version == '6.26.00' }} - run: | - echo "IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }},ghcr.io/${{ github.repository_owner }}/root:latest" >> $GITHUB_ENV - - - name: Print Image name with tag(s) - run: | - echo "Image Names with tag: ${{ env.IMAGE_NAME_WITH_TAGS }}" - - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Log in to the GitHub Container registry - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GHCR_WRITE_TOKEN }} - - # - name: Log in to Docker Hub - # uses: docker/login-action@v1 - # with: - # username: ${{ github.actor }} - # password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and Push Image - uses: docker/build-push-action@v2 - with: - context: ubuntu/ - pull: true - push: true - build-args: | - ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz - UBUNTU_VERSION=${{ matrix.ubuntu-version }} - tags: ${{ env.IMAGE_NAME_WITH_TAGS }} - labels: | - org.opencontainers.image.source=https://github.com/${{ github.repository }} - - build-and-push-fedora-image: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - strategy: - matrix: - include: - - root-version: 6.24.06 - fedora-version: 35 - - root-version: 6.22.08 - fedora-version: 34 - - root-version: 6.22.06 - fedora-version: 33 - - env: - IMAGE_NAME_WITH_TAGS: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-fedora${{ matrix.fedora-version }} - - steps: - - name: Add 'latest' tag - if: ${{ matrix.fedora-version == '35' }} - run: | - echo 'IMAGE_NAME_WITH_TAGS=${{ env.IMAGE_NAME_WITH_TAGS }}\nghcr.io/${{ github.repository_owner }}/root:latest' >> $GITHUB_ENV - - - name: Print Image name with tag(s) - run: | - echo "Image Names with tag:\n${{ env.IMAGE_NAME_WITH_TAGS }}" - - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Log in to the GitHub Container registry - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GHCR_WRITE_TOKEN }} - - - name: Build and Push Image - uses: docker/build-push-action@v2 - with: - context: fedora/ - pull: true - push: true - build-args: | - FEDORA_VERSION=${{ matrix.fedora-version }} - tags: ${{ env.IMAGE_NAME_WITH_TAGS }} - labels: | - org.opencontainers.image.source=https://github.com/${{ github.repository }} - - - name: Test ROOT Version - run: | - docker run $(echo "${{ env.IMAGE_NAME_WITH_TAGS }}" | tail -n 1) root-config --version diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml new file mode 100644 index 0000000..4a39d83 --- /dev/null +++ b/.github/workflows/docker-fedora.yml @@ -0,0 +1,54 @@ +name: Build and Publish Docker Image + +on: + workflow_dispatch: + +jobs: + build-and-push-fedora-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + matrix: + include: + - root-version: 6.24.06 + fedora-version: 35 + - root-version: 6.22.08 + fedora-version: 34 + - root-version: 6.22.06 + fedora-version: 33 + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-fedora${{ matrix.fedora-version }} + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: fedora/ + pull: true + push: true + build-args: | + FEDORA_VERSION=${{ matrix.fedora-version }} + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml new file mode 100644 index 0000000..cfb8b60 --- /dev/null +++ b/.github/workflows/docker-ubuntu.yml @@ -0,0 +1,68 @@ +name: Build and Publish Docker Image + +on: + workflow_dispatch: + +jobs: + build-and-push-ubuntu-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + matrix: + root-version: + [ + 6.26.00, + 6.24.06, + 6.24.02, + 6.24.00, + 6.22.08, + 6.22.06, + 6.22.02, + 6.22.00, + 6.20.08, + ] + ubuntu-version: [20.04] + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + # - name: Log in to Docker Hub + # uses: docker/login-action@v1 + # with: + # username: ${{ github.actor }} + # password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: ubuntu/ + pull: true + push: true + build-args: | + ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz + UBUNTU_VERSION=${{ matrix.ubuntu-version }} + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Add 'latest' tag + if: ${{ matrix.root-version == '6.26.00' }} + run: | + docker push ghcr.io/${{ github.repository_owner }}/root:latest From 92342ea7d51e27663da823b930d0c6ca3e9683d4 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 20:36:35 +0100 Subject: [PATCH 081/114] changed titles --- .github/workflows/docker-fedora.yml | 2 +- .github/workflows/docker-ubuntu.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 4a39d83..cc17304 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -1,4 +1,4 @@ -name: Build and Publish Docker Image +name: Build and Publish Fedora Image on: workflow_dispatch: diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index cfb8b60..d6e4860 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -1,4 +1,4 @@ -name: Build and Publish Docker Image +name: Build and Publish Ubuntu Image (from binaries) on: workflow_dispatch: From 4970147d1bf41bfcae5e72f4a8bae8fe585120a6 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 20:44:27 +0100 Subject: [PATCH 082/114] updated workflows --- .github/workflows/docker-all.yml | 13 +++++++++++++ .github/workflows/docker-fedora.yml | 4 ++++ .github/workflows/docker-ubuntu.yml | 7 ++++++- centos7/Dockerfile | 10 +++++----- 4 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/docker-all.yml diff --git a/.github/workflows/docker-all.yml b/.github/workflows/docker-all.yml new file mode 100644 index 0000000..07e509d --- /dev/null +++ b/.github/workflows/docker-all.yml @@ -0,0 +1,13 @@ +name: Build and Publish All Images + +on: + workflow_dispatch: + +jobs: + exit: + runs-on: ubuntu-latest + + steps: + - name: Print + run: | + echo "This is a way to start multiple workflows from manually activating one" diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index cc17304..96a9502 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -2,6 +2,10 @@ name: Build and Publish Fedora Image on: workflow_dispatch: + workflow_run: + workflows: ["Build and Publish All Images"] + types: + - completed jobs: build-and-push-fedora-image: diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index d6e4860..7bac76b 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -2,6 +2,10 @@ name: Build and Publish Ubuntu Image (from binaries) on: workflow_dispatch: + workflow_run: + workflows: ["Build and Publish All Images"] + types: + - completed jobs: build-and-push-ubuntu-image: @@ -65,4 +69,5 @@ jobs: - name: Add 'latest' tag if: ${{ matrix.root-version == '6.26.00' }} run: | - docker push ghcr.io/${{ github.repository_owner }}/root:latest + docker image tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:latest + docker push diff --git a/centos7/Dockerfile b/centos7/Dockerfile index ddbc43a..49cbab1 100644 --- a/centos7/Dockerfile +++ b/centos7/Dockerfile @@ -5,10 +5,10 @@ LABEL maintainer.email="root-dev@cern.ch" COPY packages packages -RUN yum update -q -y \ - && yum install -y epel-release \ - && yum install -y $(cat packages) \ - && localedef -i en_US -f UTF-8 en_US.UTF-8 \ - && rm -f /packages +RUN yum update -q -y && \ + yum install -y epel-release && \ + yum install -y $(cat packages) && \ + localedef -i en_US -f UTF-8 en_US.UTF-8 && \ + rm -f /packages CMD ["root", "-b"] From c07dcc19cc532c7041afdd79518ad7e143ff6d44 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 20:50:42 +0100 Subject: [PATCH 083/114] changed action name, fixed typo --- .github/workflows/docker-fedora.yml | 2 +- .github/workflows/docker-ubuntu.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 96a9502..7a9012e 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -3,7 +3,7 @@ name: Build and Publish Fedora Image on: workflow_dispatch: workflow_run: - workflows: ["Build and Publish All Images"] + workflows: ["Trigger Build and Publish All Images"] types: - completed diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index 7bac76b..3c62f7e 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -3,7 +3,7 @@ name: Build and Publish Ubuntu Image (from binaries) on: workflow_dispatch: workflow_run: - workflows: ["Build and Publish All Images"] + workflows: ["Trigger Build and Publish All Images"] types: - completed @@ -70,4 +70,4 @@ jobs: if: ${{ matrix.root-version == '6.26.00' }} run: | docker image tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:latest - docker push + docker push ${{ env.IMAGE_NAME_WITH_TAG }} From 36bb738729181a5022584548211ba22604f8d85b Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 8 Mar 2022 20:52:41 +0100 Subject: [PATCH 084/114] fixed name change --- .github/workflows/docker-all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-all.yml b/.github/workflows/docker-all.yml index 07e509d..99098df 100644 --- a/.github/workflows/docker-all.yml +++ b/.github/workflows/docker-all.yml @@ -1,4 +1,4 @@ -name: Build and Publish All Images +name: Trigger Build and Publish All Images on: workflow_dispatch: From 92c2fe24dbc044504b3983159f847ad82f955d94 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Wed, 9 Mar 2022 10:25:10 +0100 Subject: [PATCH 085/114] added ubuntu from source image --- .../workflows/docker-ubuntu-from-source.yml | 49 +++++++++++++++++++ ubuntu_from_source/packages | 2 +- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/docker-ubuntu-from-source.yml diff --git a/.github/workflows/docker-ubuntu-from-source.yml b/.github/workflows/docker-ubuntu-from-source.yml new file mode 100644 index 0000000..3d7b1b8 --- /dev/null +++ b/.github/workflows/docker-ubuntu-from-source.yml @@ -0,0 +1,49 @@ +name: Build and Publish Ubuntu Image (from source) + +on: + workflow_dispatch: + +jobs: + build-and-push-ubuntu-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + matrix: + include: + - root-version: v6-26-00 + cpp-standard: 17 + ubuntu-version: 20.04 + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }}-cpp${{ matrix.cpp-standard }}-from-source + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: ubuntu_from_source/ + pull: true + push: true + build-args: | + ROOT_VERSION=${{ matrix.root-version }} + CMAKE_CXX_STANDARD=${{ matrix.cpp-standard }} + UBUNTU_VERSION=${{ matrix.ubuntu-version }} + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} diff --git a/ubuntu_from_source/packages b/ubuntu_from_source/packages index f7db3b9..569452f 100644 --- a/ubuntu_from_source/packages +++ b/ubuntu_from_source/packages @@ -45,4 +45,4 @@ python3-dev python3-numpy srm-ifce-dev unixodbc-dev -python-is-python3 +python-is-python3 \ No newline at end of file From 791eca5be1f1678a56c4684ece81da8be44f52a0 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Wed, 9 Mar 2022 10:27:23 +0100 Subject: [PATCH 086/114] shortened action names --- .github/workflows/docker-fedora.yml | 2 +- .github/workflows/docker-ubuntu-from-source.yml | 2 +- .github/workflows/docker-ubuntu.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 7a9012e..dd828ea 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -1,4 +1,4 @@ -name: Build and Publish Fedora Image +name: Fedora on: workflow_dispatch: diff --git a/.github/workflows/docker-ubuntu-from-source.yml b/.github/workflows/docker-ubuntu-from-source.yml index 3d7b1b8..7318927 100644 --- a/.github/workflows/docker-ubuntu-from-source.yml +++ b/.github/workflows/docker-ubuntu-from-source.yml @@ -1,4 +1,4 @@ -name: Build and Publish Ubuntu Image (from source) +name: Ubuntu (from source) on: workflow_dispatch: diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index 3c62f7e..4a116a3 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -1,4 +1,4 @@ -name: Build and Publish Ubuntu Image (from binaries) +name: Ubuntu (from binaries) on: workflow_dispatch: From 15b1e666cb07da7b1d01b5a10544b0c331213a0d Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Wed, 9 Mar 2022 20:33:21 +0100 Subject: [PATCH 087/114] added centOS image, moved env variables in Dockerfiles --- .../workflows/docker-centos-from-source.yml | 57 +++++++++++++++++++ centos_from_source/Dockerfile | 39 ++++++++----- 2 files changed, 82 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/docker-centos-from-source.yml diff --git a/.github/workflows/docker-centos-from-source.yml b/.github/workflows/docker-centos-from-source.yml new file mode 100644 index 0000000..7b03f2d --- /dev/null +++ b/.github/workflows/docker-centos-from-source.yml @@ -0,0 +1,57 @@ +name: CentOS + +on: + workflow_dispatch: + workflow_run: + workflows: ["Trigger Build and Publish All Images"] + types: + - completed + +jobs: + build-and-push-centos-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + matrix: + include: + - root-version: v6-26-00 + cpp-standard: 17 + centos-version: 7 + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-centos${{ matrix.centos-version }}-cpp${{ matrix.cpp-standard }}-from-source + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: centos_from_source/ + pull: true + push: true + build-args: | + ROOT_VERSION=${{ matrix.root-version }} + CENTOS_VERSION=${{ matrix.centos-version }} + CMAKE_CXX_STANDARD=${{ matrix.cpp-standard }} + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version diff --git a/centos_from_source/Dockerfile b/centos_from_source/Dockerfile index 1291ecc..a994682 100644 --- a/centos_from_source/Dockerfile +++ b/centos_from_source/Dockerfile @@ -1,18 +1,30 @@ # WARNING: this Dockerfile is unmaintained -FROM centos +ARG CENTOS_VERSION=7 + +FROM centos:$CENTOS_VERSION COPY packages packages -RUN yum update -q -y \ - && yum install -y epel-release \ - && yum install -y $(cat packages) \ - && localedef -i en_US -f UTF-8 en_US.UTF-8 \ - && rm -f /packages +RUN yum update -q -y && \ + yum install -y epel-release && \ + yum install -y $(cat packages) && \ + localedef -i en_US -f UTF-8 en_US.UTF-8 && \ + rm -f /packages + +ARG CMAKE_CXX_STANDARD=17 +ARG ROOT_VERSION=master + +ENV ROOTSYS /usr/local/root +ENV PATH $ROOTSYS/bin:$PATH +ENV PYTHONPATH $ROOTSYS/lib:$PYTHONPATH +ENV CLING_STANDARD_PCH none -RUN cd /tmp \ - && git clone https://github.com/root-project/root /usr/src/root \ - && cmake3 /usr/src/root \ +RUN cd /tmp && \ + git clone https://github.com/root-project/root.git $ROOTSYS/source && \ + cd $ROOTSYS/source && git reset --hard ${ROOT_VERSION} && \ + cmake3 $ROOTSYS/source \ + -DCMAKE_INSTALL_PREFIX=$ROOTSYS -DCMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD \ -Dall=ON \ -Dcxx11=ON \ -Dfail-on-missing=ON \ @@ -40,10 +52,9 @@ RUN cd /tmp \ -Droot7=OFF \ -Dsapdb=OFF \ -Dsrp=OFF \ - -Dvc=OFF \ - && cmake3 --build . -- -j$(nproc) \ - && cmake3 --build . --target install \ - && rm -rf /usr/src/root /tmp/* + -Dvc=OFF && \ + cmake3 --build . -- -j$(nproc) && \ + cmake3 --build . --target install && \ + rm -rf $ROOTSYS/source /tmp/* -ENV PYTHONPATH /usr/local/lib CMD ["root", "-b"] From 0ee0fefd591a31ca028192cceadc3c77714730b9 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Wed, 9 Mar 2022 20:33:56 +0100 Subject: [PATCH 088/114] removed from all trigger --- .github/workflows/docker-centos-from-source.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/docker-centos-from-source.yml b/.github/workflows/docker-centos-from-source.yml index 7b03f2d..1300e96 100644 --- a/.github/workflows/docker-centos-from-source.yml +++ b/.github/workflows/docker-centos-from-source.yml @@ -2,10 +2,6 @@ name: CentOS on: workflow_dispatch: - workflow_run: - workflows: ["Trigger Build and Publish All Images"] - types: - - completed jobs: build-and-push-centos-image: From b59a4f19d8bddc04d7b7f1acf6e343d3ce7ca27a Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Wed, 9 Mar 2022 20:34:31 +0100 Subject: [PATCH 089/114] fixed inconsistent name --- .github/workflows/docker-centos-from-source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-centos-from-source.yml b/.github/workflows/docker-centos-from-source.yml index 1300e96..bc3e6a5 100644 --- a/.github/workflows/docker-centos-from-source.yml +++ b/.github/workflows/docker-centos-from-source.yml @@ -1,4 +1,4 @@ -name: CentOS +name: CentOS (from source) on: workflow_dispatch: From 52170e278dc8a399e0c17b39135626f46e0b9e10 Mon Sep 17 00:00:00 2001 From: Luis Obis <35803280+lobis@users.noreply.github.com> Date: Wed, 9 Mar 2022 23:07:22 +0100 Subject: [PATCH 090/114] Update Dockerfile --- centos_from_source/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/centos_from_source/Dockerfile b/centos_from_source/Dockerfile index a994682..4d187b5 100644 --- a/centos_from_source/Dockerfile +++ b/centos_from_source/Dockerfile @@ -23,6 +23,7 @@ ENV CLING_STANDARD_PCH none RUN cd /tmp && \ git clone https://github.com/root-project/root.git $ROOTSYS/source && \ cd $ROOTSYS/source && git reset --hard ${ROOT_VERSION} && \ + mkdir -p $ROOTSYS/build && cd $ROOTSYS/build && \ cmake3 $ROOTSYS/source \ -DCMAKE_INSTALL_PREFIX=$ROOTSYS -DCMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD \ -Dall=ON \ From 10338ab78e70bc0ea93922d1d3556a0b5a417f7c Mon Sep 17 00:00:00 2001 From: Luis Obis <35803280+lobis@users.noreply.github.com> Date: Wed, 9 Mar 2022 23:25:15 +0100 Subject: [PATCH 091/114] removed c++11 std from centos --- centos_from_source/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/centos_from_source/Dockerfile b/centos_from_source/Dockerfile index 4d187b5..2c1d137 100644 --- a/centos_from_source/Dockerfile +++ b/centos_from_source/Dockerfile @@ -27,7 +27,6 @@ RUN cd /tmp && \ cmake3 $ROOTSYS/source \ -DCMAKE_INSTALL_PREFIX=$ROOTSYS -DCMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD \ -Dall=ON \ - -Dcxx11=ON \ -Dfail-on-missing=ON \ -Dgnuinstall=ON \ -Drpath=ON \ From 289356407a15652f00bca02829ee119819b86753 Mon Sep 17 00:00:00 2001 From: Luis Obis <35803280+lobis@users.noreply.github.com> Date: Thu, 10 Mar 2022 00:20:47 +0100 Subject: [PATCH 092/114] removed testing from centos image --- centos_from_source/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/centos_from_source/Dockerfile b/centos_from_source/Dockerfile index 2c1d137..2a1dd72 100644 --- a/centos_from_source/Dockerfile +++ b/centos_from_source/Dockerfile @@ -45,6 +45,8 @@ RUN cd /tmp && \ -Dgeocad=OFF \ -Dglite=OFF \ -Dhdfs=OFF \ + -Dtesting=ON \ + -Droottest=ON -Dmonalisa=OFF \ -Doracle=OFF \ -Dpythia6=OFF \ From 70532b9c574e6abf0c2c59027c888aa3d626029a Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:15:22 +0200 Subject: [PATCH 093/114] updated ubuntu (no source) action to build only latest with simpler logic --- .github/workflows/docker-ubuntu.yml | 32 +---------------------------- 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index 4a116a3..eabadfb 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -13,24 +13,9 @@ jobs: permissions: contents: read packages: write - strategy: - matrix: - root-version: - [ - 6.26.00, - 6.24.06, - 6.24.02, - 6.24.00, - 6.22.08, - 6.22.06, - 6.22.02, - 6.22.00, - 6.20.08, - ] - ubuntu-version: [20.04] env: - IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }} + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-ubuntu steps: - name: Print Image name with tag(s) @@ -47,27 +32,12 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GHCR_WRITE_TOKEN }} - # - name: Log in to Docker Hub - # uses: docker/login-action@v1 - # with: - # username: ${{ github.actor }} - # password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and Push Image uses: docker/build-push-action@v2 with: context: ubuntu/ pull: true push: true - build-args: | - ROOT_BIN=root_v${{ matrix.root-version }}.Linux-ubuntu20-x86_64-gcc9.3.tar.gz - UBUNTU_VERSION=${{ matrix.ubuntu-version }} tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - - name: Add 'latest' tag - if: ${{ matrix.root-version == '6.26.00' }} - run: | - docker image tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:latest - docker push ${{ env.IMAGE_NAME_WITH_TAG }} From fd8dd4eb6e8621aa42a4b728a1de617b22d8af36 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:28:31 +0200 Subject: [PATCH 094/114] updated Ubuntu from source action to accept Major.Minor.Patch version string as separate argments --- .../workflows/docker-ubuntu-from-source.yml | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/.github/workflows/docker-ubuntu-from-source.yml b/.github/workflows/docker-ubuntu-from-source.yml index 7318927..86cdce8 100644 --- a/.github/workflows/docker-ubuntu-from-source.yml +++ b/.github/workflows/docker-ubuntu-from-source.yml @@ -2,6 +2,19 @@ name: Ubuntu (from source) on: workflow_dispatch: + inputs: + root-version-major: + required: true + description: ROOT Major version number (string) according to `Major.Minor.Patch`` schema + default: "6" + root-version-minor: + required: true + description: ROOT Minor version number (string) according to `Major.Minor.Patch`` schema + default: "26" + root-version-patch: + required: true + description: ROOT Patch version number (string) according to `Major.Minor.Patch`` schema + default: "02" jobs: build-and-push-ubuntu-image: @@ -9,15 +22,9 @@ jobs: permissions: contents: read packages: write - strategy: - matrix: - include: - - root-version: v6-26-00 - cpp-standard: 17 - ubuntu-version: 20.04 env: - IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-ubuntu${{ matrix.ubuntu-version }}-cpp${{ matrix.cpp-standard }}-from-source + ROOT_VERSION_STRING: ${{ github.event.inputs.root-version-major }}.${{ github.event.inputs.root-version-minor }}.${{ github.event.inputs.root-version-patch }} steps: - name: Print Image name with tag(s) @@ -41,9 +48,7 @@ jobs: pull: true push: true build-args: | - ROOT_VERSION=${{ matrix.root-version }} - CMAKE_CXX_STANDARD=${{ matrix.cpp-standard }} - UBUNTU_VERSION=${{ matrix.ubuntu-version }} - tags: ${{ env.IMAGE_NAME_WITH_TAG }} + ROOT_VERSION=${{ env.ROOT_VERSION_STRING }} + tags: ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION_STRING }}-ubuntu-from-source labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} From f2cc574028601fb6dc1574a3dbedae35be00327e Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:32:31 +0200 Subject: [PATCH 095/114] Updated fedora action, added test to Ubuntu action, removed CentOS from source action --- .../workflows/docker-centos-from-source.yml | 53 ------------------- .github/workflows/docker-fedora.yml | 13 +---- .github/workflows/docker-ubuntu.yml | 4 ++ 3 files changed, 5 insertions(+), 65 deletions(-) delete mode 100644 .github/workflows/docker-centos-from-source.yml diff --git a/.github/workflows/docker-centos-from-source.yml b/.github/workflows/docker-centos-from-source.yml deleted file mode 100644 index bc3e6a5..0000000 --- a/.github/workflows/docker-centos-from-source.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: CentOS (from source) - -on: - workflow_dispatch: - -jobs: - build-and-push-centos-image: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - strategy: - matrix: - include: - - root-version: v6-26-00 - cpp-standard: 17 - centos-version: 7 - - env: - IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-centos${{ matrix.centos-version }}-cpp${{ matrix.cpp-standard }}-from-source - - steps: - - name: Print Image name with tag(s) - run: | - echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" - - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Log in to the GitHub Container registry - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GHCR_WRITE_TOKEN }} - - - name: Build and Push Image - uses: docker/build-push-action@v2 - with: - context: centos_from_source/ - pull: true - push: true - build-args: | - ROOT_VERSION=${{ matrix.root-version }} - CENTOS_VERSION=${{ matrix.centos-version }} - CMAKE_CXX_STANDARD=${{ matrix.cpp-standard }} - tags: ${{ env.IMAGE_NAME_WITH_TAG }} - labels: | - org.opencontainers.image.source=https://github.com/${{ github.repository }} - - - name: Test ROOT Version - run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index dd828ea..af077ac 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -13,18 +13,9 @@ jobs: permissions: contents: read packages: write - strategy: - matrix: - include: - - root-version: 6.24.06 - fedora-version: 35 - - root-version: 6.22.08 - fedora-version: 34 - - root-version: 6.22.06 - fedora-version: 33 env: - IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:${{ matrix.root-version }}-fedora${{ matrix.fedora-version }} + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-fedora steps: - name: Print Image name with tag(s) @@ -47,8 +38,6 @@ jobs: context: fedora/ pull: true push: true - build-args: | - FEDORA_VERSION=${{ matrix.fedora-version }} tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index eabadfb..405bf23 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -41,3 +41,7 @@ jobs: tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version From 43a36799b7d42a056da48e2661fee0369b24baf6 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:33:24 +0200 Subject: [PATCH 096/114] fix typo in action --- .github/workflows/docker-ubuntu-from-source.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-ubuntu-from-source.yml b/.github/workflows/docker-ubuntu-from-source.yml index 86cdce8..03b3572 100644 --- a/.github/workflows/docker-ubuntu-from-source.yml +++ b/.github/workflows/docker-ubuntu-from-source.yml @@ -5,15 +5,15 @@ on: inputs: root-version-major: required: true - description: ROOT Major version number (string) according to `Major.Minor.Patch`` schema + description: ROOT Major version number (string) according to `Major.Minor.Patch` schema default: "6" root-version-minor: required: true - description: ROOT Minor version number (string) according to `Major.Minor.Patch`` schema + description: ROOT Minor version number (string) according to `Major.Minor.Patch` schema default: "26" root-version-patch: required: true - description: ROOT Patch version number (string) according to `Major.Minor.Patch`` schema + description: ROOT Patch version number (string) according to `Major.Minor.Patch` schema default: "02" jobs: From b6348ba0aaaa37b7fd38fe2b2d389ad211aecea4 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:34:37 +0200 Subject: [PATCH 097/114] updated prompt style --- .github/workflows/docker-ubuntu-from-source.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-ubuntu-from-source.yml b/.github/workflows/docker-ubuntu-from-source.yml index 03b3572..164408e 100644 --- a/.github/workflows/docker-ubuntu-from-source.yml +++ b/.github/workflows/docker-ubuntu-from-source.yml @@ -5,15 +5,15 @@ on: inputs: root-version-major: required: true - description: ROOT Major version number (string) according to `Major.Minor.Patch` schema + description: ROOT Major version number (string) according to **Major.Minor.Patch** schema default: "6" root-version-minor: required: true - description: ROOT Minor version number (string) according to `Major.Minor.Patch` schema + description: ROOT Minor version number (string) according to **Major.Minor.Patch** schema default: "26" root-version-patch: required: true - description: ROOT Patch version number (string) according to `Major.Minor.Patch` schema + description: ROOT Patch version number (string) according to **Major.Minor.Patch** schema default: "02" jobs: From 9a7ee81f3759a1d912d69aaf2126b39d0db03171 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:41:27 +0200 Subject: [PATCH 098/114] Added actions for arch, centos, conda, gentoo --- .github/workflows/docker-arch.yml | 47 +++++++++++++++++++++++++++++ .github/workflows/docker-centos.yml | 47 +++++++++++++++++++++++++++++ .github/workflows/docker-conda.yml | 47 +++++++++++++++++++++++++++++ .github/workflows/docker-gentoo.yml | 47 +++++++++++++++++++++++++++++ 4 files changed, 188 insertions(+) create mode 100644 .github/workflows/docker-arch.yml create mode 100644 .github/workflows/docker-centos.yml create mode 100644 .github/workflows/docker-conda.yml create mode 100644 .github/workflows/docker-gentoo.yml diff --git a/.github/workflows/docker-arch.yml b/.github/workflows/docker-arch.yml new file mode 100644 index 0000000..d5fdccf --- /dev/null +++ b/.github/workflows/docker-arch.yml @@ -0,0 +1,47 @@ +name: Arch Linux + +on: + workflow_dispatch: + workflow_run: + workflows: ["Trigger Build and Publish All Images"] + types: + - completed + +jobs: + build-and-push-arch-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-arch + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: arch/ + pull: true + push: true + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version diff --git a/.github/workflows/docker-centos.yml b/.github/workflows/docker-centos.yml new file mode 100644 index 0000000..e3f2600 --- /dev/null +++ b/.github/workflows/docker-centos.yml @@ -0,0 +1,47 @@ +name: CentOS 7 + +on: + workflow_dispatch: + workflow_run: + workflows: ["Trigger Build and Publish All Images"] + types: + - completed + +jobs: + build-and-push-centos-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-centos + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: centos7/ + pull: true + push: true + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version diff --git a/.github/workflows/docker-conda.yml b/.github/workflows/docker-conda.yml new file mode 100644 index 0000000..7d9c16e --- /dev/null +++ b/.github/workflows/docker-conda.yml @@ -0,0 +1,47 @@ +name: Conda + +on: + workflow_dispatch: + workflow_run: + workflows: ["Trigger Build and Publish All Images"] + types: + - completed + +jobs: + build-and-push-conda-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-conda + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: conda/ + pull: true + push: true + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version diff --git a/.github/workflows/docker-gentoo.yml b/.github/workflows/docker-gentoo.yml new file mode 100644 index 0000000..65a55b7 --- /dev/null +++ b/.github/workflows/docker-gentoo.yml @@ -0,0 +1,47 @@ +name: Gentoo + +on: + workflow_dispatch: + workflow_run: + workflows: ["Trigger Build and Publish All Images"] + types: + - completed + +jobs: + build-and-push-gentoo-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + env: + IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-gentoo + + steps: + - name: Print Image name with tag(s) + run: | + echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Log in to the GitHub Container registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GHCR_WRITE_TOKEN }} + + - name: Build and Push Image + uses: docker/build-push-action@v2 + with: + context: gentoo/ + pull: true + push: true + tags: ${{ env.IMAGE_NAME_WITH_TAG }} + labels: | + org.opencontainers.image.source=https://github.com/${{ github.repository }} + + - name: Test ROOT Version + run: | + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version From 7f05a989e710dd4570f592a93faa0ade7f721eae Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:44:29 +0200 Subject: [PATCH 099/114] Normalized action name for Ubuntu --- .github/workflows/docker-ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index 405bf23..d95262c 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -1,4 +1,4 @@ -name: Ubuntu (from binaries) +name: Ubuntu on: workflow_dispatch: From a7a659594555604c7334b613d46bc5d7c2c2a18e Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 10:51:19 +0200 Subject: [PATCH 100/114] Removed small formatting chagnes on Dockerfiles --- centos7/Dockerfile | 10 ++++---- centos_from_source/Dockerfile | 43 ++++++++++++----------------------- fedora/Dockerfile | 10 ++++---- ubuntu/Dockerfile | 18 +++++++-------- 4 files changed, 33 insertions(+), 48 deletions(-) diff --git a/centos7/Dockerfile b/centos7/Dockerfile index 49cbab1..ddbc43a 100644 --- a/centos7/Dockerfile +++ b/centos7/Dockerfile @@ -5,10 +5,10 @@ LABEL maintainer.email="root-dev@cern.ch" COPY packages packages -RUN yum update -q -y && \ - yum install -y epel-release && \ - yum install -y $(cat packages) && \ - localedef -i en_US -f UTF-8 en_US.UTF-8 && \ - rm -f /packages +RUN yum update -q -y \ + && yum install -y epel-release \ + && yum install -y $(cat packages) \ + && localedef -i en_US -f UTF-8 en_US.UTF-8 \ + && rm -f /packages CMD ["root", "-b"] diff --git a/centos_from_source/Dockerfile b/centos_from_source/Dockerfile index 2a1dd72..1291ecc 100644 --- a/centos_from_source/Dockerfile +++ b/centos_from_source/Dockerfile @@ -1,32 +1,20 @@ # WARNING: this Dockerfile is unmaintained -ARG CENTOS_VERSION=7 - -FROM centos:$CENTOS_VERSION +FROM centos COPY packages packages -RUN yum update -q -y && \ - yum install -y epel-release && \ - yum install -y $(cat packages) && \ - localedef -i en_US -f UTF-8 en_US.UTF-8 && \ - rm -f /packages - -ARG CMAKE_CXX_STANDARD=17 -ARG ROOT_VERSION=master - -ENV ROOTSYS /usr/local/root -ENV PATH $ROOTSYS/bin:$PATH -ENV PYTHONPATH $ROOTSYS/lib:$PYTHONPATH -ENV CLING_STANDARD_PCH none +RUN yum update -q -y \ + && yum install -y epel-release \ + && yum install -y $(cat packages) \ + && localedef -i en_US -f UTF-8 en_US.UTF-8 \ + && rm -f /packages -RUN cd /tmp && \ - git clone https://github.com/root-project/root.git $ROOTSYS/source && \ - cd $ROOTSYS/source && git reset --hard ${ROOT_VERSION} && \ - mkdir -p $ROOTSYS/build && cd $ROOTSYS/build && \ - cmake3 $ROOTSYS/source \ - -DCMAKE_INSTALL_PREFIX=$ROOTSYS -DCMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD \ +RUN cd /tmp \ + && git clone https://github.com/root-project/root /usr/src/root \ + && cmake3 /usr/src/root \ -Dall=ON \ + -Dcxx11=ON \ -Dfail-on-missing=ON \ -Dgnuinstall=ON \ -Drpath=ON \ @@ -45,8 +33,6 @@ RUN cd /tmp && \ -Dgeocad=OFF \ -Dglite=OFF \ -Dhdfs=OFF \ - -Dtesting=ON \ - -Droottest=ON -Dmonalisa=OFF \ -Doracle=OFF \ -Dpythia6=OFF \ @@ -54,9 +40,10 @@ RUN cd /tmp && \ -Droot7=OFF \ -Dsapdb=OFF \ -Dsrp=OFF \ - -Dvc=OFF && \ - cmake3 --build . -- -j$(nproc) && \ - cmake3 --build . --target install && \ - rm -rf $ROOTSYS/source /tmp/* + -Dvc=OFF \ + && cmake3 --build . -- -j$(nproc) \ + && cmake3 --build . --target install \ + && rm -rf /usr/src/root /tmp/* +ENV PYTHONPATH /usr/local/lib CMD ["root", "-b"] diff --git a/fedora/Dockerfile b/fedora/Dockerfile index 5b00701..f46ab77 100644 --- a/fedora/Dockerfile +++ b/fedora/Dockerfile @@ -1,14 +1,12 @@ -ARG FEDORA_VERSION=35 - -FROM fedora:$FEDORA_VERSION +FROM fedora:35 LABEL maintainer.name="ROOT team" LABEL maintainer.email="root-dev@cern.ch" COPY packages packages -RUN dnf update -y && \ - dnf install -y $(cat packages) && \ - rm /packages +RUN dnf update -y \ + && dnf install -y $(cat packages) \ + && rm /packages CMD ["root", "-b"] diff --git a/ubuntu/Dockerfile b/ubuntu/Dockerfile index f61433e..2225efe 100644 --- a/ubuntu/Dockerfile +++ b/ubuntu/Dockerfile @@ -11,15 +11,15 @@ WORKDIR /opt COPY packages packages -RUN apt-get update -qq && \ - ln -sf /usr/share/zoneinfo/UTC /etc/localtime && \ - apt-get -y install $(cat packages) wget && \ - rm -rf /var/lib/apt/lists/* && \ - wget https://root.cern/download/${ROOT_BIN} && \ - tar -xzvf ${ROOT_BIN} && \ - rm -f ${ROOT_BIN} && \ - echo /opt/root/lib >> /etc/ld.so.conf && \ - ldconfig +RUN apt-get update -qq \ + && ln -sf /usr/share/zoneinfo/UTC /etc/localtime \ + && apt-get -y install $(cat packages) wget\ + && rm -rf /var/lib/apt/lists/*\ + && wget https://root.cern/download/${ROOT_BIN} \ + && tar -xzvf ${ROOT_BIN} \ + && rm -f ${ROOT_BIN} \ + && echo /opt/root/lib >> /etc/ld.so.conf \ + && ldconfig RUN yes | unminimize ENV ROOTSYS /opt/root From f011534ae493182d43f82623bde65ed6913271ec Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 12:27:24 +0200 Subject: [PATCH 101/114] testing root version as tag --- .github/workflows/docker-fedora.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index af077ac..87880d8 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -18,10 +18,6 @@ jobs: IMAGE_NAME_WITH_TAG: ghcr.io/${{ github.repository_owner }}/root:latest-fedora steps: - - name: Print Image name with tag(s) - run: | - echo "Image name with tag: ${{ env.IMAGE_NAME_WITH_TAG }}" - - name: Checkout repository uses: actions/checkout@v2 @@ -45,3 +41,11 @@ jobs: - name: Test ROOT Version run: | docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version + ROOT_VERSION=$(echo "$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version)" | sed -r 's/\//./g')" + echo "ROOT_VERSION=$ROOT_VERSION" + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + + - name: Add additional tag to image and push it + run: | + docker tag ${{ env.IMAGE_NAME_WITH_TAG }}: ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora + docker push ${{ env.IMAGE_NAME_WITH_TAG }} From f54a99df0904698bab7b659188a7ba23f2e2e309 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 12:47:32 +0200 Subject: [PATCH 102/114] debugging action --- .github/workflows/docker-fedora.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 87880d8..953fef4 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -33,17 +33,17 @@ jobs: with: context: fedora/ pull: true - push: true + push: false tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - name: Test ROOT Version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version - ROOT_VERSION=$(echo "$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version)" | sed -r 's/\//./g')" - echo "ROOT_VERSION=$ROOT_VERSION" - echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g' + export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') + echo "ROOT_VERSION=${{ ROOT_VERSION }}" + echo "ROOT_VERSION=${{ ROOT_VERSION }}" >> $GITHUB_ENV - name: Add additional tag to image and push it run: | From db8bd2734acc3f1ea41dbad87e9b5e4112167c60 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 12:49:46 +0200 Subject: [PATCH 103/114] fix typo --- .github/workflows/docker-fedora.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 953fef4..a3afb6f 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -42,8 +42,8 @@ jobs: run: | docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g' export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') - echo "ROOT_VERSION=${{ ROOT_VERSION }}" - echo "ROOT_VERSION=${{ ROOT_VERSION }}" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV - name: Add additional tag to image and push it run: | From 0e21db7639b75eca9b21f1235e4968e2f4666c83 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:00:42 +0200 Subject: [PATCH 104/114] fix action --- .github/workflows/docker-fedora.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index a3afb6f..e30a459 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -38,14 +38,13 @@ jobs: labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: Test ROOT Version + - name: ROOT Version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g' export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') echo "ROOT_VERSION=$ROOT_VERSION" echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }}: ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora docker push ${{ env.IMAGE_NAME_WITH_TAG }} From ff55a1fce39565614379e779687ab3f6ac400682 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:04:15 +0200 Subject: [PATCH 105/114] Added fedora version to tag --- .github/workflows/docker-fedora.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index e30a459..37e3f1c 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -44,7 +44,13 @@ jobs: echo "ROOT_VERSION=$ROOT_VERSION" echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + - name: OS Version + run: | + export FEDORA_VERSION=$(cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g') + echo "FEDORA_VERSION=$FEDORA_VERSION" + echo "FEDORA_VERSION=$FEDORA_VERSION" >> $GITHUB_ENV + - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora{{ env.FEDORA_VERSION }} docker push ${{ env.IMAGE_NAME_WITH_TAG }} From 0be9efdd0e7eaa9ef0322c0641f2a77a1133ff8a Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:13:01 +0200 Subject: [PATCH 106/114] removed `"` from OS version --- .github/workflows/docker-fedora.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 37e3f1c..0cccabb 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -38,19 +38,20 @@ jobs: labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: ROOT Version + - name: root version run: | export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') echo "ROOT_VERSION=$ROOT_VERSION" echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV - - name: OS Version + - name: OS version run: | - export FEDORA_VERSION=$(cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g') + export FEDORA_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g' | sed -r 's/"//g') echo "FEDORA_VERSION=$FEDORA_VERSION" echo "FEDORA_VERSION=$FEDORA_VERSION" >> $GITHUB_ENV - name: Add additional tag to image and push it run: | + printenv docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora{{ env.FEDORA_VERSION }} docker push ${{ env.IMAGE_NAME_WITH_TAG }} From e03ac645e291f32c0ba8175967a793dea0f3de0d Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:23:23 +0200 Subject: [PATCH 107/114] fix error in action --- .github/workflows/docker-fedora.yml | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 0cccabb..429c7f2 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -38,20 +38,16 @@ jobs: labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: root version + - name: root version and OS version run: | export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') - echo "ROOT_VERSION=$ROOT_VERSION" echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV - - - name: OS version - run: | - export FEDORA_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g' | sed -r 's/"//g') - echo "FEDORA_VERSION=$FEDORA_VERSION" - echo "FEDORA_VERSION=$FEDORA_VERSION" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + export OS_VERSION_ID=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g' | sed -r 's/"//g') + echo "OS_VERSION_ID=$OS_VERSION_ID" >> $GITHUB_ENV + echo "OS_VERSION_ID=$OS_VERSION_ID" - name: Add additional tag to image and push it run: | - printenv - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora{{ env.FEDORA_VERSION }} + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora${{ env.FEDORA_VERSION }} docker push ${{ env.IMAGE_NAME_WITH_TAG }} From 7c299a1e94566716699040feb880f2c5538eab03 Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:25:14 +0200 Subject: [PATCH 108/114] updated action for fedora and ubuntu --- .github/workflows/docker-fedora.yml | 2 +- .github/workflows/docker-ubuntu.yml | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 429c7f2..7c16206 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -49,5 +49,5 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora${{ env.FEDORA_VERSION }} + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora${{ env.OS_VERSION_ID }} docker push ${{ env.IMAGE_NAME_WITH_TAG }} diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index d95262c..00fc0a5 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -37,11 +37,21 @@ jobs: with: context: ubuntu/ pull: true - push: true + push: false tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: Test ROOT Version + - name: root version and OS version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version + export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + export OS_VERSION_ID=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g' | sed -r 's/"//g') + echo "OS_VERSION_ID=$OS_VERSION_ID" >> $GITHUB_ENV + echo "OS_VERSION_ID=$OS_VERSION_ID" + + - name: Add additional tag to image and push it + run: | + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-ubuntu${{ env.OS_VERSION_ID }} + docker push ${{ env.IMAGE_NAME_WITH_TAG }} From 54a5c5d4977991bada177a1208ed0b3c3312ebaf Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:31:53 +0200 Subject: [PATCH 109/114] Added root version tag to images --- .github/workflows/docker-arch.yml | 13 ++++++++++--- .github/workflows/docker-centos.yml | 16 +++++++++++++--- .github/workflows/docker-conda.yml | 13 ++++++++++--- .github/workflows/docker-gentoo.yml | 13 ++++++++++--- 4 files changed, 43 insertions(+), 12 deletions(-) diff --git a/.github/workflows/docker-arch.yml b/.github/workflows/docker-arch.yml index d5fdccf..82797b5 100644 --- a/.github/workflows/docker-arch.yml +++ b/.github/workflows/docker-arch.yml @@ -37,11 +37,18 @@ jobs: with: context: arch/ pull: true - push: true + push: false tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: Test ROOT Version + - name: root version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version + export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + + - name: Add additional tag to image and push it + run: | + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-arch + docker push ${{ env.IMAGE_NAME_WITH_TAG }} diff --git a/.github/workflows/docker-centos.yml b/.github/workflows/docker-centos.yml index e3f2600..e91b291 100644 --- a/.github/workflows/docker-centos.yml +++ b/.github/workflows/docker-centos.yml @@ -37,11 +37,21 @@ jobs: with: context: centos7/ pull: true - push: true + push: false tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: Test ROOT Version + - name: root version and OS version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version + export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + export OS_VERSION_ID=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} cat /etc/os-release | grep VERSION_ID | sed -r 's/VERSION_ID=//g' | sed -r 's/"//g') + echo "OS_VERSION_ID=$OS_VERSION_ID" >> $GITHUB_ENV + echo "OS_VERSION_ID=$OS_VERSION_ID" + + - name: Add additional tag to image and push it + run: | + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-centos${{ env.OS_VERSION_ID }} + docker push ${{ env.IMAGE_NAME_WITH_TAG }} diff --git a/.github/workflows/docker-conda.yml b/.github/workflows/docker-conda.yml index 7d9c16e..7574b9f 100644 --- a/.github/workflows/docker-conda.yml +++ b/.github/workflows/docker-conda.yml @@ -37,11 +37,18 @@ jobs: with: context: conda/ pull: true - push: true + push: false tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: Test ROOT Version + - name: root version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version + export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + + - name: Add additional tag to image and push it + run: | + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-conda + docker push ${{ env.IMAGE_NAME_WITH_TAG }} diff --git a/.github/workflows/docker-gentoo.yml b/.github/workflows/docker-gentoo.yml index 65a55b7..e27f129 100644 --- a/.github/workflows/docker-gentoo.yml +++ b/.github/workflows/docker-gentoo.yml @@ -37,11 +37,18 @@ jobs: with: context: gentoo/ pull: true - push: true + push: false tags: ${{ env.IMAGE_NAME_WITH_TAG }} labels: | org.opencontainers.image.source=https://github.com/${{ github.repository }} - - name: Test ROOT Version + - name: root version run: | - docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version + export ROOT_VERSION=$(docker run ${{ env.IMAGE_NAME_WITH_TAG }} root-config --version | sed -r 's/\//./g') + echo "ROOT_VERSION=$ROOT_VERSION" >> $GITHUB_ENV + echo "ROOT_VERSION=$ROOT_VERSION" + + - name: Add additional tag to image and push it + run: | + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-gentoo + docker push ${{ env.IMAGE_NAME_WITH_TAG }} From 6af7f21d477b0240a71ffb57507a410c1b5d9c4e Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:35:56 +0200 Subject: [PATCH 110/114] fix tag not pushing --- .github/workflows/docker-arch.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-arch.yml b/.github/workflows/docker-arch.yml index 82797b5..fa7e491 100644 --- a/.github/workflows/docker-arch.yml +++ b/.github/workflows/docker-arch.yml @@ -50,5 +50,6 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-arch - docker push ${{ env.IMAGE_NAME_WITH_TAG }} + export IMAGE_NAME_WITH_NEW_TAG=ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-arch + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} $IMAGE_NAME_WITH_NEW_TAG + docker push $IMAGE_NAME_WITH_NEW_TAG From 8d0b70e1028fee8a86bbb3793f47d98afae96e9a Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Tue, 17 May 2022 13:41:55 +0200 Subject: [PATCH 111/114] updated image version tag --- .github/workflows/docker-centos.yml | 5 +++-- .github/workflows/docker-conda.yml | 5 +++-- .github/workflows/docker-fedora.yml | 5 +++-- .github/workflows/docker-gentoo.yml | 5 +++-- .github/workflows/docker-ubuntu.yml | 5 +++-- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/.github/workflows/docker-centos.yml b/.github/workflows/docker-centos.yml index e91b291..86fc12a 100644 --- a/.github/workflows/docker-centos.yml +++ b/.github/workflows/docker-centos.yml @@ -53,5 +53,6 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-centos${{ env.OS_VERSION_ID }} - docker push ${{ env.IMAGE_NAME_WITH_TAG }} + export IMAGE_NAME_WITH_NEW_TAG=ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-centos${{ env.OS_VERSION_ID }} + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} $IMAGE_NAME_WITH_NEW_TAG + docker push $IMAGE_NAME_WITH_NEW_TAG diff --git a/.github/workflows/docker-conda.yml b/.github/workflows/docker-conda.yml index 7574b9f..d5916b3 100644 --- a/.github/workflows/docker-conda.yml +++ b/.github/workflows/docker-conda.yml @@ -50,5 +50,6 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-conda - docker push ${{ env.IMAGE_NAME_WITH_TAG }} + export IMAGE_NAME_WITH_NEW_TAG=ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-conda + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} $IMAGE_NAME_WITH_NEW_TAG + docker push $IMAGE_NAME_WITH_NEW_TAG diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 7c16206..7957d5a 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -49,5 +49,6 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora${{ env.OS_VERSION_ID }} - docker push ${{ env.IMAGE_NAME_WITH_TAG }} + export IMAGE_NAME_WITH_NEW_TAG=ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-fedora${{ env.OS_VERSION_ID }} + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} $IMAGE_NAME_WITH_NEW_TAG + docker push $IMAGE_NAME_WITH_NEW_TAG diff --git a/.github/workflows/docker-gentoo.yml b/.github/workflows/docker-gentoo.yml index e27f129..18d336c 100644 --- a/.github/workflows/docker-gentoo.yml +++ b/.github/workflows/docker-gentoo.yml @@ -50,5 +50,6 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-gentoo - docker push ${{ env.IMAGE_NAME_WITH_TAG }} + export IMAGE_NAME_WITH_NEW_TAG=ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-gentoo + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} $IMAGE_NAME_WITH_NEW_TAG + docker push $IMAGE_NAME_WITH_NEW_TAG diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index 00fc0a5..7990950 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -53,5 +53,6 @@ jobs: - name: Add additional tag to image and push it run: | - docker tag ${{ env.IMAGE_NAME_WITH_TAG }} ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-ubuntu${{ env.OS_VERSION_ID }} - docker push ${{ env.IMAGE_NAME_WITH_TAG }} + export IMAGE_NAME_WITH_NEW_TAG=ghcr.io/${{ github.repository_owner }}/root:${{ env.ROOT_VERSION }}-ubuntu${{ env.OS_VERSION_ID }} + docker tag ${{ env.IMAGE_NAME_WITH_TAG }} $IMAGE_NAME_WITH_NEW_TAG + docker push $IMAGE_NAME_WITH_NEW_TAG From 18bf7bda1801d10312d7064913f69e1e773f9aa5 Mon Sep 17 00:00:00 2001 From: lobis Date: Tue, 17 May 2022 20:04:23 +0200 Subject: [PATCH 112/114] Added trigger when relevant files are updated --- .github/workflows/docker-arch.yml | 3 +++ .github/workflows/docker-centos.yml | 3 +++ .github/workflows/docker-conda.yml | 3 +++ .github/workflows/docker-fedora.yml | 3 +++ .github/workflows/docker-gentoo.yml | 3 +++ .github/workflows/docker-ubuntu-from-source.yml | 3 +++ .github/workflows/docker-ubuntu.yml | 3 +++ 7 files changed, 21 insertions(+) diff --git a/.github/workflows/docker-arch.yml b/.github/workflows/docker-arch.yml index fa7e491..43fa0cf 100644 --- a/.github/workflows/docker-arch.yml +++ b/.github/workflows/docker-arch.yml @@ -6,6 +6,9 @@ on: workflows: ["Trigger Build and Publish All Images"] types: - completed + push: + paths: + - arch/** jobs: build-and-push-arch-image: diff --git a/.github/workflows/docker-centos.yml b/.github/workflows/docker-centos.yml index 86fc12a..2502b13 100644 --- a/.github/workflows/docker-centos.yml +++ b/.github/workflows/docker-centos.yml @@ -6,6 +6,9 @@ on: workflows: ["Trigger Build and Publish All Images"] types: - completed + push: + paths: + - centos7/** jobs: build-and-push-centos-image: diff --git a/.github/workflows/docker-conda.yml b/.github/workflows/docker-conda.yml index d5916b3..87f856d 100644 --- a/.github/workflows/docker-conda.yml +++ b/.github/workflows/docker-conda.yml @@ -6,6 +6,9 @@ on: workflows: ["Trigger Build and Publish All Images"] types: - completed + push: + paths: + - conda/** jobs: build-and-push-conda-image: diff --git a/.github/workflows/docker-fedora.yml b/.github/workflows/docker-fedora.yml index 7957d5a..0529f3c 100644 --- a/.github/workflows/docker-fedora.yml +++ b/.github/workflows/docker-fedora.yml @@ -6,6 +6,9 @@ on: workflows: ["Trigger Build and Publish All Images"] types: - completed + push: + paths: + - fedora/** jobs: build-and-push-fedora-image: diff --git a/.github/workflows/docker-gentoo.yml b/.github/workflows/docker-gentoo.yml index 18d336c..8293391 100644 --- a/.github/workflows/docker-gentoo.yml +++ b/.github/workflows/docker-gentoo.yml @@ -6,6 +6,9 @@ on: workflows: ["Trigger Build and Publish All Images"] types: - completed + push: + paths: + - gentoo/** jobs: build-and-push-gentoo-image: diff --git a/.github/workflows/docker-ubuntu-from-source.yml b/.github/workflows/docker-ubuntu-from-source.yml index 164408e..e736e4d 100644 --- a/.github/workflows/docker-ubuntu-from-source.yml +++ b/.github/workflows/docker-ubuntu-from-source.yml @@ -15,6 +15,9 @@ on: required: true description: ROOT Patch version number (string) according to **Major.Minor.Patch** schema default: "02" + push: + paths: + - ubuntu_from_source/** jobs: build-and-push-ubuntu-image: diff --git a/.github/workflows/docker-ubuntu.yml b/.github/workflows/docker-ubuntu.yml index 7990950..d25bb52 100644 --- a/.github/workflows/docker-ubuntu.yml +++ b/.github/workflows/docker-ubuntu.yml @@ -6,6 +6,9 @@ on: workflows: ["Trigger Build and Publish All Images"] types: - completed + push: + paths: + - ubuntu/** jobs: build-and-push-ubuntu-image: From 2bae1d44c90fc13bc989758f4fc15f0418b6d70e Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Thu, 19 May 2022 11:20:35 +0200 Subject: [PATCH 113/114] added newline to packages --- ubuntu_from_source/packages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ubuntu_from_source/packages b/ubuntu_from_source/packages index 569452f..f7db3b9 100644 --- a/ubuntu_from_source/packages +++ b/ubuntu_from_source/packages @@ -45,4 +45,4 @@ python3-dev python3-numpy srm-ifce-dev unixodbc-dev -python-is-python3 \ No newline at end of file +python-is-python3 From ff107db3fff8928ea585cfa07aa60d492c693fcd Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Thu, 19 May 2022 11:21:28 +0200 Subject: [PATCH 114/114] reverted README to master version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2092049..10d03e6 100644 --- a/README.md +++ b/README.md @@ -88,4 +88,4 @@ docker run --rm -it -e DISPLAY=10.0.75.1:0 rootproject/root Even though for each image we link to the Dockerfile that produced it, in several cases running that same exact Dockerfile will _not_ result in an image identical to the one we offer. Sometimes it will even result in an image with a more recent ROOT version: this is the case for images based on rolling Linux distributions such as Arch, for example. -The `*_from_source` recipes, on the other hand, are expected to be fully reproducible. +The `*_from_source` recipes, on the other hand, are expected to be fully reproducible. \ No newline at end of file