Skip to content

Weimarnetz Firmware Build #263

Weimarnetz Firmware Build

Weimarnetz Firmware Build #263

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: Weimarnetz Firmware Build
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
workflow_dispatch:
inputs:
target:
type: choice
description: "Select a target"
options:
- ath79_generic
- mpc85xx_p1010
- ramips_mt7620
- ramips_mt7621
- ramips_mt76x8
- x86_generic
- x86_64
- ipq40xx_generic
required: true
push:
branches: [ 23.05.5 ]
paths:
- 'modules'
- 'Makefile'
- 'configs/**'
- 'embedded-files/**'
- 'patches/**'
- 'scripts/**'
pull_request:
branches: [ 23.05.5 ]
paths:
- 'modules'
- 'Makefile'
- 'configs/**'
- 'embedded-files/**'
- 'patches/**'
- 'scripts/**'
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
strategy:
matrix:
target: ${{ fromJSON(format('["{0}"]', inputs.target || '"ath79_generic","mpc85xx_p1010","ramips_mt7620","ramips_mt7621","ramips_mt76x8","x86_generic","x86_64","ipq40xx_generic"')) }}
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@v4
- name: cache
uses: actions/cache@v4
env:
cache-name: cache
with:
path: dl
key: ${{ runner.os }}-build-${{ env.cache-name }}
- 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 add-apt-repository -y universe
# TODO: default apt config doesn't load repositories. Check later if that's still a problem
sudo tee /etc/apt/sources.list <<EOF
deb http://archive.ubuntu.com/ubuntu noble main universe restricted multiverse
deb http://archive.ubuntu.com/ubuntu noble-updates main universe restricted multiverse
deb http://archive.ubuntu.com/ubuntu noble-security main universe restricted multiverse
EOF
sudo -E apt-get -qq update
sudo -E apt install build-essential clang flex bison g++ gawk gcc-multilib g++-multilib gettext git libncurses5-dev libssl-dev python3-setuptools rsync swig unzip zlib1g-dev file wget
sudo -E apt-get -qq autoremove --purge
sudo -E apt-get -qq clean
# Build firmware for target
- name: Build ${{ matrix.target }} target
id: default-build
continue-on-error: true
run: |
make TARGET=${{ matrix.target }} -j$(nproc)
- name: Build ${{ matrix.target }} target in debug mode
if: steps.default-build == 'failure'
run: |
cd openwrt
make -j1 V=s
- name: upload
if: github.event_name == 'push'
env:
SSH_KEY: ${{ secrets.BUILDBOT_PRIVATE_KEY }}
run: |
eval "$(ssh-agent -s)"
ssh-add - <<< "${SSH_KEY}"
rsync -avz '-e ssh -o StrictHostKeyChecking=no -p22223' openwrt-base/ [email protected]:/openwrt-base