Build GL-MT2500 IPK New #155
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |