From 703228f53f49ccb9199b74b4bd815d06e64f955c Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Tue, 29 Aug 2023 14:06:31 +0200 Subject: [PATCH 01/17] add cxx11 standard --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 64870fd..3c9dad9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,7 @@ find_package( Xrootd REQUIRED ) find_package( XercesC REQUIRED ) find_package( Pcre REQUIRED ) find_package( Jsoncpp REQUIRED ) +set (CMAKE_CXX_STANDARD 11) if( CMAKE_COMPILER_IS_GNUCXX ) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror" ) From e7e353437d247ef6967e4e1ec4ce4210117d0b23 Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Tue, 29 Aug 2023 14:09:16 +0200 Subject: [PATCH 02/17] update version --- spec/xrootd-cmstfc.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spec/xrootd-cmstfc.spec b/spec/xrootd-cmstfc.spec index e431c4b..f065224 100644 --- a/spec/xrootd-cmstfc.spec +++ b/spec/xrootd-cmstfc.spec @@ -1,6 +1,6 @@ Name: xrootd-cmstfc Version: 2.0.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: CMS TFC plugin for xrootd Group: System Environment/Daemons @@ -76,6 +76,9 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/XrdCmsJson.hh %changelog +* Tue Aug 29 2023 Sarun Nuntaviriyakul - 2.0.0-2 +- Update CXX standard + * Fri Aug 11 2023 Sarun Nuntaviriyakul - 2.0.0-1 - Add JSON module (libXrdCmsJson.so) From 69ff56649c82b90c73ca3b61c8e5006efd27f6e3 Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Wed, 20 Sep 2023 11:17:49 +0200 Subject: [PATCH 03/17] Switch to matrix build --- .github/workflows/main.yaml | 80 +++++++++++++++++++------------------ docker/Dockerfile.rpm | 34 ++++++++++------ 2 files changed, 64 insertions(+), 50 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 272c186..5de6267 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -9,7 +9,9 @@ env: jobs: build: - name: Build + strategy: + matrix: + version: [8, 9] runs-on: ubuntu-latest steps: - name: Check out Git repository @@ -21,52 +23,54 @@ jobs: uses: docker/build-push-action@v4 with: context: . - file: docker/Dockerfile + file: docker/Dockerfile.rpm tags: ${{ env.BASE_TAG }} + build-args: | + IMAGE_TAG =${{ matrix.version }} load: true cache-from: type=gha cache-to: type=gha,mode=max - test-json: - name: Test JSON Conversion - needs: build - runs-on: ubuntu-latest - steps: - - name: Check out Git repository - uses: actions/checkout@v2 + # test-json: + # name: Test JSON Conversion + # needs: build + # runs-on: ubuntu-latest + # steps: + # - name: Check out Git repository + # uses: actions/checkout@v2 - - uses: docker/setup-buildx-action@v2 + # - uses: docker/setup-buildx-action@v2 - - name: Build Docker image - uses: docker/build-push-action@v4 - with: - context: . - file: docker/Dockerfile - tags: ${{ env.BASE_TAG }} - load: true - cache-from: type=gha - cache-to: type=gha,mode=max + # - name: Build Docker image + # uses: docker/build-push-action@v4 + # with: + # context: . + # file: docker/Dockerfile + # tags: ${{ env.BASE_TAG }} + # load: true + # cache-from: type=gha + # cache-to: type=gha,mode=max - - name: Unit test - run: | - docker run --rm ${{ env.BASE_TAG }} python3 -m pytest -v + # - name: Unit test + # run: | + # docker run --rm ${{ env.BASE_TAG }} python3 -m pytest -v - test-rpm: - name: Package RPM - needs: build - runs-on: ubuntu-latest - steps: - - name: Check out Git repository - uses: actions/checkout@v2 + # test-rpm: + # name: Package RPM + # needs: build + # runs-on: ubuntu-latest + # steps: + # - name: Check out Git repository + # uses: actions/checkout@v2 - - uses: docker/setup-buildx-action@v2 + # - uses: docker/setup-buildx-action@v2 - - name: Build Docker image - uses: docker/build-push-action@v4 - with: - context: . - file: docker/Dockerfile.rpm - load: true - cache-from: type=gha - cache-to: type=gha,mode=max + # - name: Build Docker image + # uses: docker/build-push-action@v4 + # with: + # context: . + # file: docker/Dockerfile.rpm + # load: true + # cache-from: type=gha + # cache-to: type=gha,mode=max diff --git a/docker/Dockerfile.rpm b/docker/Dockerfile.rpm index 630d778..ec995cf 100644 --- a/docker/Dockerfile.rpm +++ b/docker/Dockerfile.rpm @@ -1,36 +1,46 @@ -FROM almalinux:8 +ARG IMAGE_TAG=8 +FROM almalinux:$IMAGE_TAG + MAINTAINER Sarun Nuntaviriyakul LABEL org.opencontainers.image.source https://github.com/guyzsarun/xrootd-cmsjson WORKDIR /xrootd +ARG IMAGE_TAG=8 RUN yum -y update && \ - yum install -y dnf \ - https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \ - https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el8-release-latest.rpm \ + yum install -y \ + dnf \ + https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el${IMAGE_TAG}-release-latest.rpm \ epel-release RUN dnf group install -y "Development Tools" # CMS TFC dependency RUN yum install -y cmake \ - wget \ xrootd \ python3-devel \ python3-xrootd \ xrootd-devel \ pcre-devel \ xerces-c-devel \ - xrootd-devel \ - https://cbs.centos.org/kojifiles/packages/jsoncpp/1.9.4/4.el8s/x86_64/jsoncpp-1.9.4-4.el8s.x86_64.rpm \ - https://cbs.centos.org/kojifiles/packages/jsoncpp/1.9.4/4.el8s/x86_64/jsoncpp-devel-1.9.4-4.el8s.x86_64.rpm + xrootd-devel +RUN yum install -y --enablerepo=osg-contrib \ + jsoncpp \ + jsoncpp-devel COPY . . -RUN mkdir -p /root/rpmbuild/SOURCES -RUN tar -zvcf /root/rpmbuild/SOURCES/xrootd-cmstfc.tar.gz --transform s/xrootd/xrootd-cmstfc-2.0.0/ ../xrootd +# RUN mkdir -p /root/rpmbuild/SOURCES +# RUN tar -zvcf /root/rpmbuild/SOURCES/xrootd-cmstfc.tar.gz --transform s/xrootd/xrootd-cmstfc-2.0.0/ ../xrootd + +# RUN rpmbuild -bb spec/xrootd-cmstfc.spec + +# RUN yum install -y /root/rpmbuild/RPMS/x86_64/xrootd-cmstfc-2.0.0-1.el8.x86_64.rpm -RUN rpmbuild -bb spec/xrootd-cmstfc.spec +RUN mkdir -p build +RUN cd build && \ + cmake .. -DBUILD_TEST=true && \ + make && \ + make install -RUN yum install -y /root/rpmbuild/RPMS/x86_64/xrootd-cmstfc-2.0.0-1.el8.x86_64.rpm \ No newline at end of file From 7db0297812698823039f0d8f69911c84142fb7f0 Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Wed, 20 Sep 2023 11:26:38 +0200 Subject: [PATCH 04/17] Update Dockerfile --- .github/workflows/main.yaml | 4 ++-- docker/Dockerfile.rpm | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 5de6267..99c7669 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -11,7 +11,7 @@ jobs: build: strategy: matrix: - version: [8, 9] + version: [almalinux:8, almalinux:9] runs-on: ubuntu-latest steps: - name: Check out Git repository @@ -26,7 +26,7 @@ jobs: file: docker/Dockerfile.rpm tags: ${{ env.BASE_TAG }} build-args: | - IMAGE_TAG =${{ matrix.version }} + IMAGE=${{ matrix.version }} load: true cache-from: type=gha cache-to: type=gha,mode=max diff --git a/docker/Dockerfile.rpm b/docker/Dockerfile.rpm index ec995cf..ecd1ec5 100644 --- a/docker/Dockerfile.rpm +++ b/docker/Dockerfile.rpm @@ -1,16 +1,16 @@ -ARG IMAGE_TAG=8 -FROM almalinux:$IMAGE_TAG +ARG IMAGE=almalinux:8 +FROM $IMAGE MAINTAINER Sarun Nuntaviriyakul LABEL org.opencontainers.image.source https://github.com/guyzsarun/xrootd-cmsjson WORKDIR /xrootd -ARG IMAGE_TAG=8 +ARG IMAGE=almalinux:8 RUN yum -y update && \ yum install -y \ dnf \ - https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el${IMAGE_TAG}-release-latest.rpm \ + https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el$(echo $IMAGE | cut -d ":" -f 2)-release-latest.rpm \ epel-release RUN dnf group install -y "Development Tools" From 5a4b8e2acb54f431a1293a10efa2cb71ae8dabbb Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Wed, 20 Sep 2023 11:27:57 +0200 Subject: [PATCH 05/17] fix ci string --- .github/workflows/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 99c7669..1f09501 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -11,7 +11,7 @@ jobs: build: strategy: matrix: - version: [almalinux:8, almalinux:9] + version: ["almalinux:8", "almalinux:9"] runs-on: ubuntu-latest steps: - name: Check out Git repository From 5808fb0c699425e3ccf093d256efd4a82606b231 Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Wed, 20 Sep 2023 12:02:52 +0200 Subject: [PATCH 06/17] update build --- .github/workflows/main.yaml | 1 + CMakeLists.txt | 9 ++------- docker/Dockerfile.rpm | 2 ++ 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 1f09501..99a6562 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -10,6 +10,7 @@ env: jobs: build: strategy: + fail-fast: false matrix: version: ["almalinux:8", "almalinux:9"] runs-on: ubuntu-latest diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c9dad9..9cd8335 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,15 +7,10 @@ find_package( Xrootd REQUIRED ) find_package( XercesC REQUIRED ) find_package( Pcre REQUIRED ) find_package( Jsoncpp REQUIRED ) -set (CMAKE_CXX_STANDARD 11) -if( CMAKE_COMPILER_IS_GNUCXX ) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror" ) -endif() +set (CMAKE_CXX_STANDARD 11) -if( CMAKE_COMPILER_IS_GNUCC ) - set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror" ) -endif() +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" ) include_directories( "${PROJECT_SOURCE_DIR}" "${XROOTD_INCLUDES}" "${XERCES_INCLUDES}" "${PCRE_INCLUDES}" "${JSONCPP_INCLUDES}") diff --git a/docker/Dockerfile.rpm b/docker/Dockerfile.rpm index ecd1ec5..ba48e60 100644 --- a/docker/Dockerfile.rpm +++ b/docker/Dockerfile.rpm @@ -29,6 +29,8 @@ RUN yum install -y --enablerepo=osg-contrib \ jsoncpp \ jsoncpp-devel +RUN pip3 install pytest + COPY . . # RUN mkdir -p /root/rpmbuild/SOURCES From 09fbcbc04245f86cfbfe2757b7800f46a9649cda Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Wed, 20 Sep 2023 12:10:27 +0200 Subject: [PATCH 07/17] Add pytest --- .github/workflows/main.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 99a6562..1dee57d 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -4,11 +4,11 @@ on: push env: - BASE_TAG: user/xrootd-cmstfc:base + BASE_TAG: user/xrootd-cmstfc LATEST_TAG: ghcr.io/guyzsarun/xrootd-cmsjson:latest jobs: - build: + build-test: strategy: fail-fast: false matrix: @@ -25,13 +25,17 @@ jobs: with: context: . file: docker/Dockerfile.rpm - tags: ${{ env.BASE_TAG }} + tags: ${{ env.BASE_TAG }}:${{ matrix.version }} build-args: | IMAGE=${{ matrix.version }} load: true cache-from: type=gha cache-to: type=gha,mode=max + - name: Unit test + run: | + docker run --rm ${{ env.BASE_TAG }}:${{ matrix.version }} python3 -m pytest -v + # test-json: # name: Test JSON Conversion # needs: build From 79b407b135faeacb6200839a251fdf73e32d4ae9 Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Wed, 20 Sep 2023 12:12:17 +0200 Subject: [PATCH 08/17] fix tag --- .github/workflows/main.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 1dee57d..2e5d277 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -4,7 +4,7 @@ on: push env: - BASE_TAG: user/xrootd-cmstfc + BASE_TAG: user/xrootd-cmstfc:base LATEST_TAG: ghcr.io/guyzsarun/xrootd-cmsjson:latest jobs: @@ -25,7 +25,7 @@ jobs: with: context: . file: docker/Dockerfile.rpm - tags: ${{ env.BASE_TAG }}:${{ matrix.version }} + tags: ${{ env.BASE_TAG }} build-args: | IMAGE=${{ matrix.version }} load: true @@ -34,7 +34,7 @@ jobs: - name: Unit test run: | - docker run --rm ${{ env.BASE_TAG }}:${{ matrix.version }} python3 -m pytest -v + docker run --rm ${{ env.BASE_TAG }} python3 -m pytest -v # test-json: # name: Test JSON Conversion From e7c7f5793f54f35e960892a7e415d55d218f0c75 Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Thu, 21 Sep 2023 13:31:56 +0200 Subject: [PATCH 09/17] Update dockerfile --- .github/workflows/main.yaml | 29 ++------------------------- docker/Dockerfile | 39 ++++++++++++++++++------------------- docker/Dockerfile.rpm | 39 +++++++++++++------------------------ 3 files changed, 35 insertions(+), 72 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 2e5d277..bf59fd7 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -24,7 +24,7 @@ jobs: uses: docker/build-push-action@v4 with: context: . - file: docker/Dockerfile.rpm + file: docker/Dockerfile tags: ${{ env.BASE_TAG }} build-args: | IMAGE=${{ matrix.version }} @@ -36,32 +36,7 @@ jobs: run: | docker run --rm ${{ env.BASE_TAG }} python3 -m pytest -v - # test-json: - # name: Test JSON Conversion - # needs: build - # runs-on: ubuntu-latest - # steps: - # - name: Check out Git repository - # uses: actions/checkout@v2 - - # - uses: docker/setup-buildx-action@v2 - - # - name: Build Docker image - # uses: docker/build-push-action@v4 - # with: - # context: . - # file: docker/Dockerfile - # tags: ${{ env.BASE_TAG }} - # load: true - # cache-from: type=gha - # cache-to: type=gha,mode=max - - # - name: Unit test - # run: | - # docker run --rm ${{ env.BASE_TAG }} python3 -m pytest -v - - # test-rpm: - # name: Package RPM + # package-rpm: # needs: build # runs-on: ubuntu-latest # steps: diff --git a/docker/Dockerfile b/docker/Dockerfile index 6e54770..177143e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,37 +1,36 @@ -FROM almalinux:8 +ARG IMAGE=almalinux:8 +FROM $IMAGE + MAINTAINER Sarun Nuntaviriyakul LABEL org.opencontainers.image.source https://github.com/guyzsarun/xrootd-cmsjson WORKDIR /xrootd +ARG IMAGE=almalinux:8 RUN yum -y update && \ - yum install -y dnf \ - https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \ - https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el8-release-latest.rpm \ + yum install -y \ + dnf \ + https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el$(echo $IMAGE | cut -d ":" -f 2)-release-latest.rpm \ epel-release RUN dnf group install -y "Development Tools" # CMS TFC dependency -RUN yum install -y cmake \ - wget \ - xrootd \ - python3-devel \ - python3-xrootd \ - xrootd-devel \ - pcre-devel \ - xerces-c-devel \ - xrootd-devel \ - https://cbs.centos.org/kojifiles/packages/jsoncpp/1.9.4/4.el8s/x86_64/jsoncpp-1.9.4-4.el8s.x86_64.rpm \ - https://cbs.centos.org/kojifiles/packages/jsoncpp/1.9.4/4.el8s/x86_64/jsoncpp-devel-1.9.4-4.el8s.x86_64.rpm - - -RUN pip3 install pytest +RUN yum install -y --enablerepo=osg-contrib \ + cmake \ + xrootd \ + python3-devel \ + python3-xrootd \ + xrootd-devel \ + pcre-devel \ + xerces-c-devel \ + jsoncpp \ + jsoncpp-devel COPY . . -RUN mkdir -p build -RUN cd build && \ +RUN mkdir -p build && \ + cd build && \ cmake .. -DBUILD_TEST=true && \ make && \ make install diff --git a/docker/Dockerfile.rpm b/docker/Dockerfile.rpm index ba48e60..6948a90 100644 --- a/docker/Dockerfile.rpm +++ b/docker/Dockerfile.rpm @@ -16,33 +16,22 @@ RUN yum -y update && \ RUN dnf group install -y "Development Tools" # CMS TFC dependency -RUN yum install -y cmake \ - xrootd \ - python3-devel \ - python3-xrootd \ - xrootd-devel \ - pcre-devel \ - xerces-c-devel \ - xrootd-devel - -RUN yum install -y --enablerepo=osg-contrib \ - jsoncpp \ +# CMS TFC dependency +RUN yum install -y --enablerepo=osg-contrib \ + cmake \ + xrootd \ + python3-devel \ + python3-xrootd \ + xrootd-devel \ + pcre-devel \ + xerces-c-devel \ + jsoncpp \ jsoncpp-devel -RUN pip3 install pytest - COPY . . -# RUN mkdir -p /root/rpmbuild/SOURCES -# RUN tar -zvcf /root/rpmbuild/SOURCES/xrootd-cmstfc.tar.gz --transform s/xrootd/xrootd-cmstfc-2.0.0/ ../xrootd - -# RUN rpmbuild -bb spec/xrootd-cmstfc.spec - -# RUN yum install -y /root/rpmbuild/RPMS/x86_64/xrootd-cmstfc-2.0.0-1.el8.x86_64.rpm - -RUN mkdir -p build -RUN cd build && \ - cmake .. -DBUILD_TEST=true && \ - make && \ - make install +RUN mkdir -p /root/rpmbuild/SOURCES +RUN tar -zvcf /root/rpmbuild/SOURCES/xrootd-cmstfc.tar.gz --transform s/xrootd/xrootd-cmstfc-2.0.0/ ../xrootd +RUN rpmbuild -bb spec/xrootd-cmstfc.spec +RUN yum install -y /root/rpmbuild/RPMS/x86_64/xrootd-cmstfc-2.0.0-2.el8.x86_64.rpm From bb29a092bdda7312c7582383b29c57c620e30d5d Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Thu, 21 Sep 2023 13:48:43 +0200 Subject: [PATCH 10/17] Update dockerfile --- docker/Dockerfile | 2 ++ docker/Dockerfile.rpm | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 177143e..476ea91 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -27,6 +27,8 @@ RUN yum install -y --enablerepo=osg-contrib \ jsoncpp \ jsoncpp-devel +RUN pip3 install pytest + COPY . . RUN mkdir -p build && \ diff --git a/docker/Dockerfile.rpm b/docker/Dockerfile.rpm index 6948a90..2b7f65d 100644 --- a/docker/Dockerfile.rpm +++ b/docker/Dockerfile.rpm @@ -15,7 +15,6 @@ RUN yum -y update && \ RUN dnf group install -y "Development Tools" -# CMS TFC dependency # CMS TFC dependency RUN yum install -y --enablerepo=osg-contrib \ cmake \ From 2cd937f3e97f988a940d8e42e660f35e3236a8e4 Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Thu, 21 Sep 2023 14:10:15 +0200 Subject: [PATCH 11/17] add rpm test --- .github/workflows/main.yaml | 41 ++++++++++++++++++++++--------------- docker/Dockerfile.rpm | 2 +- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index bf59fd7..920fd9f 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -36,21 +36,28 @@ jobs: run: | docker run --rm ${{ env.BASE_TAG }} python3 -m pytest -v - # package-rpm: - # needs: build - # runs-on: ubuntu-latest - # steps: - # - name: Check out Git repository - # uses: actions/checkout@v2 - - # - uses: docker/setup-buildx-action@v2 - - # - name: Build Docker image - # uses: docker/build-push-action@v4 - # with: - # context: . - # file: docker/Dockerfile.rpm - # load: true - # cache-from: type=gha - # cache-to: type=gha,mode=max + build-rpm: + needs: build-test + strategy: + fail-fast: false + matrix: + version: ["almalinux:8", "almalinux:9"] + runs-on: ubuntu-latest + steps: + - name: Check out Git repository + uses: actions/checkout@v2 + + - uses: docker/setup-buildx-action@v2 + + - name: Build Docker image + uses: docker/build-push-action@v4 + with: + context: . + file: docker/Dockerfile.rpm + tags: ${{ env.BASE_TAG }} + build-args: | + IMAGE=${{ matrix.version }} + load: true + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/docker/Dockerfile.rpm b/docker/Dockerfile.rpm index 2b7f65d..3997da7 100644 --- a/docker/Dockerfile.rpm +++ b/docker/Dockerfile.rpm @@ -33,4 +33,4 @@ RUN mkdir -p /root/rpmbuild/SOURCES RUN tar -zvcf /root/rpmbuild/SOURCES/xrootd-cmstfc.tar.gz --transform s/xrootd/xrootd-cmstfc-2.0.0/ ../xrootd RUN rpmbuild -bb spec/xrootd-cmstfc.spec -RUN yum install -y /root/rpmbuild/RPMS/x86_64/xrootd-cmstfc-2.0.0-2.el8.x86_64.rpm +RUN yum install -y /root/rpmbuild/RPMS/x86_64/xrootd-cmstfc-2.0.0-2.el$(echo $IMAGE | cut -d ":" -f 2).x86_64.rpm From 0c7187840c473fb03fb530437340c91e626e4f36 Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Mon, 25 Sep 2023 15:17:03 +0200 Subject: [PATCH 12/17] Update centos docker --- docker/Dockerfile | 16 ++++++++++++---- docker/Dockerfile.rpm | 16 ++++++++++++---- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 476ea91..4d80bc5 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -8,16 +8,17 @@ WORKDIR /xrootd ARG IMAGE=almalinux:8 RUN yum -y update && \ - yum install -y \ + yum install -y --skip-broken \ dnf \ https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el$(echo $IMAGE | cut -d ":" -f 2)-release-latest.rpm \ - epel-release + epel-release \ + centos-release-scl RUN dnf group install -y "Development Tools" # CMS TFC dependency -RUN yum install -y --enablerepo=osg-contrib \ - cmake \ +RUN yum install -y --enablerepo=osg-contrib \ + cmake3 \ xrootd \ python3-devel \ python3-xrootd \ @@ -27,6 +28,13 @@ RUN yum install -y --enablerepo=osg-contrib \ jsoncpp \ jsoncpp-devel + +# For Centos 7 +RUN if [[ $(echo $IMAGE | cut -d ":" -f 2) = "7" ]]; then \ + yum install -y devtoolset-7; \ + fi + + RUN pip3 install pytest COPY . . diff --git a/docker/Dockerfile.rpm b/docker/Dockerfile.rpm index 3997da7..b34f82a 100644 --- a/docker/Dockerfile.rpm +++ b/docker/Dockerfile.rpm @@ -8,16 +8,17 @@ WORKDIR /xrootd ARG IMAGE=almalinux:8 RUN yum -y update && \ - yum install -y \ + yum install -y --skip-broken \ dnf \ https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el$(echo $IMAGE | cut -d ":" -f 2)-release-latest.rpm \ - epel-release + epel-release \ + centos-release-scl RUN dnf group install -y "Development Tools" # CMS TFC dependency -RUN yum install -y --enablerepo=osg-contrib \ - cmake \ +RUN yum install -y --enablerepo=osg-contrib \ + cmake3 \ xrootd \ python3-devel \ python3-xrootd \ @@ -27,6 +28,13 @@ RUN yum install -y --enablerepo=osg-contrib \ jsoncpp \ jsoncpp-devel + +# For Centos 7 +RUN if [[ $(echo $IMAGE | cut -d ":" -f 2) = "7" ]]; then \ + yum install -y devtoolset-7; \ + fi + + COPY . . RUN mkdir -p /root/rpmbuild/SOURCES From 5379672fd39b2e136ab6fda55a5b0c85b215fdde Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Mon, 25 Sep 2023 15:17:32 +0200 Subject: [PATCH 13/17] Update centos7 spec --- spec/xrootd-cmstfc.spec | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/spec/xrootd-cmstfc.spec b/spec/xrootd-cmstfc.spec index f065224..4441d84 100644 --- a/spec/xrootd-cmstfc.spec +++ b/spec/xrootd-cmstfc.spec @@ -6,8 +6,13 @@ Summary: CMS TFC plugin for xrootd Group: System Environment/Daemons License: BSD URL: https://github.com/CMSCompOps/xrootd-cmstfc -# Generated from: -# git-archive master | gzip -7 > ~/rpmbuild/SOURCES/xrootd-lcmaps.tar.gz + +%if %{rhel} == 7 +%define CMAKE cmake3 +%else +%define CMAKE cmake +%endif + Source0: %{name}.tar.gz BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) @@ -25,16 +30,16 @@ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: xrootd-devel >= 1:%{xrootd_current_major}.0.0-1 BuildRequires: xrootd-devel < 1:%{xrootd_next_major}.0.0-1 -BuildRequires: cmake pcre-devel xerces-c-devel jsoncpp-devel >= 1.9.4 +BuildRequires: %{CMAKE} pcre-devel xerces-c-devel jsoncpp-devel >= 1.9.4 Requires: /usr/bin/xrootd pcre xerces-c jsoncpp >= 1.9.4 -#%if 0%%{?rhel} < 7 -#Requires: xrootd4 >= 1:4.1.0 -#%else +%if %{rhel} == 7 +BuildRequires: devtoolset-7-gcc-c++ devtoolset-7-elfutils devtoolset-7-binutils devtoolset-7-make devtoolset-7-toolchain +%endif + Requires: xrootd >= 1:%{xrootd_current_major}.0.0-1 Requires: xrootd < 1:%{xrootd_next_major}.0.0-1 -#%endif %package devel Summary: Development headers and libraries for Xrootd CMSTFC plugin @@ -51,7 +56,12 @@ Group: System Environment/Development %build cd %{name}-%{version} +%if %{rhel} == 7 +source /opt/rh/devtoolset-7/enable +%cmake3 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_LIBDIR=%{_lib} . +%else %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_LIBDIR=%{_lib} . +%endif make VERBOSE=1 %{?_smp_mflags} %install @@ -66,10 +76,6 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %{_libdir}/libXrdCmsTfc.so %{_libdir}/libXrdCmsJson.so -%if 0%{?rhel} < 8 -%{_libdir}/libXrdCmsTfc.so.* -%{_libdir}/libXrdCmsJson.so.* -%endif %files devel %defattr(-,root,root,-) %{_includedir}/XrdCmsTfc.hh @@ -145,4 +151,4 @@ rm -rf $RPM_BUILD_ROOT - Fix for TFC parsing to better respect rule order; request from Florida. * Tue Aug 24 2010 Brian Bockelman 1.4.0-1 -- Break xrootd-cmstfc off into its own standalone RPM. \ No newline at end of file +- Break xrootd-cmstfc off into its own standalone RPM. From ad190067625d3736baa2c42f8b8efad85af4056c Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Mon, 25 Sep 2023 16:00:14 +0200 Subject: [PATCH 14/17] Add centos7 to ci --- .github/workflows/main.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 920fd9f..a3a0c89 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - version: ["almalinux:8", "almalinux:9"] + version: ["centos:7", "almalinux:8", "almalinux:9"] runs-on: ubuntu-latest steps: - name: Check out Git repository @@ -41,7 +41,7 @@ jobs: strategy: fail-fast: false matrix: - version: ["almalinux:8", "almalinux:9"] + version: ["centos:7", "almalinux:8", "almalinux:9"] runs-on: ubuntu-latest steps: - name: Check out Git repository From 33408fc2a17f104f0f3f9ad226653e4cceb59db9 Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Mon, 25 Sep 2023 16:17:53 +0200 Subject: [PATCH 15/17] source devtoolset-7 --- docker/Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 4d80bc5..4e9f79d 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -39,9 +39,11 @@ RUN pip3 install pytest COPY . . -RUN mkdir -p build && \ +RUN if [[ $(echo $IMAGE | cut -d ":" -f 2) = "7" ]]; then \ + source /opt/rh/devtoolset-7/enable; \ + fi && mkdir -p build && \ cd build && \ - cmake .. -DBUILD_TEST=true && \ + cmake3 .. -DBUILD_TEST=true && \ make && \ make install From 4b01914ad2c674301eb721e9903dc3fc2efa5914 Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Mon, 25 Sep 2023 17:00:04 +0200 Subject: [PATCH 16/17] bump version --- docker/Dockerfile.rpm | 2 +- spec/xrootd-cmstfc.spec | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile.rpm b/docker/Dockerfile.rpm index b34f82a..f6b1d2f 100644 --- a/docker/Dockerfile.rpm +++ b/docker/Dockerfile.rpm @@ -41,4 +41,4 @@ RUN mkdir -p /root/rpmbuild/SOURCES RUN tar -zvcf /root/rpmbuild/SOURCES/xrootd-cmstfc.tar.gz --transform s/xrootd/xrootd-cmstfc-2.0.0/ ../xrootd RUN rpmbuild -bb spec/xrootd-cmstfc.spec -RUN yum install -y /root/rpmbuild/RPMS/x86_64/xrootd-cmstfc-2.0.0-2.el$(echo $IMAGE | cut -d ":" -f 2).x86_64.rpm +RUN yum install -y /root/rpmbuild/RPMS/x86_64/xrootd-cmstfc-2.0.1-1.el$(echo $IMAGE | cut -d ":" -f 2).x86_64.rpm diff --git a/spec/xrootd-cmstfc.spec b/spec/xrootd-cmstfc.spec index 4441d84..39c9192 100644 --- a/spec/xrootd-cmstfc.spec +++ b/spec/xrootd-cmstfc.spec @@ -1,6 +1,6 @@ Name: xrootd-cmstfc -Version: 2.0.0 -Release: 2%{?dist} +Version: 2.0.1 +Release: 1%{?dist} Summary: CMS TFC plugin for xrootd Group: System Environment/Daemons @@ -82,8 +82,8 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/XrdCmsJson.hh %changelog -* Tue Aug 29 2023 Sarun Nuntaviriyakul - 2.0.0-2 -- Update CXX standard +* Mon Sep 25 2023 Sarun Nuntaviriyakul - 2.0.1-1 +- Support build for EL7 * Fri Aug 11 2023 Sarun Nuntaviriyakul - 2.0.0-1 - Add JSON module (libXrdCmsJson.so) From 60659efcb7b753365d76afab6942a11dcc39e47b Mon Sep 17 00:00:00 2001 From: guyzsarun Date: Mon, 25 Sep 2023 17:11:14 +0200 Subject: [PATCH 17/17] Bump dockerfile --- docker/Dockerfile.rpm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.rpm b/docker/Dockerfile.rpm index f6b1d2f..c8e2b2a 100644 --- a/docker/Dockerfile.rpm +++ b/docker/Dockerfile.rpm @@ -38,7 +38,7 @@ RUN if [[ $(echo $IMAGE | cut -d ":" -f 2) = "7" ]]; then \ COPY . . RUN mkdir -p /root/rpmbuild/SOURCES -RUN tar -zvcf /root/rpmbuild/SOURCES/xrootd-cmstfc.tar.gz --transform s/xrootd/xrootd-cmstfc-2.0.0/ ../xrootd +RUN tar -zvcf /root/rpmbuild/SOURCES/xrootd-cmstfc.tar.gz --transform s/xrootd/xrootd-cmstfc-2.0.1/ ../xrootd RUN rpmbuild -bb spec/xrootd-cmstfc.spec RUN yum install -y /root/rpmbuild/RPMS/x86_64/xrootd-cmstfc-2.0.1-1.el$(echo $IMAGE | cut -d ":" -f 2).x86_64.rpm