forked from ElementsProject/lightning
-
Notifications
You must be signed in to change notification settings - Fork 0
61 lines (55 loc) · 1.72 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
---
# https://docs.corelightning.org/docs/release-checklist
name: "Release 🚀"
on:
push:
# TODO: Remove after testing.
branches:
- 7776-release-builds-automation
tags:
- 'v[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+[0-9a-z]+'
workflow_dispatch:
jobs:
ubuntu-noble:
name: Release
runs-on: ubuntu-24.04
strategy:
fail-fast: false # Let each build finish.
matrix:
target:
- 'bin-Fedora-28-amd64'
- 'bin-Ubuntu-focal'
- 'bin-Ubuntu-jammy'
- 'bin-Ubuntu-noble'
steps:
- name: Git checkout
uses: actions/checkout@v4
with:
fetch-tags: true
- name: Validate release
run: tools/check-release.sh
# tools/build-release.sh requires lowdown
- name: Prepare base environment
run: |
sudo apt-get install -y lowdown
./configure
- name: Build environment setup
run: |
distribution="${${{ matrix.target }}#bin-Ubuntu-}"
echo "Building base image for ${distribution}"
sudo docker run --rm -v $(pwd):/build ubuntu:${distribution} bash -c "\
apt-get update && \
apt-get install -y debootstrap && \
debootstrap ${distribution} /build/${distribution}"
sudo tar -C ${distribution} -c . | docker import - ${distribution}
if: contains(matrix.target, 'Ubuntu')
- name: Build release
# TODO: Remove forced version after testing.
run: tools/build-release.sh ${{ matrix.target }}
- name: Upload release artifacts
uses: actions/upload-artifact@v4
with:
path: release/
if-no-files-found: error