mirror of
https://github.com/XRPLF/clio.git
synced 2026-09-27 15:38:04 +00:00
Note: some files are taken exactly as they are in rippled, so changing something here wouldn't be great (because they will drift)
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-060957e" }'
|
|
|
|
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-060957e" }'
|
|
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, '-') }}
|