name: Create release on: push: tags: - "*.*.*" pull_request: paths: - .github/workflows/release.yml concurrency: # Only cancel in-progress jobs or runs for the current workflow - matches against branch & tags group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build-and-test: name: Build and Test strategy: fail-fast: false matrix: include: - os: macos-26-apple-clang-21 compiler: apple-clang build_type: Release - os: heavy compiler: gcc build_type: Release container: '{ "image": "ghcr.io/xrplf/xrpld/nix-ubuntu:sha-cb2642b" }' uses: ./.github/workflows/reusable-build-test.yml with: runs_on: ${{ matrix.os }} container: ${{ matrix.container }} compiler: ${{ matrix.compiler }} build_type: ${{ matrix.build_type }} run_unit_tests: true run_integration_tests: true upload_clio_server: true download_ccache: false upload_ccache: false version: ${{ github.event_name == 'push' && github.ref_name || '' }} package: name: Build debian package uses: ./.github/workflows/reusable-build.yml with: runs_on: heavy container: '{ "image": "ghcr.io/xrplf/xrpld/nix-ubuntu:sha-cb2642b" }' compiler: gcc build_type: Release download_ccache: false upload_ccache: false code_coverage: false upload_clio_server: false package: true version: ${{ github.event_name == 'push' && github.ref_name || '' }} targets: package analyze_build_time: false release: needs: [build-and-test, package] uses: ./.github/workflows/reusable-release.yml with: delete_pattern: "" prerelease: ${{ contains(github.ref_name, '-') }} title: "${{ github.ref_name }}" version: "${{ github.ref_name }}" header: > ${{ contains(github.ref_name, '-') && '> **Note:** Please remember that this is a release candidate and it is not recommended for production use.' || '' }} generate_changelog: ${{ !contains(github.ref_name, '-') }} draft: ${{ !contains(github.ref_name, '-') }}