Trigger #3
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
| # This workflow runs all workflows to build and test the code on various Linux | |
| # flavors, as well as on MacOS and Windows, on a scheduled basis, on merge into | |
| # the 'develop' or 'release*' branches, or when requested manually. Upon pushes | |
| # to the develop branch it also uploads the libxrpl recipe to the Conan remote. | |
| name: Trigger | |
| on: | |
| push: | |
| branches: | |
| - "develop" | |
| - "release*" | |
| paths: | |
| # These paths are unique to `on-trigger.yml`. | |
| - ".github/workflows/on-trigger.yml" | |
| # Keep the paths below in sync with those in `on-pr.yml`. | |
| - ".github/actions/build-deps/**" | |
| - ".github/actions/build-test/**" | |
| - ".github/actions/generate-version/**" | |
| - ".github/actions/setup-conan/**" | |
| - ".github/scripts/strategy-matrix/**" | |
| - ".github/workflows/reusable-build.yml" | |
| - ".github/workflows/reusable-build-test-config.yml" | |
| - ".github/workflows/reusable-build-test.yml" | |
| - ".github/workflows/reusable-strategy-matrix.yml" | |
| - ".github/workflows/reusable-test.yml" | |
| - ".github/workflows/reusable-upload-recipe.yml" | |
| - ".codecov.yml" | |
| - "cmake/**" | |
| - "conan/**" | |
| - "external/**" | |
| - "include/**" | |
| - "src/**" | |
| - "tests/**" | |
| - "CMakeLists.txt" | |
| - "conanfile.py" | |
| - "conan.lock" | |
| # Run at 06:32 UTC on every day of the week from Monday through Friday. This | |
| # will force all dependencies to be rebuilt, which is useful to verify that | |
| # all dependencies can be built successfully. Only the dependencies that | |
| # are actually missing from the remote will be uploaded. | |
| schedule: | |
| - cron: "32 6 * * 1-5" | |
| # Run when manually triggered via the GitHub UI or API. | |
| workflow_dispatch: | |
| concurrency: | |
| # When a PR is merged into the develop branch it will be assigned a unique | |
| # group identifier, so execution will continue even if another PR is merged | |
| # while it is still running. In all other cases the group identifier is shared | |
| # per branch, so that any in-progress runs are cancelled when a new commit is | |
| # pushed. | |
| group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.ref == 'refs/heads/develop' && github.sha || github.ref }} | |
| cancel-in-progress: true | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| build-test: | |
| uses: ./.github/workflows/reusable-build-test.yml | |
| strategy: | |
| fail-fast: ${{ github.event_name == 'merge_group' }} | |
| matrix: | |
| os: [linux, macos, windows] | |
| with: | |
| # Enable ccache only for events targeting the XRPLF repository, since | |
| # other accounts will not have access to our remote cache storage. | |
| # However, we do not enable ccache for events targeting a release branch, | |
| # to protect against the rare case that the output produced by ccache is | |
| # not identical to a regular compilation. | |
| ccache_enabled: ${{ github.repository_owner == 'XRPLF' && !startsWith(github.ref, 'refs/heads/release') }} | |
| os: ${{ matrix.os }} | |
| strategy_matrix: ${{ github.event_name == 'schedule' && 'all' || 'minimal' }} | |
| secrets: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| upload-recipe: | |
| needs: build-test | |
| # Only run when pushing to the develop branch in the XRPLF repository. | |
| if: ${{ github.repository_owner == 'XRPLF' && github.event_name == 'push' && github.ref == 'refs/heads/develop' }} | |
| uses: ./.github/workflows/reusable-upload-recipe.yml | |
| secrets: | |
| remote_username: ${{ secrets.CONAN_REMOTE_USERNAME }} | |
| remote_password: ${{ secrets.CONAN_REMOTE_PASSWORD }} |