mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
109 lines
3.5 KiB
YAML
109 lines
3.5 KiB
YAML
# This workflow runs all workflows to check, build and test the project on
|
|
# various Linux flavors, as well as MacOS and Windows.
|
|
name: Main
|
|
|
|
# This workflow is triggered on every push to the repository, including pull
|
|
# requests. However, it will not run if the pull request is a draft unless it
|
|
# has the 'DraftRunCI' label. As GitHub Actions does not support such `if`
|
|
# conditions here, the individual jobs will check the pull request state and
|
|
# labels to determine whether to run or not. The workflows called by the jobs
|
|
# may also have their own conditions to partially or completely skip execution
|
|
# as needed.
|
|
on: push
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
env:
|
|
# The default build directory for the project.
|
|
BUILD_DIR: .build
|
|
# The Conan remote where the dependencies will be cached.
|
|
CONAN_REMOTE_NAME: xrplf
|
|
CONAN_REMOTE_URL: https://conan.ripplex.io
|
|
# The default runner for the jobs. This can be overridden in individual jobs.
|
|
RUNNER: ubuntu-latest
|
|
|
|
jobs:
|
|
check-clang-format:
|
|
if: github.event.pull_request.draft == false || contains(github.event.pull_request.labels.*.name, 'DraftRunCI')
|
|
uses: ./.github/workflows/check-clang-format.yml
|
|
with:
|
|
runner: ${{ env.RUNNER }}
|
|
|
|
check-levelization:
|
|
if: github.event.pull_request.draft == false || contains(github.event.pull_request.labels.*.name, 'DraftRunCI')
|
|
uses: ./.github/workflows/check-levelization.yml
|
|
with:
|
|
runner: ${{ env.RUNNER }}
|
|
|
|
debian:
|
|
needs:
|
|
- check-clang-format
|
|
- check-levelization
|
|
uses: ./.github/workflows/build-debian.yml
|
|
with:
|
|
build_dir: ${{ env.BUILD_DIR }}
|
|
conan_remote_name: ${{ env.CONAN_REMOTE_NAME }}
|
|
conan_remote_url: ${{ env.CONAN_REMOTE_URL }}
|
|
secrets:
|
|
conan_username: ${{ secrets.CONAN_USERNAME }}
|
|
conan_password: ${{ secrets.CONAN_PASSWORD }}
|
|
|
|
# rhel:
|
|
# needs:
|
|
# - check-clang-format
|
|
# - check-levelization
|
|
# uses: ./.github/workflows/build-rhel.yml
|
|
# with:
|
|
# build_dir: ${{ env.BUILD_DIR }}
|
|
# conan_remote_name: ${{ env.CONAN_REMOTE_NAME }}
|
|
# conan_remote_url: ${{ env.CONAN_REMOTE_URL }}
|
|
# secrets:
|
|
# conan_username: ${{ secrets.CONAN_USERNAME }}
|
|
# conan_password: ${{ secrets.CONAN_PASSWORD }}
|
|
#
|
|
# ubuntu:
|
|
# needs:
|
|
# - check-clang-format
|
|
# - check-levelization
|
|
# uses: ./.github/workflows/build-ubuntu.yml
|
|
# with:
|
|
# build_dir: ${{ env.BUILD_DIR }}
|
|
# conan_remote_name: ${{ env.CONAN_REMOTE_NAME }}
|
|
# conan_remote_url: ${{ env.CONAN_REMOTE_URL }}
|
|
# secrets:
|
|
# conan_username: ${{ secrets.CONAN_USERNAME }}
|
|
# conan_password: ${{ secrets.CONAN_PASSWORD }}
|
|
#
|
|
# macos:
|
|
# needs:
|
|
# - check-clang-format
|
|
# - check-levelization
|
|
# uses: ./.github/workflows/build-macos.yml
|
|
# with:
|
|
# build_dir: ${{ env.BUILD_DIR }}
|
|
# conan_remote_name: ${{ env.CONAN_REMOTE_NAME }}
|
|
# conan_remote_url: ${{ env.CONAN_REMOTE_URL }}
|
|
# secrets:
|
|
# conan_username: ${{ secrets.CONAN_USERNAME }}
|
|
# conan_password: ${{ secrets.CONAN_PASSWORD }}
|
|
#
|
|
# windows:
|
|
# needs:
|
|
# - check-clang-format
|
|
# - check-levelization
|
|
# uses: ./.github/workflows/build-windows.yml
|
|
# with:
|
|
# build_dir: ${{ env.BUILD_DIR }}
|
|
# conan_remote_name: ${{ env.CONAN_REMOTE_NAME }}
|
|
# conan_remote_url: ${{ env.CONAN_REMOTE_URL }}
|
|
# secrets:
|
|
# conan_username: ${{ secrets.CONAN_USERNAME }}
|
|
# conan_password: ${{ secrets.CONAN_PASSWORD }}
|
|
|