diff --git a/.github/actions/dependencies/action.yml b/.github/actions/dependencies/action.yml index 17dbc49c45d..d9687ff121e 100644 --- a/.github/actions/dependencies/action.yml +++ b/.github/actions/dependencies/action.yml @@ -16,16 +16,25 @@ runs: conan export external/snappy snappy/1.1.10@ conan export external/rocksdb rocksdb/6.29.5@ conan export external/soci soci/4.0.3@ - - name: try to authenticate to ripple Conan remote - id: remote + - name: add Ripple Conan remote shell: bash run: | + conan remote list + conan remote remove ripple || true # Do not quote the URL. An empty string will be accepted (with # a non-fatal warning), but a missing argument will not. conan remote add ripple ${{ env.CONAN_URL }} --insert 0 - echo outcome=$(conan user --remote ripple ${{ env.CONAN_USERNAME }} \ - --password ${{ env.CONAN_TOKEN }} >&2 && echo success || \ - echo failure) | tee ${GITHUB_OUTPUT} + - name: try to authenticate to Ripple Conan remote + id: remote + shell: bash + run: | + # `conan user` implicitly uses the environment variables + # CONAN_LOGIN_USERNAME_ and CONAN_PASSWORD_. + # https://docs.conan.io/1/reference/commands/misc/user.html#using-environment-variables + # https://docs.conan.io/1/reference/env_vars.html#conan-login-username-conan-login-username-remote-name + # https://docs.conan.io/1/reference/env_vars.html#conan-password-conan-password-remote-name + echo outcome=$(conan user --remote ripple --password >&2 \ + && echo success || echo failure) | tee ${GITHUB_OUTPUT} - name: list missing binaries id: binaries shell: bash diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 3462939c987..99aa6b7a9df 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -22,28 +22,27 @@ jobs: NUM_PROCESSORS: 12 steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: install Ninja if: matrix.generator == 'Ninja' run: brew install ninja - name: check environment run: | + env | sort echo ${PATH} | tr ':' '\n' python --version conan --version cmake --version - env | sort - name: configure Conan run : | conan profile get env.CXXFLAGS default || true conan profile update 'conf.tools.build:cxxflags+=["-DBOOST_ASIO_DISABLE_CONCEPTS"]' default - conan remote remove ripple - name: build dependencies uses: ./.github/actions/dependencies env: CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/conan-non-prod - CONAN_USERNAME: ${{ secrets.CONAN_USERNAME }} - CONAN_TOKEN: ${{ secrets.CONAN_TOKEN }} + CONAN_LOGIN_USERNAME_RIPPLE: ${{ secrets.CONAN_USERNAME }} + CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }} with: configuration: ${{ matrix.configuration }} - name: build diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index 97edbeb17f3..73fc835361e 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -54,7 +54,7 @@ jobs: build_dir: .build steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: check environment run: | echo ${PATH} | tr ':' '\n' @@ -78,12 +78,12 @@ jobs: uses: ./.github/actions/dependencies env: CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/conan-non-prod - CONAN_USERNAME: ${{ secrets.CONAN_USERNAME }} - CONAN_TOKEN: ${{ secrets.CONAN_TOKEN }} + CONAN_LOGIN_USERNAME_RIPPLE: ${{ secrets.CONAN_USERNAME }} + CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }} with: configuration: ${{ matrix.configuration }} - name: upload archive - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.platform }}-${{ matrix.compiler }}-${{ matrix.configuration }} path: conan.tar @@ -112,7 +112,7 @@ jobs: build_dir: .build steps: - name: download cache - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ matrix.platform }}-${{ matrix.compiler }}-${{ matrix.configuration }} - name: extract cache @@ -121,13 +121,12 @@ jobs: tar -xzf conan.tar -C ~/.conan - name: check environment run: | + env | sort echo ${PATH} | tr ':' '\n' conan --version cmake --version - env | sort - ls ~/.conan - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: dependencies uses: ./.github/actions/dependencies env: @@ -162,7 +161,7 @@ jobs: build_dir: .build steps: - name: download cache - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ matrix.platform }}-${{ matrix.compiler }}-${{ matrix.configuration }} - name: extract cache @@ -178,7 +177,7 @@ jobs: env | sort ls ~/.conan - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: dependencies uses: ./.github/actions/dependencies env: @@ -202,7 +201,7 @@ jobs: run: | mv "${build_dir}/coverage.xml" ./ - name: archive coverage report - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: coverage.xml path: coverage.xml @@ -210,7 +209,7 @@ jobs: - name: upload coverage report uses: wandalen/wretry.action@v1.3.0 with: - action: codecov/codecov-action@v3 + action: codecov/codecov-action@v4 with: | files: coverage.xml fail_ci_if_error: true diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 60419944ed6..f103a40d7f7 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -27,9 +27,9 @@ jobs: build_dir: .build steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: choose Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v5 with: python-version: 3.9 - name: learn Python cache directory @@ -39,7 +39,7 @@ jobs: python -m pip install --upgrade pip echo "dir=$(pip cache dir)" | tee ${GITHUB_OUTPUT} - name: restore Python cache directory - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ steps.pip-cache.outputs.dir }} key: ${{ runner.os }}-${{ hashFiles('.github/workflows/windows.yml') }} @@ -47,11 +47,11 @@ jobs: run: pip install wheel 'conan<2' - name: check environment run: | + dir env: $env:PATH -split ';' python --version conan --version cmake --version - dir env: - name: configure Conan shell: bash run: | @@ -61,8 +61,8 @@ jobs: uses: ./.github/actions/dependencies env: CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/conan-non-prod - CONAN_USERNAME: ${{ secrets.CONAN_USERNAME }} - CONAN_TOKEN: ${{ secrets.CONAN_TOKEN }} + CONAN_LOGIN_USERNAME_RIPPLE: ${{ secrets.CONAN_USERNAME }} + CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }} with: configuration: ${{ matrix.configuration }} - name: build