mirror of
https://github.com/XRPLF/clio.git
synced 2026-09-03 17:16:52 +00:00
97 lines
2.9 KiB
YAML
97 lines
2.9 KiB
YAML
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:
|
|
release-info:
|
|
name: Determine release info
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
channel: ${{ steps.release_info.outputs.channel }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- id: release_info
|
|
uses: XRPLF/actions/release-info@7cc0e4a8d9d0b838f92c48d312856b190341bbba
|
|
|
|
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
|
|
|
|
publish_package:
|
|
name: Publish debian package
|
|
needs: [release-info, package]
|
|
uses: ./.github/workflows/reusable-publish-package.yml
|
|
with:
|
|
channel: ${{ needs.release-info.outputs.channel }}
|
|
secrets:
|
|
nexus_username: ${{ secrets.NEXUS_REMOTE_USERNAME }}
|
|
nexus_password: ${{ secrets.NEXUS_REMOTE_PASSWORD }}
|
|
|
|
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, '-') }}
|