mirror of
https://github.com/outbackdingo/openwrt-builder.git
synced 2026-01-27 10:19:59 +00:00
Add bpi-r4 GH action with mt7996 firmware from mediatek feed
This commit is contained in:
138
.github/workflows/bpi-r4-main_router-6-12.yaml
vendored
Normal file
138
.github/workflows/bpi-r4-main_router-6-12.yaml
vendored
Normal file
@@ -0,0 +1,138 @@
|
||||
---
|
||||
name: BPI-R4 + main_router packages based on DangoWRT 6.12 branch
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
REMOTE_REPOSITORY: danpawlik/openwrt
|
||||
# REMOTE_BRANCH: main
|
||||
REMOTE_BRANCH: mediatek-6.12
|
||||
RELEASE_PREFIX: Mediatek_mt7988a_bpi-r4
|
||||
|
||||
jobs:
|
||||
check_commits:
|
||||
name: Check Commits
|
||||
runs-on: ubuntu-24.04
|
||||
outputs:
|
||||
latest_commit_sha: ${{ steps.get_sha.outputs.latest_commit_sha }}
|
||||
steps:
|
||||
- name: Checkout remote repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ env.REMOTE_REPOSITORY }}
|
||||
ref: ${{ env.REMOTE_BRANCH }}
|
||||
|
||||
- name: Get the latest commit SHA
|
||||
id: get_sha
|
||||
run: |
|
||||
echo "latest_commit_sha=$(git rev-parse HEAD)" >> $GITHUB_ENV
|
||||
echo "latest_commit_sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
|
||||
|
||||
build:
|
||||
name: Build OpenWRT for BPI-R4 with BE14 and main-router packages
|
||||
needs: [check_commits]
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y \
|
||||
build-essential clang flex bison g++ gawk \
|
||||
gcc-multilib g++-multilib gettext git libncurses5-dev libssl-dev \
|
||||
python3-setuptools rsync swig unzip zlib1g-dev file wget curl zstd \
|
||||
git
|
||||
sudo apt full-upgrade -y
|
||||
|
||||
- name: Checkout remote repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ env.REMOTE_REPOSITORY }}
|
||||
ref: ${{ env.REMOTE_BRANCH }}
|
||||
|
||||
- name: Update and install feeds
|
||||
run: |
|
||||
./scripts/feeds update -a
|
||||
./scripts/feeds install -a
|
||||
|
||||
- name: Configure firmware image
|
||||
run: |
|
||||
curl -SL https://raw.githubusercontent.com/danpawlik/openwrt-builder/master/configs/mediatek/mt7988a/bpi-r4 > .config
|
||||
curl -SL https://raw.githubusercontent.com/danpawlik/openwrt-builder/master/configs/common/main-router >> .config
|
||||
curl -SL https://raw.githubusercontent.com/danpawlik/openwrt-builder/master/configs/common/snapshot >> .config
|
||||
|
||||
# - name: Enable openssl
|
||||
# run: |
|
||||
# sed -i '/CONFIG_PACKAGE_wpad-mbedtls=y/d' .config
|
||||
# curl -SL https://raw.githubusercontent.com/danpawlik/openwrt-builder/master/configs/common/openssl >> .config
|
||||
|
||||
- name: Enable wolfssl
|
||||
run: |
|
||||
sed -i '/CONFIG_PACKAGE_wpad-mbedtls=y/d' .config
|
||||
curl -SL https://raw.githubusercontent.com/danpawlik/openwrt-builder/master/configs/common/wolfssl >> .config
|
||||
|
||||
- name: Add librespeed-go
|
||||
run: |
|
||||
echo "CONFIG_PACKAGE_librespeed-go=y" >> .config
|
||||
|
||||
- name: Run defconfig
|
||||
run: |
|
||||
make defconfig
|
||||
|
||||
- name: Remove packages that are marked as modules
|
||||
run: |
|
||||
grep "=m" .config | grep -v 'CONFIG_PACKAGE_libustream-mbedtls=m' | while read -r line; do module=$(echo "$line" | cut -f1 -d'='); sed -i "s/^$line$/# $module is not set/" .config; done
|
||||
|
||||
- name: Build the firmware image
|
||||
run: make -j $(nproc) defconfig download world
|
||||
|
||||
- name: Package output
|
||||
run: tar -cvf bpi_r4-images.tar bin/targets/mediatek/filogic
|
||||
|
||||
- name: Add config file
|
||||
run: cp .config bin/targets/mediatek/filogic/config-full
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: bpi_r4-images
|
||||
path: bpi_r4-images.tar
|
||||
|
||||
release:
|
||||
name: Create release
|
||||
needs: [build, check_commits]
|
||||
if: needs.build.result == 'success'
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: bpi_r4-images
|
||||
|
||||
- name: Extract artifacts
|
||||
run: tar xf bpi_r4-images.tar
|
||||
|
||||
- name: Get current date
|
||||
run: echo "RELEASE_DATE=$(date +%F)" >> $GITHUB_ENV
|
||||
|
||||
- name: Create release
|
||||
uses: softprops/action-gh-release@master
|
||||
with:
|
||||
files: bin/targets/mediatek/filogic/*
|
||||
tag_name: ${{ env.RELEASE_PREFIX }}-${{ env.REMOTE_BRANCH }}-${{ env.RELEASE_DATE }}
|
||||
name: OpenWRT BPI-R4 + main_router packages based on kernel 6.12 - ${{ env.REMOTE_BRANCH }} - ${{ env.RELEASE_DATE }}
|
||||
body: |
|
||||
Thanks to DangoWRT, we can test builds based on kernel 6.12.
|
||||
|
||||
Updated prebuilt images for ${{ env.RELEASE_DATE }} with BE14 and main_router packages with BE14 EEPROM patch.
|
||||
Build Commit: ${{ needs.check_commits.outputs.latest_commit_sha }}
|
||||
|
||||
Also include newest firmware from Mediatek Feed.
|
||||
|
||||
- name: Clean up old releases
|
||||
uses: dev-drprasad/delete-older-releases@master
|
||||
with:
|
||||
keep_latest: 5
|
||||
delete_tags: false
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
Reference in New Issue
Block a user