Skip to content

0.0.6

0.0.6 #6

Workflow file for this run

name: Build Release Packages
on:
release:
types: [published]
permissions:
contents: write
jobs:
build:
name: Build ${{ matrix.target }}
runs-on: ubuntu-latest
strategy:
matrix:
include:
- target: x86/64
arch: x86_64
sdk_name: openwrt-sdk-24.10.5-x86-64_gcc-13.3.0_musl.Linux-x86_64
- target: ramips/mt7621
arch: mipsel_24kc
sdk_name: openwrt-sdk-24.10.5-ramips-mt7621_gcc-13.3.0_musl.Linux-x86_64
- target: ath79/generic
arch: mips_24kc
sdk_name: openwrt-sdk-24.10.5-ath79-generic_gcc-13.3.0_musl.Linux-x86_64
- target: mediatek/filogic
arch: aarch64_cortex-a53
sdk_name: openwrt-sdk-24.10.5-mediatek-filogic_gcc-13.3.0_musl.Linux-x86_64
- target: bcm27xx/bcm2711
arch: aarch64_cortex-a72
sdk_name: openwrt-sdk-24.10.5-bcm27xx-bcm2711_gcc-13.3.0_musl.Linux-x86_64
- target: ipq40xx/generic
arch: arm_cortex-a7_neon-vfpv4
sdk_name: openwrt-sdk-24.10.5-ipq40xx-generic_gcc-13.3.0_musl_eabi.Linux-x86_64
- target: mvebu/cortexa9
arch: arm_cortex-a9_vfpv3-d16
sdk_name: openwrt-sdk-24.10.5-mvebu-cortexa9_gcc-13.3.0_musl_eabi.Linux-x86_64
- target: ipq806x/generic
arch: arm_cortex-a15_neon-vfpv4
sdk_name: openwrt-sdk-24.10.5-ipq806x-generic_gcc-13.3.0_musl_eabi.Linux-x86_64
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Install Node dependencies
run: pnpm install --frozen-lockfile
- name: Build minified assets
run: pnpm run build
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y zstd
- name: Download SDK
run: |
SDK_URL="https://downloads.openwrt.org/releases/24.10.5/targets/${{ matrix.target }}/${{ matrix.sdk_name }}.tar.zst"
echo "Downloading SDK from: $SDK_URL"
curl -L -o sdk.tar.zst "$SDK_URL"
- name: Extract SDK
run: |
tar --use-compress-program=unzstd -xf sdk.tar.zst
- name: Copy package files
run: |
VERSION=${GITHUB_REF#refs/tags/}
mkdir -p ${{ matrix.sdk_name }}/package/moci
sed "s/PKG_VERSION:=.*/PKG_VERSION:=$VERSION/" Makefile > ${{ matrix.sdk_name }}/package/moci/Makefile
cp -r dist ${{ matrix.sdk_name }}/package/moci/
cp rpcd-acl.json ${{ matrix.sdk_name }}/package/moci/
cp -r files ${{ matrix.sdk_name }}/package/moci/
- name: Update feeds
working-directory: ${{ matrix.sdk_name }}
run: |
./scripts/feeds update -a
./scripts/feeds install -a
- name: Configure SDK
working-directory: ${{ matrix.sdk_name }}
run: |
make defconfig
- name: Build package
working-directory: ${{ matrix.sdk_name }}
run: |
make package/moci/compile V=s
- name: Find package
id: find_package
working-directory: ${{ matrix.sdk_name }}
run: |
IPK_FILE=$(find bin/packages -name "moci_*.ipk" | head -n 1)
if [ -z "$IPK_FILE" ]; then
echo "Error: Package not found!"
exit 1
fi
echo "package_path=$IPK_FILE" >> $GITHUB_OUTPUT
VERSION=${GITHUB_REF#refs/tags/}
ARCH_SUFFIX="${{ matrix.arch }}"
NEW_NAME="moci_${VERSION}-r1_${ARCH_SUFFIX}.ipk"
echo "package_name=$NEW_NAME" >> $GITHUB_OUTPUT
- name: Rename package
working-directory: ${{ matrix.sdk_name }}
run: |
mv ${{ steps.find_package.outputs.package_path }} /tmp/${{ steps.find_package.outputs.package_name }}
- name: Upload to release
uses: softprops/action-gh-release@v2
with:
files: /tmp/${{ steps.find_package.outputs.package_name }}