Skip to content

Commit 2c09213

Browse files
committed
build: Repro build matrix strategy or focal, jammy and noble.
1 parent 5caacd5 commit 2c09213

File tree

2 files changed

+24
-15
lines changed

2 files changed

+24
-15
lines changed

.github/workflows/repro.yml

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,37 +6,41 @@ on:
66
schedule:
77
- cron: "0 3 * * *"
88
jobs:
9-
ubuntu-noble:
10-
name: Ubuntu Noble Repro build
9+
ubuntu:
10+
name: "Ubuntu repro build: ${{ matrix.version }}"
1111
runs-on: ubuntu-22.04
12+
strategy:
13+
fail-fast: false # Let each build finish.
14+
matrix:
15+
version: ['focal', 'jammy', 'noble']
1216
steps:
1317
- name: Git checkout
1418
uses: actions/checkout@v2
1519

1620
- name: Build environment setup
1721
run: |
18-
echo "Building base image for noble"
19-
docker run --rm -v $(pwd):/build ubuntu:noble bash -c "apt-get update && apt-get install -y debootstrap && debootstrap noble /build/noble"
20-
tar -C noble -c . | docker import - noble
22+
echo "Building base image for ${{ matrix.version }}"
23+
sudo docker run --rm -v $(pwd):/build ubuntu:${{ matrix.version }} bash -c "apt-get update && apt-get install -y debootstrap && debootstrap ${{ matrix.version }} /build/${{ matrix.version }}"
24+
sudo tar -C ${{ matrix.version }} -c . | docker import - ${{ matrix.version }}
2125
2226
- name: Builder image setup
23-
run: docker build -t cl-repro-noble - < contrib/reprobuild/Dockerfile.noble
27+
run: docker build -t cl-repro-${{ matrix.version }} - < contrib/reprobuild/Dockerfile.${{ matrix.version }}
2428

25-
- name: Create release directory
26-
run: mkdir $GITHUB_WORKSPACE/release
27-
28-
- name: Build using the builder image and store Git state.
29+
- name: Build using the builder image and store Git state
2930
run: |
31+
# Create release directory.
32+
mkdir $GITHUB_WORKSPACE/release
33+
3034
# Perform the repro build.
31-
docker run --name cl-build -v $GITHUB_WORKSPACE:/repo -e FORCE_MTIME=$(date +%F) -t cl-repro-noble
35+
docker run --name cl-build -v $GITHUB_WORKSPACE:/repo -e FORCE_MTIME=$(date +%F) -t cl-repro-${{ matrix.version }}
3236
3337
# Commit the image and use it to inspect the Git tree state.
3438
docker commit cl-build cl-release
35-
docker run --rm -v $GITHUB_WORKSPACE:/repo -t cl-release git status > release/git-status.txt
36-
docker run --rm -v $GITHUB_WORKSPACE:/repo -t cl-release git diff > release/git-diff.txt
39+
docker run --rm -v $GITHUB_WORKSPACE:/repo -t cl-release git --no-pager status > release/git-status.txt
40+
docker run --rm -v $GITHUB_WORKSPACE:/repo -t cl-release git --no-pager diff > release/git-diff.txt
3741
38-
# Change permissions on the release files for access by build environment.
39-
docker run --rm -v $GITHUB_WORKSPACE:/repo -t cl-repro-noble chmod -R 777 /repo/release
42+
# Change permissions on the release files for access by the runner environment.
43+
sudo chown -R runner $GITHUB_WORKSPACE/release
4044
4145
- name: Assert clean release
4246
run: |

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ All notable changes to this project will be documented in this file.
33

44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
55

6+
## [Unreleased]
7+
8+
### Added
9+
10+
- build: Nightly CI/CD workflow for reproducible builds to check for modded release versions ([#7117])
611

712
## [24.08] - 2024-08-28: "Steel Backed-up Channels"
813

0 commit comments

Comments
 (0)