Skip to content

Commit 474ddc5

Browse files
committed
use diffscope to compare stage2 builds
1 parent a09d499 commit 474ddc5

File tree

1 file changed

+35
-9
lines changed

1 file changed

+35
-9
lines changed

.github/workflows/repro_check.yml

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
push:
55
branches:
66
- master
7-
- reproducible
87
pull_request:
98
branches:
109
- master
@@ -40,11 +39,11 @@ jobs:
4039
cd ../buildA
4140
SOURCE_DIR=$(dirname $(find . -maxdepth 2 -name x.py))
4241
$SOURCE_DIR/configure --set rust.channel=nightly
43-
$SOURCE_DIR/x.py build --stage 1 -j$(($(nproc)*2/3))
42+
$SOURCE_DIR/x.py build --stage 2 -j$(($(nproc)*2/3))
4443
rm -rf $SOURCE_DIR
45-
STAGE1_DIR=`find build -name stage1`
44+
STAGE1_DIR=`find build -name stage2`
4645
cp -r "$STAGE1_DIR" .
47-
echo "Contents stage 1 dir : `ls stage1`"
46+
echo "Contents stage 2 dir : `ls stage2`"
4847
rm -rf build
4948
5049
- name: Build and store binaries from source 2
@@ -53,13 +52,17 @@ jobs:
5352
echo "Repo storage available: `df -h .`"
5453
SOURCE_DIR=$(dirname $(find . -maxdepth 2 -name x.py))
5554
$SOURCE_DIR/configure --set rust.channel=nightly
56-
$SOURCE_DIR/x.py build --stage 1 -j$(($(nproc)*2/3))
55+
$SOURCE_DIR/x.py build --stage 2 -j$(($(nproc)*2/3))
5756
rm -rf $SOURCE_DIR
58-
STAGE1_DIR=`find build -name stage1`
57+
STAGE1_DIR=`find build -name stage2`
5958
cp -r "$STAGE1_DIR" .
60-
echo "Contents stage 1 dir : `ls stage1`"
59+
echo "Contents stage 2 dir : `ls stage2`"
6160
rm -rf build
62-
cd ..
61+
62+
- name: Install diffoscope
63+
run: |
64+
sudo apt-get update
65+
sudo apt-get install -y diffoscope
6366
6467
- name: Compare builds using git diff
6568
run: |
@@ -73,4 +76,27 @@ jobs:
7376
fi
7477
7578
# Perform a diff between the two builds
76-
diff -r buildA/stage1 buildA_extended/stage1 || echo "Differences found!"
79+
diffoscope buildA/stage2 buildA_extended/stage2 > diffoscope_output.txt || echo "Differences found!"
80+
81+
- name: Upload diffoscope output
82+
uses: actions/upload-artifact@v4
83+
with:
84+
name: diffoscope-report
85+
path: diffoscope_output.txt
86+
87+
- name: Archive buildA and buildA_extended
88+
run: |
89+
tar -czf buildA.tar.gz buildA
90+
tar -czf buildA_extended.tar.gz buildA_extended
91+
92+
- name: Upload buildA artifact
93+
uses: actions/upload-artifact@v4
94+
with:
95+
name: buildA
96+
path: buildA.tar.gz
97+
98+
- name: Upload buildA_extended artifact
99+
uses: actions/upload-artifact@v4
100+
with:
101+
name: buildA_extended
102+
path: buildA_extended.tar.gz

0 commit comments

Comments
 (0)