Skip to content

docs: v0.6.0_beta

docs: v0.6.0_beta #14

name: LuCI Theme Aurora Build & Release
on:
push:
tags:
- "v*"
workflow_dispatch:
permissions:
contents: write
jobs:
build:
name: build luci-theme-aurora ${{ matrix.target.type }}
runs-on: ubuntu-latest
env:
TMP: tmp
THEME: luci-theme-aurora
strategy:
matrix:
target:
- type: ipk
arch: x86_64
cpu_dir: x86
sub_dir: 64
sdk_url: https://downloads.openwrt.org/releases/24.10.3
sdk_cpu: x86-64
sdk_dir: ipk_SDK
- type: apk
arch: x86_64
cpu_dir: x86
sub_dir: 64
sdk_url: https://downloads.openwrt.org/snapshots
sdk_cpu: x86-64
sdk_dir: apk_SDK
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Install build deps
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends build-essential curl ca-certificates xz-utils zstd git python3 rsync
- name: Download SDK
run: |
mkdir -p "$TMP"
INDEX_URL="${{ matrix.target.sdk_url }}/targets/${{ matrix.target.cpu_dir }}/${{ matrix.target.sub_dir }}/"
SDK_TAR=$(curl -s "$INDEX_URL" | grep -oE "openwrt-sdk[^\"]*${{ matrix.target.sdk_cpu }}[^\"]*\.tar\.(zst|xz)" | head -n 1)
curl -SLk --connect-timeout 30 --retry 2 "$INDEX_URL/$SDK_TAR" -o "$TMP/$SDK_TAR"
cd "$TMP"
if echo "$SDK_TAR" | grep -q \.zst$; then
zstd -d "$SDK_TAR" -o SDK.tar
tar xf SDK.tar
else
tar xf "$SDK_TAR"
fi
SDK_DIR=$(ls -d openwrt-sdk-* | head -n 1)
mv "$SDK_DIR" "${{ matrix.target.sdk_dir }}"
- name: Copy ${{ env.THEME }} source
run: |
mkdir -p "$TMP"/${{ matrix.target.sdk_dir }}/package/${{ env.THEME }}
rsync -a --delete ./ "$TMP"/${{ matrix.target.sdk_dir }}/package/${{ env.THEME }}/ \
--exclude .git --exclude .github --exclude .vscode --exclude .dev --exclude "$TMP"
- name: Build ${{ env.THEME }}
run: |
cd "$TMP"/${{ matrix.target.sdk_dir }}
sed -E 's|https?://git\.openwrt\.org/|https://github.com/|g' feeds.conf.default > feeds.conf
printf '=== %s ===\n%s\n=== %s ===\n%s\n' \
feeds.conf.default "$(cat feeds.conf.default)" \
feeds.conf "$(cat feeds.conf)"
./scripts/feeds update -f base luci
./scripts/feeds install -p luci-base
make defconfig
make package/${{ env.THEME }}/compile -j$(nproc) V=s
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.THEME }}-${{ github.ref_name }}-${{ matrix.target.type }}
path: |
${{ env.TMP }}/${{ matrix.target.sdk_dir }}/bin/packages/${{ matrix.target.arch }}/base/*${{ env.THEME }}*.[ai]pk
- name: Release ${{ env.THEME }}
uses: softprops/action-gh-release@v2
if: github.ref_type == 'tag'
with:
name: ${{ env.THEME }}-${{ github.ref_name }}
body_path: ${{ github.workspace }}/.dev/docs/changelog/${{ github.ref_name }}.md
draft: false
prerelease: false
files: |
${{ env.TMP }}/${{ matrix.target.sdk_dir }}/bin/packages/${{ matrix.target.arch }}/base/*${{ env.THEME }}*.[ai]pk