mirror of
https://github.com/srlabs/blue-merle.git
synced 2024-10-01 00:55:39 -04:00
64 lines
2.1 KiB
YAML
64 lines
2.1 KiB
YAML
|
name: CI
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
paths-ignore:
|
||
|
- 'README.md'
|
||
|
workflow_dispatch:
|
||
|
|
||
|
concurrency:
|
||
|
group: CI
|
||
|
cancel-in-progress: false
|
||
|
|
||
|
jobs:
|
||
|
build-packages:
|
||
|
name: Build Packages
|
||
|
runs-on: ubuntu-latest
|
||
|
strategy:
|
||
|
fail-fast: false
|
||
|
env:
|
||
|
owrt-package: blue-merle
|
||
|
SDK_URL: "https://downloads.openwrt.org/releases/23.05.0/targets/ath79/nand/openwrt-sdk-23.05.0-ath79-nand_gcc-12.3.0_musl.Linux-x86_64.tar.xz"
|
||
|
SDK_FILENAME: "openwrt-sdk-23.05.0-ath79-nand_gcc-12.3.0_musl.Linux-x86_64.tar.xz"
|
||
|
steps:
|
||
|
- uses: actions/checkout@v3
|
||
|
with:
|
||
|
ref: ${{ github.event_name == 'push' && github.ref || 'main' }}
|
||
|
- name: Get the SDK
|
||
|
run: |
|
||
|
mkdir sdk
|
||
|
cd sdk
|
||
|
wget "${SDK_URL}"
|
||
|
tar xf "${SDK_FILENAME}"
|
||
|
- name: Set up package dir
|
||
|
run: |
|
||
|
cd "sdk/${SDK_FILENAME%.tar.xz}"
|
||
|
mkdir package/${{ env.owrt-package }}
|
||
|
ln -s "${GITHUB_WORKSPACE}"/Makefile package/${{ env.owrt-package }}/
|
||
|
ln -s "${GITHUB_WORKSPACE}"/files package/${{ env.owrt-package }}/
|
||
|
- name: Update packages feed
|
||
|
run: |
|
||
|
cd "sdk/${SDK_FILENAME%.tar.xz}"
|
||
|
scripts/feeds update packages >/dev/null
|
||
|
- name: Set up OpenWrt config
|
||
|
run: |
|
||
|
cd "sdk/${SDK_FILENAME%.tar.xz}"
|
||
|
echo "CONFIG_SIGNED_PACKAGES=n" > .config
|
||
|
make defconfig
|
||
|
- name: Build package
|
||
|
run: |
|
||
|
cd "sdk/${SDK_FILENAME%.tar.xz}"
|
||
|
make -j$(nproc) V=s package/${{ env.owrt-package }}/compile
|
||
|
make -j1 V=s package/index
|
||
|
- name: Generate artifact name
|
||
|
id: generate-name
|
||
|
run: echo "artifact-name=${{ github.event.repository.name }}-${{ github.ref_name }}-${{ github.sha }}" >> $GITHUB_OUTPUT
|
||
|
- name: Prepare artifact
|
||
|
run: |
|
||
|
mkdir package-output
|
||
|
rsync -av sdk/"${SDK_FILENAME%.tar.xz}"/bin/packages/mips_24kc/base/"${{ env.owrt-package }}"*.ipk package-output/
|
||
|
- uses: actions/upload-artifact@v3
|
||
|
with:
|
||
|
name: ${{ steps.generate-name.outputs.artifact-name }}
|
||
|
path: package-output/
|