Skip to content

Parametrize the mode #67

Parametrize the mode

Parametrize the mode #67

Workflow file for this run

name: Build deb package
on: [push]
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download apt-get dependencies
run: |
sudo env DEBIAN_FRONTEND=noninteractive apt-get -y purge unattended-upgrades
sudo env DEBIAN_FRONTEND=noninteractive apt-get -y update
sudo env DEBIAN_FRONTEND=noninteractive apt-get -y install git fakeroot \
libelf-dev libssl-dev flex bison coreutils build-essential \
xz-utils devscripts initramfs-tools wget linux-headers-5.15.0-60-generic
- name: Kernel config
run: |
cp /usr/src/linux-headers-5.15.0-60-generic/.config .
scripts/config --disable DEBUG_INFO \
--set-str SYSTEM_TRUSTED_KEYS "" \
--set-str CONFIG_SYSTEM_REVOCATION_KEYS "" \
--set-val CONFIG_FRAME_WARN 0 \
--module CONFIG_TCP_CONG_PRAGUE \
--module CONFIG_TCP_CONG_BBR \
--module CONFIG_TCP_CONG_BBR2 \
--module CONFIG_TCP_CONG_DCTCP \
--module CONFIG_NET_IPIP \
--module CONFIG_NET_CLS_U32 \
--module CONFIG_NET_SCH_DUALPI2 \
--module CONFIG_NET_SCH_PIE \
--module CONFIG_NET_SCH_FQ \
--module CONFIG_NET_SCH_FQ_CODEL \
--module CONFIG_NET_SCH_CODEL \
--module CONFIG_NET_SCH_RED \
--module CONFIG_NET_SCH_CAKE \
--module CONFIG_NET_SCH_HTB \
--module CONFIG_NET_SCH_NETEM \
--module CONFIG_NET_SCH_INGRESS \
--module CONFIG_NET_ACT_MIRRED \
--module CONFIG_IFB \
--module CONFIG_VETH \
--module CONFIG_BRIDGE \
--module CONFIG_INET_DIAG
make olddefconfig
- name: make-deb
run: make -j$(nproc) bindeb-pkg \
LOCALVERSION=-$(git rev-parse --short HEAD)-prague-${GITHUB_RUN_NUMBER} \
KDEB_PKGVERSION=1
- name: Move artifacts
run: |
mkdir -p debian_build
mv -t debian_build ../linux-*.deb
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: prague-kernel
path: debian_build
release:
name: Release build artifacts for the branch
runs-on: ubuntu-20.04
needs: build
permissions: write-all
if: ${{ github.ref == 'refs/heads/testing' || github.ref == 'refs/heads/ratebase'}}
steps:
- name: Get artifact
uses: actions/download-artifact@v3
with:
name: prague-kernel
- name: Include iproute2 into the pre-release archive
run: |
wget https://github.com/L4STeam/iproute2/releases/download/master-build/iproute2-l4s.zip
unzip iproute2-l4s
mv -t . iproute2-l4s/*.deb
- name: Extract branch name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch
- name: Zip artifacts
run: |
mkdir debian_build
mv *.deb debian_build
zip -r l4s-${{ steps.extract_branch.outputs.branch }}.zip debian_build
- name: Release tip build
uses: pyTooling/Actions/releaser@main
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ steps.extract_branch.outputs.branch }}-build
files: |
l4s-${{ steps.extract_branch.outputs.branch }}.zip