Skip to content

Build

Build #299

Workflow file for this run

name: Build
on: workflow_dispatch
jobs:
build:
name: Build firmware images
runs-on: ubuntu-24.04-arm
env:
OS: ubuntu-24.04-arm
TARGET: qualcommax
SUBTARGET: ipq807x
VERSION: "main"
defaults:
run:
working-directory: ${{ env.TARGET }}_${{ env.VERSION }}
permissions:
actions: write
contents: write
steps:
- name: Install packages
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
with:
packages: build-essential \
clang \
flex \
bison \
g++ \
gawk \
gcc-multilib \
g++-multilib \
gettext \
git \
libncurses5-dev \
libssl-dev \
python3-netifaces \
python3-pkg-resources \
python3-setuptools \
python3-socks \
python3-unidecode \
rsync \
swig \
unzip \
zlib1g-dev \
file \
wget
- name: Restore cache
id: cache-restore
uses: actions/cache/restore@v5
with:
path: ${{ env.TARGET }}_${{ env.VERSION }}
key: ${{ env.OS }}-${{ env.TARGET }}_${{ env.VERSION }}
- name: Checkout
uses: actions/checkout@v6
with:
path: ${{ env.TARGET }}_${{ env.VERSION }}
clean: false
- name: Get SHA
uses: benjlevesque/short-sha@main
- name: Update feeds
run: make package/symlinks
- name: Import config
run: mv .config_${{ env.TARGET }}_${{ env.SUBTARGET }}_${{ env.VERSION }} .config
- name: Update config
run: make defconfig
- name: Prepare build
run: make -j$(($(nproc)+1)) download prepare
- name: Save cache
if: github.ref_name == github.event.repository.default_branch
id: cache-save
uses: actions/cache/save@v5
with:
path: ${{ env.TARGET }}_${{ env.VERSION }}
key: ${{ env.OS }}-${{ env.TARGET }}_${{ env.VERSION }}
- name: Check dtb
run: make -j1 V=sc target/linux/dtb
- name: Build firmware images
run: make -j$(($(nproc)+1)) world
- name: Release
uses: ncipollo/release-action@v1
with:
commit: ${{ github.sha }}
tag: ${{ env.TARGET }}-${{ env.SUBTARGET }}-${{ env.VERSION }}-${{ env.SHA }}
artifacts: |
${{ env.TARGET }}_${{ env.VERSION }}/bin/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/openwrt-${{ env.TARGET }}-${{ env.SUBTARGET }}-*
makeLatest: true
body: "Branch: ${{ github.ref_name }}"