Files
clio/.github/workflows/release.yml
2026-08-27 13:00:49 +01:00

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, '-') }}