gh-action-sdk
gh-action-sdk copied to clipboard
GitHub CI action to build packages via SDK
OpenWrt GitHub Action SDK
GitHub CI action to build packages via SDK using official OpenWrt SDK Docker containers. This is primary used to test build OpenWrt repositories but can also be used for downstream projects maintaining their own package repositories.
Example usage
The following YAML code can be used to build all packages of a repository and
store created ipk
files as artifacts.
name: Test Build
on:
pull_request:
branches:
- main
jobs:
build:
name: ${{ matrix.arch }} build
runs-on: ubuntu-latest
strategy:
matrix:
arch:
- x86_64
- mips_24kc
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Build
uses: openwrt/gh-action-sdk@main
env:
ARCH: ${{ matrix.arch }}
- name: Store packages
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.arch}}-packages
path: bin/packages/${{ matrix.arch }}/packages/*.ipk
Environmental variables
The action reads a few env variables:
-
ARCH
determines the used OpenWrt SDK Docker container. E.g.x86_64
orx86_64-22.03.2
. -
ARTIFACTS_DIR
determines where built packages and build logs are saved. Defaults to the default working directory (GITHUB_WORKSPACE
). -
BUILD_LOG
stores build logs in./logs
. -
CONTAINER
can set other SDK containers thanopenwrt/sdk
. -
EXTRA_FEEDS
are added to thefeeds.conf
, where|
are replaced by white spaces. -
FEED_DIR
used in the createdfeeds.conf
for the current repo. Defaults to the default working directory (GITHUB_WORKSPACE
). -
FEEDNAME
used in the createdfeeds.conf
for the current repo. Defaults toaction
. -
IGNORE_ERRORS
can ignore failing packages builds. -
INDEX
makes the action build the package index. Default is 0. Set to 1 to enable. -
KEY_BUILD
can be a private Signify/usign
key to sign the packages feed. -
NO_DEFAULT_FEEDS
disable adding the default SDK feeds -
NO_REFRESH_CHECK
disable check if patches need a refresh. -
NO_SHFMT_CHECK
disable check if init files are formated -
PACKAGES
(Optional) specify the list of packages (space separated) to be built -
V
changes the build verbosity level.