cln/.github/workflows/release.yml
daywalker90 39b7f6dfbd
Some checks are pending
Continuous Integration / Pre-build checks (push) Waiting to run
Continuous Integration / Build compile-clang-sanitizers (push) Blocked by required conditions
Continuous Integration / Build compile-clang (push) Blocked by required conditions
Continuous Integration / Build compile-gcc (push) Blocked by required conditions
Continuous Integration / Build compile-gcc-O1 (push) Blocked by required conditions
Continuous Integration / Build compile-gcc-O3 (push) Blocked by required conditions
Continuous Integration / check-compiled-source (compile-gcc) (push) Blocked by required conditions
Continuous Integration / Run unit tests (push) Blocked by required conditions
Continuous Integration / Run unit tests-1 (push) Blocked by required conditions
Continuous Integration / Build 32-bit (size_t != 64-bit warnings) (push) Blocked by required conditions
Continuous Integration / Run fuzz regression tests (push) Blocked by required conditions
Continuous Integration / Check we can downgrade the node (push) Blocked by required conditions
Continuous Integration / Check we can downgrade the node-1 (push) Blocked by required conditions
Continuous Integration / Check we can downgrade the node-2 (push) Blocked by required conditions
Continuous Integration / First Integration Tests (1/6) (push) Blocked by required conditions
Continuous Integration / First Integration Tests (2/6) (push) Blocked by required conditions
Continuous Integration / First Integration Tests (3/6) (push) Blocked by required conditions
Continuous Integration / First Integration Tests (4/6) (push) Blocked by required conditions
Continuous Integration / First Integration Tests (5/6) (push) Blocked by required conditions
Continuous Integration / First Integration Tests (6/6) (push) Blocked by required conditions
Continuous Integration / Test CLN dual-fund Full Integration (push) Blocked by required conditions
Continuous Integration / Test CLN liquid Full Integration (push) Blocked by required conditions
Continuous Integration / Test CLN postgres Full Integration (push) Blocked by required conditions
Continuous Integration / Valgrind Test CLN (1/12) (push) Blocked by required conditions
Continuous Integration / Valgrind Test CLN (10/12) (push) Blocked by required conditions
Continuous Integration / Valgrind Test CLN (11/12) (push) Blocked by required conditions
Continuous Integration / Valgrind Test CLN (12/12) (push) Blocked by required conditions
Continuous Integration / Valgrind Test CLN (2/12) (push) Blocked by required conditions
Continuous Integration / Valgrind Test CLN (3/12) (push) Blocked by required conditions
Continuous Integration / Valgrind Test CLN (4/12) (push) Blocked by required conditions
Continuous Integration / Valgrind Test CLN (5/12) (push) Blocked by required conditions
Continuous Integration / Valgrind Test CLN (6/12) (push) Blocked by required conditions
Continuous Integration / Valgrind Test CLN (7/12) (push) Blocked by required conditions
Continuous Integration / Valgrind Test CLN (8/12) (push) Blocked by required conditions
Continuous Integration / Valgrind Test CLN (9/12) (push) Blocked by required conditions
Continuous Integration / ASan/UBSan (1/6) (push) Blocked by required conditions
Continuous Integration / ASan/UBSan (2/6) (push) Blocked by required conditions
Continuous Integration / ASan/UBSan (3/6) (push) Blocked by required conditions
Continuous Integration / ASan/UBSan (4/6) (push) Blocked by required conditions
Continuous Integration / ASan/UBSan (5/6) (push) Blocked by required conditions
Continuous Integration / ASan/UBSan (6/6) (push) Blocked by required conditions
Continuous Integration / Update examples in doc schemas (push) Blocked by required conditions
Continuous Integration / Test minimum supported BTC v25.0 with clang (push) Blocked by required conditions
Continuous Integration / CI completion (push) Blocked by required conditions
Release Rust 🦀 / release_rust (push) Waiting to run
CI: restructure release workflows
Binaries, docker images, and python packages are now separated into
build and publish flows. First everything gets built and if every build
step succeeds the publish step can continue.
Also fan out the docker build into a matrix to speed up the workflow.

Changelog-None
2026-07-30 13:24:36 +02:00

111 lines
3.3 KiB
YAML

---
# https://docs.corelightning.org/docs/release-checklist
name: "Release 🚀"
on:
push:
tags:
- 'v[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+[0-9a-z]+'
- 'v[0-9]+.[0-9]+.[0-9]+[0-9a-z]+'
workflow_dispatch:
inputs:
version:
description: 'Release version'
required: true
skip_validation:
description: Skip release validation for untagged commit testing
default: false
type: boolean
create_release:
description: Create a draft release
default: false
type: boolean
dh-repository-owner:
description: 'Dockerhub repository owner'
default: 'elementsproject'
platforms-to-build:
description: 'List of platforms to build'
default: 'linux/amd64,linux/arm64,linux/arm/v7'
push-latest:
description: 'Push the latest Docker tag'
type: boolean
default: false
dist-location:
description: 'PyPI distribution location'
type: choice
options:
- test
- prod
default: 'test'
jobs:
check-version:
name: Verify release tag
uses: ./.github/workflows/check-release-tag.yml
with:
version: ${{ github.event.inputs.version }}
skip_validation: ${{ github.event.inputs.skip_validation == 'true' }}
docker-build:
name: Docker build
needs: check-version
uses: ./.github/workflows/docker-build.yml
with:
version: ${{ needs.check-version.outputs.version }}
dh-repository-owner: ${{ github.event.inputs.dh-repository-owner || 'elementsproject' }}
platforms-to-build: ${{ github.event.inputs.platforms-to-build || 'linux/amd64,linux/arm64,linux/arm/v7' }}
secrets: inherit
pypi-build:
name: PyPI build
needs: check-version
uses: ./.github/workflows/pypi-build.yml
with:
version: ${{ needs.check-version.outputs.version }}
secrets: inherit
release-build:
name: Release binaries build
needs: check-version
uses: ./.github/workflows/release-build.yml
with:
version: ${{ needs.check-version.outputs.version }}
skip_validation: ${{ github.event.inputs.skip_validation == 'true' }}
secrets: inherit
gate:
name: All builds succeeded
needs: [docker-build, pypi-build, release-build]
runs-on: ubuntu-24.04
steps:
- run: echo "All three build paths succeeded — proceeding to publish."
docker-publish:
name: Docker publish
needs: [check-version, gate]
uses: ./.github/workflows/docker-publish.yml
with:
version: ${{ needs.check-version.outputs.version }}
dh-repository-owner: ${{ github.event.inputs.dh-repository-owner || 'elementsproject' }}
push-latest: ${{ github.event.inputs.push-latest }}
secrets: inherit
pypi-publish:
name: PyPI publish
needs: [check-version, gate]
uses: ./.github/workflows/pypi-publish.yml
with:
version: ${{ needs.check-version.outputs.version }}
dist-location: ${{ github.event.inputs.dist-location }}
secrets: inherit
release-publish:
name: Release sign + draft
needs: [check-version, gate]
uses: ./.github/workflows/release-publish.yml
with:
version: ${{ needs.check-version.outputs.version }}
create_release: ${{ github.event.inputs.create_release == 'true' }}
secrets: inherit