diff --git a/.github/workflows/upload_conan_deps.yml b/.github/workflows/upload_conan_deps.yml new file mode 100644 index 00000000..96280bbb --- /dev/null +++ b/.github/workflows/upload_conan_deps.yml @@ -0,0 +1,81 @@ +name: Upload Conan Dependencies + +on: + workflow_dispatch: + pull_request: + branches: + - develop + paths: + - .github/workflows/upload_conan_deps.yml + - conanfile.py + push: + branches: + - develop + paths: + - .github/workflows/upload_conan_deps.yml + - conanfile.py + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + upload-conan-deps: + name: Build and Upload Conan Deps + + strategy: + fail-fast: false + matrix: + os: [heavy] + container: ['{ "image": "ghcr.io/xrplf/clio-ci:latest" }'] + compiler: ["gcc", "clang"] + sanitizer_ext: [".asan", ".tsan", ".ubsan"] + build_type: ["Release"] + include: + - os: heavy + container: '{ "image": "ghcr.io/xrplf/clio-ci:latest" }' + compiler: gcc + sanitizer_ext: "" + build_type: Debug + - os: macos15 + container: "" + compiler: default_apple_clang + sanitizer_ext: "" + build_type: Release + + runs-on: ${{ matrix.os }} + container: ${{ matrix.container != '' && fromJson(matrix.container) || null }} + + env: + CONAN_PROFILE: ${{ matrix.compiler }}${{ matrix.sanitizer_ext }} + + steps: + - uses: actions/checkout@v4 + + - name: Prepare runner + uses: ./.github/actions/prepare_runner + with: + disable_ccache: true + + - name: Setup conan + uses: ./.github/actions/setup_conan + with: + conan_profile: ${{ env.CONAN_PROFILE }} + + - name: Show conan profile + run: conan profile show --profile:all ${{ env.CONAN_PROFILE }} + + - name: Run conan and cmake + uses: ./.github/actions/generate + with: + conan_profile: ${{ env.CONAN_PROFILE }} + conan_cache_hit: "false" + build_type: Release + + - name: Login to Conan + if: github.event_name != 'pull_request' + run: conan remote login -p ${{ secrets.CONAN_PASSWORD }} ripple ${{ secrets.CONAN_USERNAME }} + + - name: Upload Conan packages + if: github.event_name != 'pull_request' + run: conan upload "*" -r=ripple --confirm