Skip to content

Commit

Permalink
Improve CI, hopefully
Browse files Browse the repository at this point in the history
  • Loading branch information
legoktm committed Apr 1, 2024
1 parent 5658525 commit e466358
Showing 1 changed file with 13 additions and 36 deletions.
49 changes: 13 additions & 36 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,18 @@ name: CI
on: [push, pull_request]

jobs:
vanilla:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- tiny-5.15
- tiny-6.6
# Build twice for comparison
build:
- one
- two
outputs:
artifact_id: ${{ steps.upload.outputs.artifact-id }}
steps:
Expand All @@ -26,57 +30,30 @@ jobs:
- uses: actions/upload-artifact@v4
id: upload
with:
name: build1
name: ${{ matrix.target }}-${{ matrix.build }}
path: build
if-no-files-found: error

vanilla2:
reproducible:
runs-on: ubuntu-latest
container: debian:bookworm
needs:
- build
strategy:
fail-fast: false
matrix:
target:
- tiny-5.15
- tiny-6.6
outputs:
artifact_id: ${{ steps.upload.outputs.artifact-id }}
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y make build-essential

- name: Build vanilla kernel
run: make ${{ matrix.target }}

- uses: actions/upload-artifact@v4
id: upload
with:
name: build2
path: build
if-no-files-found: error

reproducible:
runs-on: ubuntu-latest
container: debian:bookworm
needs:
- vanilla
- vanilla2
steps:
- name: Install dependencies
run: |
apt-get update && apt-get install --yes diffoscope-minimal python3-debian \
--no-install-recommends
- uses: actions/download-artifact@v4
with:
pattern: "*"
pattern: "${{ matrix.target }}*"
- name: diffoscope
run: |
find . -name '*.deb' -exec sha256sum {} \;
# TODO: Ideally we'd just be able to diff the .changes files and let diffoscope find
# all the individual debs, but the source packages are not identical. When they are,
for deb in `find build1/ -name '*.deb' -exec basename {} \;`; do
echo "Diffoscoping $deb"
diffoscope build1/$deb build2/$deb
done;
# We need to exclude .buildinfo because the `Build-Date` will be different
diffoscope ${{ matrix.target }}-one/*.changes ${{ matrix.target }}-two/*.changes --exclude '*.buildinfo'

0 comments on commit e466358

Please sign in to comment.