Skip to content

build images for 23.05.0.rc3 #192

build images for 23.05.0.rc3

build images for 23.05.0.rc3 #192

# This is a basic workflow to help you get started with Actions
name: Weimarnetz Firmware Assembly
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
workflow_dispatch:
push:
branches: [ brauhaus-19.07 ]
paths:
- 'assemble/**'
- 'build/**'
- 'net/**'
- 'utils/**'
- '.github/**'
pull_request:
branches: [ brauhaus-19.07 ]
paths:
- 'assemble/**'
- 'build/**'
- 'net/**'
- 'utils/**'
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
compile_packages:
strategy:
matrix:
target: [ath79_generic, ath79_generic-tight, ath79_tiny, mpc85xx_p1010, ramips_mt7620, ramips_mt7621, ramips_mt76x8, x86_generic, x86_64, ipq40xx_generic]
include:
- openwrt: 22.03.5
- target: x86_64
openwrt: 21.02.7
- target: mpc85xx_p1010
openwrt: 21.02.7
fail-fast: false
runs-on: ubuntu-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- run: |
git fetch --prune --unshallow
- name: Initialization environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo rm -rf /etc/apt/sources.list.d/* /usr/share/dotnet /usr/local/lib/android /opt/ghc
sudo -E apt-get -qq update
sudo -E apt-get -qq install bash build-essential curl flex gawk gettext git libncurses5-dev libssl-dev libxml-perl openssh-server python2 qemu-utils quilt rsync subversion sudo unzip wget zlib1g-dev
sudo -E apt-get -qq autoremove --purge
sudo -E apt-get -qq clean
- name: Build po2lmo
run: |
git clone https://github.com/weimarnetz/po2lmo
cd po2lmo
make
sudo make install
- name: compile packages for target ${{ matrix.target }}
env:
PACKAGE_SIGNING_KEY: ${{ secrets.PACKAGE_SIGNING_PRIVATE_KEY }}
run: |
cd assemble
echo "$PACKAGE_SIGNING_KEY" > keys/key-build
./compile_packages.sh -t ${{ matrix.target }} -o ${{ matrix.openwrt }}
- name: upload packages directory
if: github.event_name == 'push'
env:
SSH_KEY: ${{ secrets.BUILDBOT_PRIVATE_KEY }}
run: |
eval "$(ssh-agent -s)"
ssh-add - <<< "${SSH_KEY}"
version="$(git describe --always --dirty --tags)"
cd assemble
if [ -d "packages_weimar/" ]; then
target="$(echo ${{ matrix.target }}|tr '_' /)"
mkdir -p packages_weimar/packages/$target
find ./packages_weimar -maxdepth 1 -type f -exec mv {} packages_weimar/packages/$target \;
rsync -avz --delete --relative '-e ssh -o StrictHostKeyChecking=no -p22223' packages_weimar/packages/./$target/ [email protected]:/brauhaus/packages/
fi
assemble:
needs: compile_packages
strategy:
matrix:
target: [ath79_generic, ath79_generic-tight, ath79_tiny, mpc85xx_p1010, ramips_mt7620, ramips_mt7621, ramips_mt76x8, x86_generic, x86_64, ipq40xx_generic]
openwrt: [21.02.7, 22.03.5, 23.05.0.rc3]
exclude:
- target: x86_64
openwrt: 22.03.5
- target: mpc85xx_p1010
openwrt: 22.03.5
- target: x86_64
openwrt: 23.05.0.rc3
- target: mpc85xx_p1010
openwrt: 23.05.0.rc3
fail-fast: false
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- run: |
git fetch --prune --unshallow
- name: Initialization environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo rm -rf /etc/apt/sources.list.d/* /usr/share/dotnet /usr/local/lib/android /opt/ghc
sudo -E apt-get -qq update
sudo -E apt-get -qq install bash build-essential curl flex gawk gettext git libncurses5-dev libssl-dev libxml-perl openssh-server python2 qemu-utils quilt rsync subversion sudo unzip wget zlib1g-dev
sudo -E apt-get -qq autoremove --purge
sudo -E apt-get -qq clean
# Build firmware for ar71xx target
- name: Assemble OpenWrt ${{ matrix.openwrt }} for target ${{ matrix.target }}
run: |
cd assemble
./configure_imagebuilder.sh -t ${{ matrix.target }} -o ${{ matrix.openwrt }}
./assemble_firmware.sh -t ${{ matrix.target }} -i "ib/" -u weimarnetz -o ${{ matrix.openwrt }} -e "EMBEDDED_FILES/"
- name: upload
if: github.event_name == 'push'
env:
SSH_KEY: ${{ secrets.BUILDBOT_PRIVATE_KEY }}
run: |
eval "$(ssh-agent -s)"
ssh-add - <<< "${SSH_KEY}"
cd assemble
if [ -d "firmwares/" ]; then
rsync -avz '-e ssh -o StrictHostKeyChecking=no -p22223' firmwares/ [email protected]:/brauhaus
fi