Skip to content

Commit eb307f2

Browse files
committed
ci: debos: Switch to local APT repository
Create a local APT repository during debos builds and use it to test mainline kernels. Signed-off-by: Loïc Minier <[email protected]>
1 parent b31a177 commit eb307f2

File tree

2 files changed

+30
-19
lines changed

2 files changed

+30
-19
lines changed

.github/workflows/debos.yml

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -54,39 +54,49 @@ jobs:
5454
with:
5555
fetch-depth: 0
5656

57-
- name: Copy Linux deb and U-Boot for RB1 from fileserver space for downloads
57+
# copy U-Boot RB1 binary
58+
- name: Copy U-Boot for RB1 from fileserver space for downloads
5859
run: |
5960
set -ux
60-
dir="/fileserver-downloads/qcom-deb-images"
61-
if [ "${{ inputs.mainline_kernel }}" = true ]; then
62-
mkdir -v debos-recipes/local-debs
63-
# copy linux-image but not the -dbg e.g.
64-
# linux-image-6.15.0-..._6.15.0...-1_arm64.deb but not
65-
# linux-image-6.15.0-...-dbg_6.15.0...-1_arm64.deb
66-
find "${dir}/linux-deb-latest/" \
67-
-name linux-image\*.deb \
68-
-not -name linux-image\*-dbg_\*.deb \
69-
-exec cp -av '{}' debos-recipes/local-debs/ \;
70-
fi
71-
# copy U-Boot RB1 binary
72-
cp -av "${dir}/u-boot-rb1-latest/rb1-boot.img" .
61+
cp -av "/fileserver-downloads/qcom-deb-images/u-boot-rb1-latest/rb1-boot.img" .
7362
7463
# mtools is needed for the flash recipe
7564
- name: Install debos and dependencies of the recipes
7665
run: apt -y install debos mtools
7766

78-
- name: Build rootfs with debos
67+
- name: Setup local APT repo for kernel deb
7968
run: |
8069
set -ux
81-
localdebs=""
82-
if [ -d debos-recipes/local-debs ]; then
83-
localdebs="-t localdebs:local-debs/"
70+
71+
fileserver_downloads="/fileserver-downloads/qcom-deb-images"
72+
73+
# create a temporary APT repository
74+
mkdir -v local-apt-repo
75+
if [ "${{ inputs.mainline_kernel }}" = true ]; then
76+
mkdir -v local-apt-repo/linux-deb-latest
77+
# get the kernel deb from the fileserver space for downloads
78+
cp -av "${fileserver_downloads}"/*.deb \
79+
local-apt-repo/linux-deb-latest
8480
fi
81+
# create a minimal APT configuration
82+
mkdir -v local-apt-repo/conf
83+
echo "APT::FTPArchive::Release::Codename \"trixie\";" \
84+
>local-apt-repo/conf/releases
85+
dpkg-scanpackages local-apt-repo /dev/null |
86+
gzip -9c >local-apt-repo/Packages.gz
87+
apt-ftparchive \
88+
-c local-apt-repo/conf/releases \
89+
release debos-recipes/local-apt-repo \
90+
>local-apt-repo/Release
91+
92+
- name: Build rootfs with debos
93+
run: |
94+
set -ux
8595
debos \
8696
-t overlays:'${{ inputs.overlays }}' \
8797
-t experimentalkernel:true \
8898
-t xfcedesktop:true \
89-
${localdebs} \
99+
-t aptlocalrepo:${PWD}/local-apt-repo \
90100
-t kernelpackage:'${{ inputs.kernelpackage }}' \
91101
--print-recipe \
92102
debos-recipes/qualcomm-linux-debian-rootfs.yaml

.github/workflows/linux.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ jobs:
100100
uses: ./.github/workflows/debos.yml
101101
with:
102102
mainline_kernel: true
103+
kernelpackage: linux-image-6.17.0-rc3
103104

104105
test-mainline-linux:
105106
uses: ./.github/workflows/test.yml

0 commit comments

Comments
 (0)