From 1a5a5b42c7a2bf0c3ddf0f39ca262663b2f6624e Mon Sep 17 00:00:00 2001 From: Liss Heidrich <31625940+liss-h@users.noreply.github.com> Date: Thu, 7 May 2026 14:50:43 +0200 Subject: [PATCH 1/3] allow running package workflows on arc-runner --- .../publish-conan-branch-package.yml | 23 +++++++++++++++---- .github/workflows/publish-release.yml | 23 +++++++++++++++---- 2 files changed, 38 insertions(+), 8 deletions(-) diff --git a/.github/workflows/publish-conan-branch-package.yml b/.github/workflows/publish-conan-branch-package.yml index bcbd03c..cee99b2 100644 --- a/.github/workflows/publish-conan-branch-package.yml +++ b/.github/workflows/publish-conan-branch-package.yml @@ -21,6 +21,9 @@ on: default: 2.3.0 conan-options: type: string + setup_tools: + type: boolean + default: true secrets: CONAN_USER: required: true @@ -34,39 +37,51 @@ jobs: steps: # setup env - name: Install tools and requirements + if: inputs.setup_tools run: | sudo apt-get update sudo apt-get install -y jq python3 python3-pip - name: Add repos for for gcc-13 and clang-16,17 + if: inputs.setup_tools uses: dice-group/cpp-conan-release-reusable-workflow/.github/actions/setup_apt@main - name: Get minimum cmake version + if: inputs.setup_tools uses: lukka/get-cmake@latest with: cmakeVersion: ${{ inputs.cmake-version }} - name: Install compiler + if: inputs.setup_tools id: install_cc uses: rlalik/setup-cpp-compiler@v1.2 with: compiler: ${{ inputs.compiler }} - name: Install mold + if: inputs.setup_tools uses: rui314/setup-mold@v1 - name: Install conan + if: inputs.setup_tools uses: dice-group/cpp-conan-release-reusable-workflow/.github/actions/configure_conan@main with: conan-version: ${{ inputs.conan-version }} - - name: add conan user + - name: add conan remotes + if: inputs.setup_tools run: | conan remote add dice-group https://conan.dice-research.org/artifactory/api/conan/tentris - conan remote login -p "${{ secrets.CONAN_PW }}" dice-group "${{ secrets.CONAN_USER }}" - conan remote add tentris-private https://conan.dice-research.org/artifactory/api/conan/tentris-private - conan remote login -p "${{ secrets.CONAN_PW }}" tentris-private "${{ secrets.CONAN_USER }}" + + - name: conan login + env: + CONAN_USER: ${{ secrets.CONAN_USER }} + CONAN_PW: ${{ secrets.CONAN_PW }} + run: | + conan remote login -p "$CONAN_PW" dice-group "$CONAN_USER" + conan remote login -p "$CONAN_PW" tentris-private "$CONAN_USER" - name: Cache conan data id: cache-conan diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 8889992..9892b98 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -21,6 +21,9 @@ on: default: 2.3.0 conan-options: type: string + setup_tools: + type: boolean + default: true use-tag: # if true an existing tag/release is update; otherwise the job fails. If true the job will also fail if the tag doesn't match the version reported via conan. type: boolean default: false @@ -44,39 +47,51 @@ jobs: # setup env - name: Install tools and requirements + if: inputs.setup_tools run: | sudo apt-get update sudo apt-get install -y jq python3 python3-pip - name: Add repos for for gcc-13 and clang-16,17 + if: inputs.setup_tools uses: dice-group/cpp-conan-release-reusable-workflow/.github/actions/setup_apt@main - name: Get minimum cmake version + if: inputs.setup_tools uses: lukka/get-cmake@latest with: cmakeVersion: ${{ inputs.cmake-version }} - name: Install compiler + if: inputs.setup_tools id: install_cc uses: rlalik/setup-cpp-compiler@v1.2 with: compiler: ${{ inputs.compiler }} - name: Install mold + if: inputs.setup_tools uses: rui314/setup-mold@v1 - name: Install conan + if: inputs.setup_tools uses: dice-group/cpp-conan-release-reusable-workflow/.github/actions/configure_conan@main with: conan-version: ${{ inputs.conan-version }} - - name: add conan user + - name: add conan remotes + if: inputs.setup_tools run: | conan remote add dice-group https://conan.dice-research.org/artifactory/api/conan/tentris - conan remote login -p "${{ secrets.CONAN_PW }}" dice-group "${{ secrets.CONAN_USER }}" - conan remote add tentris-private https://conan.dice-research.org/artifactory/api/conan/tentris-private - conan remote login -p "${{ secrets.CONAN_PW }}" tentris-private "${{ secrets.CONAN_USER }}" + + - name: conan login + env: + CONAN_USER: ${{ secrets.CONAN_USER }} + CONAN_PW: ${{ secrets.CONAN_PW }} + run: | + conan remote login -p "$CONAN_PW" dice-group "$CONAN_USER" + conan remote login -p "$CONAN_PW" tentris-private "$CONAN_USER" - name: Cache conan data id: cache-conan From 0d5f7df05934cd35b35dbf1cf8b9687d3ffd8a28 Mon Sep 17 00:00:00 2001 From: Liss Heidrich <31625940+liss-h@users.noreply.github.com> Date: Thu, 7 May 2026 14:51:43 +0200 Subject: [PATCH 2/3] fix case --- .../workflows/publish-conan-branch-package.yml | 16 ++++++++-------- .github/workflows/publish-release.yml | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/publish-conan-branch-package.yml b/.github/workflows/publish-conan-branch-package.yml index cee99b2..221e82d 100644 --- a/.github/workflows/publish-conan-branch-package.yml +++ b/.github/workflows/publish-conan-branch-package.yml @@ -21,7 +21,7 @@ on: default: 2.3.0 conan-options: type: string - setup_tools: + setup-tools: type: boolean default: true secrets: @@ -37,40 +37,40 @@ jobs: steps: # setup env - name: Install tools and requirements - if: inputs.setup_tools + if: inputs.setup-tools run: | sudo apt-get update sudo apt-get install -y jq python3 python3-pip - name: Add repos for for gcc-13 and clang-16,17 - if: inputs.setup_tools + if: inputs.setup-tools uses: dice-group/cpp-conan-release-reusable-workflow/.github/actions/setup_apt@main - name: Get minimum cmake version - if: inputs.setup_tools + if: inputs.setup-tools uses: lukka/get-cmake@latest with: cmakeVersion: ${{ inputs.cmake-version }} - name: Install compiler - if: inputs.setup_tools + if: inputs.setup-tools id: install_cc uses: rlalik/setup-cpp-compiler@v1.2 with: compiler: ${{ inputs.compiler }} - name: Install mold - if: inputs.setup_tools + if: inputs.setup-tools uses: rui314/setup-mold@v1 - name: Install conan - if: inputs.setup_tools + if: inputs.setup-tools uses: dice-group/cpp-conan-release-reusable-workflow/.github/actions/configure_conan@main with: conan-version: ${{ inputs.conan-version }} - name: add conan remotes - if: inputs.setup_tools + if: inputs.setup-tools run: | conan remote add dice-group https://conan.dice-research.org/artifactory/api/conan/tentris conan remote add tentris-private https://conan.dice-research.org/artifactory/api/conan/tentris-private diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 9892b98..a998565 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -21,7 +21,7 @@ on: default: 2.3.0 conan-options: type: string - setup_tools: + setup-tools: type: boolean default: true use-tag: # if true an existing tag/release is update; otherwise the job fails. If true the job will also fail if the tag doesn't match the version reported via conan. @@ -47,40 +47,40 @@ jobs: # setup env - name: Install tools and requirements - if: inputs.setup_tools + if: inputs.setup-tools run: | sudo apt-get update sudo apt-get install -y jq python3 python3-pip - name: Add repos for for gcc-13 and clang-16,17 - if: inputs.setup_tools + if: inputs.setup-tools uses: dice-group/cpp-conan-release-reusable-workflow/.github/actions/setup_apt@main - name: Get minimum cmake version - if: inputs.setup_tools + if: inputs.setup-tools uses: lukka/get-cmake@latest with: cmakeVersion: ${{ inputs.cmake-version }} - name: Install compiler - if: inputs.setup_tools + if: inputs.setup-tools id: install_cc uses: rlalik/setup-cpp-compiler@v1.2 with: compiler: ${{ inputs.compiler }} - name: Install mold - if: inputs.setup_tools + if: inputs.setup-tools uses: rui314/setup-mold@v1 - name: Install conan - if: inputs.setup_tools + if: inputs.setup-tools uses: dice-group/cpp-conan-release-reusable-workflow/.github/actions/configure_conan@main with: conan-version: ${{ inputs.conan-version }} - name: add conan remotes - if: inputs.setup_tools + if: inputs.setup-tools run: | conan remote add dice-group https://conan.dice-research.org/artifactory/api/conan/tentris conan remote add tentris-private https://conan.dice-research.org/artifactory/api/conan/tentris-private From 2bb1183dc18f3b33ba9136572b89709064765680 Mon Sep 17 00:00:00 2001 From: Liss Heidrich <31625940+liss-h@users.noreply.github.com> Date: Thu, 7 May 2026 14:56:44 +0200 Subject: [PATCH 3/3] fix inputs --- .../publish-conan-branch-package.yml | 29 ++++++++++++++----- .github/workflows/publish-release.yml | 29 ++++++++++++++----- 2 files changed, 44 insertions(+), 14 deletions(-) diff --git a/.github/workflows/publish-conan-branch-package.yml b/.github/workflows/publish-conan-branch-package.yml index 221e82d..96c7992 100644 --- a/.github/workflows/publish-conan-branch-package.yml +++ b/.github/workflows/publish-conan-branch-package.yml @@ -10,15 +10,18 @@ on: required: true type: string default: ubuntu-22.04 - compiler: + cc: type: string - default: clang-17 + default: clang-20 + cxx: + type: string + default: clang++-20 cmake-version: type: string default: 3.24.0 conan-version: type: string - default: 2.3.0 + default: 2.26.0 conan-options: type: string setup-tools: @@ -57,7 +60,19 @@ jobs: id: install_cc uses: rlalik/setup-cpp-compiler@v1.2 with: - compiler: ${{ inputs.compiler }} + compiler: ${{ inputs.cc }} + + - name: Set compiler env installed + if: inputs.setup_tools + run: | + echo "CC=${{ steps.install_cc.outputs.cc }}" >> $GITHUB_ENV + echo "CXX=${{ steps.install_cc.outputs.cxx }}" >> $GITHUB_ENV + + - name: Set compiler env preinstalled + if: inputs.setup_tools == false + run: | + echo "CC=${{ inputs.cc }}" >> $GITHUB_ENV + echo "CXX=${{ inputs.cxx }}" >> $GITHUB_ENV - name: Install mold if: inputs.setup-tools @@ -88,7 +103,7 @@ jobs: uses: actions/cache@v4 with: path: ~/.conan2/p - key: ${{ inputs.os }}-${{ inputs.compiler }}-reusable-workflow-branch-package + key: ${{ inputs.os }}-${{ inputs.cc }}-reusable-workflow-branch-package - name: Checkout uses: actions/checkout@v3 @@ -110,8 +125,8 @@ jobs: - name: Create Package shell: bash env: - CC: ${{ steps.install_cc.outputs.cc }} - CXX: ${{ steps.install_cc.outputs.cxx }} + CC: ${{ env.CC }} + CXX: ${{ env.CXX }} run: | (conan remove -f "${{ env.conan_package_identifier }}:*" || true) conan create --user "${{ env.conan_package_user }}" --channel "${{ env.conan_package_channel }}" --build missing ${{ inputs.conan-options }} . diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index a998565..c2d7cd1 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -10,15 +10,18 @@ on: required: true type: string default: ubuntu-22.04 - compiler: + cc: type: string - default: clang-17 + default: clang-20 + cxx: + type: string + default: clang++-20 cmake-version: type: string default: 3.24.0 conan-version: type: string - default: 2.3.0 + default: 2.26.0 conan-options: type: string setup-tools: @@ -67,7 +70,19 @@ jobs: id: install_cc uses: rlalik/setup-cpp-compiler@v1.2 with: - compiler: ${{ inputs.compiler }} + compiler: ${{ inputs.cc }} + + - name: Set compiler env installed + if: inputs.setup_tools + run: | + echo "CC=${{ steps.install_cc.outputs.cc }}" >> $GITHUB_ENV + echo "CXX=${{ steps.install_cc.outputs.cxx }}" >> $GITHUB_ENV + + - name: Set compiler env preinstalled + if: inputs.setup_tools == false + run: | + echo "CC=${{ inputs.cc }}" >> $GITHUB_ENV + echo "CXX=${{ inputs.cxx }}" >> $GITHUB_ENV - name: Install mold if: inputs.setup-tools @@ -98,7 +113,7 @@ jobs: uses: actions/cache@v4 with: path: ~/.conan2/p - key: ${{ inputs.os }}-${{ inputs.compiler }}-conan-reusable-workflow-release + key: ${{ inputs.os }}-${{ inputs.cc }}-conan-reusable-workflow-release - name: Checkout uses: actions/checkout@v3 @@ -124,8 +139,8 @@ jobs: - name: Create Package env: - CC: ${{ steps.install_cc.outputs.cc }} - CXX: ${{ steps.install_cc.outputs.cxx }} + CC: ${{ env.CC }} + CXX: ${{ env.CXX }} run: | (conan remove -f "${{ env.conan_package_identifier }}:*" || true) conan create --build missing ${{ inputs.conan-options }} .