Move configs to file so they can be reused across workflows #16
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 | |
| - 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: 10 | |
| 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 | |
| package: | |
| # - name: boost | |
| # version: 1.86.0 | |
| # directory: all | |
| - name: date | |
| version: 3.0.4 | |
| directory: all | |
| # - name: doctest | |
| # version: 2.4.11 | |
| # directory: 2.x.x | |
| # - name: grpc | |
| # version: 1.72.0 | |
| # directory: all | |
| # - name: libarchive | |
| # version: 3.8.1 | |
| # directory: all | |
| # - name: lz4 | |
| # version: 1.10.0 | |
| # directory: all | |
| # - name: nudb | |
| # version: 2.0.9 | |
| # directory: all | |
| # - name: openssl | |
| # version: 1.1.1w | |
| # directory: 1.x.x | |
| # - name: protobuf | |
| # version: 6.30.1 | |
| # directory: all | |
| # - name: rocksdb | |
| # version: 10.0.1 | |
| # directory: all | |
| # - name: sqlite3 | |
| # version: 3.49.1 | |
| # directory: all | |
| # - name: xxhash | |
| # version: 0.8.3 | |
| # directory: all | |
| # - name: zlib | |
| # version: 1.3.1 | |
| # directory: all | |
| runs-on: ${{ matrix.architecture.runner }} | |
| container: ${{ matrix.docker.image }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Configure Conan | |
| run: | | |
| cat config/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 recipe | |
| working-directory: recipes/${{ matrix.package.name }}/${{ matrix.package.directory }} | |
| run: | | |
| conan create . \ | |
| --version ${{ matrix.package.version }} \ | |
| --build=missing \ | |
| --settings:all=build_type=${{ matrix.build.type }} \ | |
| --update \ | |
| $(cat config/options.conf | tr '\n' ' ') | |
| - name: Upload the recipe (dry-run) | |
| if: ${{ github.ref_type == 'branch' && github.ref_name != github.event.repository.default_branch }} | |
| run: | | |
| conan upload '${{ matrix.package.name }}' \ | |
| --remote ${{ env.CONAN_REMOTE_NAME }} \ | |
| --confirm \ | |
| --dry-run | |
| - name: Upload the recipe | |
| if: ${{ github.ref_type == 'branch' && github.ref_name == github.event.repository.default_branch }} | |
| run: | | |
| conan upload '${{ matrix.package.name }}' \ | |
| --remote ${{ env.CONAN_REMOTE_NAME }} \ | |
| --confirm |