Skip to content

Build GL-MT2500 IPK New #155

Build GL-MT2500 IPK New

Build GL-MT2500 IPK New #155

Workflow file for this run

name: Build GL-MT2500 IPK New
on:
workflow_dispatch:
inputs:
pkgname:
type: choice
required: true
default: "passwall_packages"
options:
- ALLAPP
- openclash
- passwall
- passwall2
- passwall_packages
- luci-app-mosdns
- luci-theme-argon
- luci-app-adguardhome
- luci-app-netspeedtest
- luci-app-cloudflarespeedtest
- luci-app-alist
- NetSpeedTest
- smartdns
packages:
required: false
type: boolean
default: true
artifact:
required: false
type: boolean
default: false
UseCache:
type: choice
required: true
default: "hanwckf"
options:
- mt
- hanwckf
jobs:
build_package:
name: ${{ inputs.pkgname }} build
permissions:
actions: write # to cancel/stop running workflows (styfle/cancel-workflow-action)
contents: write # to create release tags (cycjimmy/semantic-release-action)
runs-on: ubuntu-20.04
steps:
- name: Initialization environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
docker rmi $(docker images -q)
sudo -E apt -yqq update
sudo -E apt -yqq purge $(sed -n "1{s/\r$//g;p;q}" $GITHUB_WORKSPACE/Depends.txt)
sudo -E apt -yqq full-upgrade
sudo -E apt -yqq install $(sed -n "2{s/\r$//g;p;q}" $GITHUB_WORKSPACE/Depends.txt)
sudo -E apt -yqq autoremove --purge
sudo -E apt -yqq autoclean
sudo -E apt -yqq clean
sudo -E systemctl daemon-reload
sudo -E timedatectl set-timezone "Asia/Shanghai"
sudo -E rm -rf $(sed -n "3{s/\r$//g;p;q}" $GITHUB_WORKSPACE/Depends.txt)
sudo mkdir -p /workdir
sudo chown $USER:$GROUPS /workdir
- name: Checkout
uses: actions/checkout@main
- name: Cache openwrt SDK
id: cache-sdk
uses: actions/cache@main
with:
path: openwrt-sdk
key: ${{ inputs.UseCache }}
#steps.cache-sdk.outputs.cache-hit != 'true' || inputs.UseCache != 'true'
- name: download openwrt-sdk
if: ${{ steps.cache-sdk.outputs.cache-hit != 'true' && inputs.UseCache == 'hanwckf' }}
run: |
rm -rf openwrt-sdk
git clone --depth=1 https://github.com/hanwckf/immortalwrt-mt798x.git openwrt-sdk
cp -f MT2500-2.config openwrt-sdk/.config
cd openwrt-sdk
./scripts/feeds update -a
./scripts/feeds install -a
make download -j$(nproc)
- name: download openwrt-sdk
if: ${{ steps.cache-sdk.outputs.cache-hit != 'true' && inputs.UseCache == 'mt' }}
run: |
rm -rf openwrt-sdk
git clone --depth 1 https://github.com/AoThen/openwrt-sdk-mt7981.git openwrt-sdk
cd openwrt-sdk
./scripts/feeds update -a
./scripts/feeds install -a
echo 'CONFIG_ALL=y' >> .config
make defconfig
make download -j$(nproc)
- name: build ipk
id: build
env:
PKGNAME: ${{ inputs.pkgname }}
EMAIL: ${{ secrets.EMAIL }}
NAME: ${{ secrets.NAME }}
run: |
cd $GITHUB_WORKSPACE
chmod +x ./build_New.sh
./build_New.sh
- name: Print
id: printipk
run: |
# tree $GITHUB_WORKSPACE/openwrt-sdk/bin/packages/
find . -name "*.ipk" -print
- name: Copy
id: copyipks
run: |
find $GITHUB_WORKSPACE/openwrt-sdk/bin -name "*.ipk" -exec cp -f {} "./buildsource" \;
- name: Artifact
uses: actions/upload-artifact@main
if: ${{ inputs.artifact }}
with:
name: ${{ inputs.pkgname }}
path: |
./buildsource
- name: Commit packages
if: ${{ inputs.packages }}
run: |
git config --local user.email ${{ secrets.EMAIL }}
git config --local user.name ${{ secrets.NAME }}
git clone --depth 1 -b Packages https://github.com/AoThen/Openwrt-Packages --single-branch
cd Openwrt-Packages
rm -rf ${{ inputs.pkgname }}
mkdir ${{ inputs.pkgname }}
cp -rf $GITHUB_WORKSPACE/openwrt-sdk/bin/packages/* ${{ inputs.pkgname }}/
git add .
Emoji=("🎉" "✨" "🎁" "🎈" "🎄" "🍓" "🍕" "🍉" "🌴" "🚀" "⛅" "🌈" "❤️")
git commit -m "${Emoji[$[$RANDOM % ${#Emoji[@]}]]}update at $(TZ='Asia/Shanghai' date +%Y-%m-%d)${Emoji[$[$RANDOM % ${#Emoji[@]}]]}"
git push "https://${{ secrets.NAME }}:${{ github.token }}@github.com/${{ github.repository }}.git" Packages
- name: Delete workflow runs
uses: AoThen/delete-workflow-runs@main
with:
retain_days: 1
keep_minimum_runs: 5