Update profile to match rippled #28
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Debian | |
| on: | |
| push: | |
| paths: | |
| - '.github/workflows/debian.yml' | |
| - 'configs/**' | |
| - 'recipes/**' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| defaults: | |
| run: | |
| shell: bash | |
| env: | |
| # Note that `conan user` implicitly uses the environment variables | |
| # `CONAN_LOGIN_USERNAME_<REMOTE>` and `CONAN_PASSWORD_<REMOTE>`, see also | |
| # https://docs.conan.io/2/reference/environment.html#remote-login-variables. | |
| CONAN_REMOTE_URL: https://conan.ripplex.io | |
| CONAN_REMOTE_NAME: xrplf | |
| CONAN_LOGIN_USERNAME_XRPLF: ${{ secrets.CONAN_USERNAME }} | |
| CONAN_PASSWORD_XRPLF: ${{ secrets.CONAN_PASSWORD }} | |
| jobs: | |
| build: | |
| strategy: | |
| max-parallel: 5 | |
| matrix: | |
| architecture: | |
| - runner: ubuntu-24.04 | |
| # - runner: ubuntu-24.04-arm | |
| docker: | |
| - image: ghcr.io/xrplf/ci/debian-bookworm:gcc-12 | |
| # - image: ghcr.io/xrplf/ci/debian-bookworm:gcc-13 | |
| # - image: ghcr.io/xrplf/ci/debian-bookworm:gcc-14 | |
| # - image: ghcr.io/xrplf/ci/debian-bookworm:clang-16 | |
| # - image: ghcr.io/xrplf/ci/debian-bookworm:clang-17 | |
| # - image: ghcr.io/xrplf/ci/debian-bookworm:clang-18 | |
| # - image: ghcr.io/xrplf/ci/debian-bookworm:clang-19 | |
| # - image: ghcr.io/xrplf/ci/debian-bookworm:clang-20 | |
| build: | |
| - type: Debug | |
| # - type: Release | |
| runs-on: ${{ matrix.architecture.runner }} | |
| container: ${{ matrix.docker.image }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Configure Conan | |
| run: | | |
| cat configs/global.conf >> $(conan config home)/global.conf | |
| conan config install profiles/ -tf $(conan config home)/profiles/ | |
| - name: Add Conan remote | |
| run: | | |
| conan remote list | |
| if conan remote list | grep -q '${{ env.CONAN_REMOTE_NAME }}'; then | |
| conan remote remove ${{ env.CONAN_REMOTE_NAME }} | |
| echo "Removed existing conan remote '${{ env.CONAN_REMOTE_NAME }}'." | |
| fi | |
| conan remote add --index 0 ${{ env.CONAN_REMOTE_NAME }} ${{ env.CONAN_REMOTE_URL }} | |
| echo "Added new conan remote '${{ env.CONAN_REMOTE_NAME }}' at ${{ env.CONAN_REMOTE_URL }}." | |
| - name: Verify Conan remote | |
| run: | | |
| conan remote auth ${{ env.CONAN_REMOTE_NAME }} --force | |
| conan remote list-users | |
| - name: Build the recipes | |
| working-directory: recipes | |
| run: | | |
| # Loop over all recipe config files. | |
| for config in ../configs/recipes/*.json; do | |
| json=${config##../configs/recipes/} | |
| # Extract the recipe name, directory, version, and options. Note | |
| # that Conan 2 expects the options to be scoped with either '&:' | |
| # meaning only the current recipe or '*:' meaning all dependent | |
| # recipes as well; we use the latter here. | |
| name=$(jq -r '.name' ${config}) | |
| dir=$(jq -r '.dir' ${config}) | |
| version=$(jq -r '.version' ${config}) | |
| opts=$(jq -r '.options | join("\" -o \"*:") | if length == 0 then "" else "-o \"*:" + . + "\"" end' ${config}) | |
| # Create the recipe. | |
| echo "Creating recipe '${name}@${version}' with options '${opts}'." | |
| conan create "${name}/${dir}" \ | |
| --version="${version}" \ | |
| --build=missing \ | |
| --settings:all=build_type=${{ matrix.build.type }} \ | |
| --update \ | |
| ${opts} | |
| done | |
| - name: Upload the recipes (dry-run) | |
| if: ${{ github.ref_type == 'branch' && github.ref_name != github.event.repository.default_branch }} | |
| run: | | |
| conan upload '*' \ | |
| --remote ${{ env.CONAN_REMOTE_NAME }} \ | |
| --confirm \ | |
| --dry-run | |
| - name: Upload the recipes | |
| if: ${{ github.ref_type == 'branch' && github.ref_name == github.event.repository.default_branch }} | |
| run: | | |
| conan upload '*' \ | |
| --remote ${{ env.CONAN_REMOTE_NAME }} \ | |
| --confirm |