Skip to content

Make MiHomo run files for 23.05 #1

Make MiHomo run files for 23.05

Make MiHomo run files for 23.05 #1

Workflow file for this run

#=================================================
# https://github.com/wukongdaily/RunFilesBuilder
# Description: Build RunFiles using GitHub Actions
# Lisence: MIT
# Author: wukongdaily
# Blog: wkdaily.cpolar.top
#=================================================
name: Make MiHomo run files for 23.05
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Fetch latest release tag from mihomo
id: fetch_latest_tag
run: |
latest_tag=$(curl -s https://api.github.com/repos/morytyann/OpenWrt-mihomo/releases/latest | jq -r '.tag_name')
echo "LATEST_TAG=$latest_tag" >> $GITHUB_ENV
# https://github.com/morytyann/OpenWrt-mihomo/releases/download/v1.17.1/mihomo_aarch64_cortex-a53-openwrt-24.10.tar.gz
- name: Clone makeself repository
run: git clone https://github.com/megastep/makeself.git
- name: Download latest mihomo files
run: |
curl -LO $(curl -s https://api.github.com/repos/morytyann/OpenWrt-mihomo/releases/latest | grep -oP '"browser_download_url":\s*".*mihomo_aarch64_cortex-a53-openwrt-24.10.tar.gz"' | cut -d '"' -f 4)
curl -LO $(curl -s https://api.github.com/repos/morytyann/OpenWrt-mihomo/releases/latest | grep -oP '"browser_download_url":\s*".*mihomo_x86_64-openwrt-24.10.tar.gz"' | cut -d '"' -f 4)
tar --one-top-level=mihomo_aarch64_cortex-a53-openwrt-24.10 -xvzf mihomo_aarch64_cortex-a53-openwrt-24.10.tar.gz
tar --one-top-level=mihomo_x86_64-openwrt-24.10 -xvzf mihomo_x86_64-openwrt-24.10.tar.gz
- name: Organize files for aarch64_cortex-a53&x86_64
run: |
mkdir mihomo_x86_64 mihomo_aarch64_cortex-a53
cp mihomo_x86_64-openwrt-24.10/*.ipk mihomo_x86_64/
cp mihomo_aarch64_cortex-a53-openwrt-24.10/*.ipk mihomo_aarch64_cortex-a53/
- name: Create install.sh scripts
run: |
cat <<EOF > mihomo_x86_64/install.sh
#!/bin/sh
opkg update
if [ $? -ne 0 ]; then
echo "update failed。"
exit 1
fi
opkg install *.ipk
EOF
chmod +x mihomo_x86_64/install.sh
cp mihomo_x86_64/install.sh mihomo_aarch64_cortex-a53/install.sh
- name: Move mihomo directories to makeself
run: |
mv mihomo_x86_64 makeself/
mv mihomo_aarch64_cortex-a53 makeself/
- name: Create self-extracting packages
run: |
cd makeself
./makeself.sh mihomo_x86_64/ mihomo_${{ env.LATEST_TAG }}_x86_64.run "by github action" ./install.sh
./makeself.sh mihomo_aarch64_cortex-a53/ mihomo_${{ env.LATEST_TAG }}_aarch64_cortex-a53.run "by github action" ./install.sh
- name: Check file sizes
run: |
ls -lh makeself/mihomo_*.run
- name: Fetch latest release details
id: fetch_release_details
run: |
extra_content="![Github](https://img.shields.io/badge/mihomo.run-123456?logo=github&logoColor=fff&labelColor=yellow&style=for-the-badge) [![Github](https://img.shields.io/badge/国内加速站下载-FC7C0D?logo=github&logoColor=fff&labelColor=000&style=for-the-badge)](https://wkdaily.cpolar.top/archives/1) ![GitHub Downloads (all assets, specific tag)](https://img.shields.io/github/downloads/wukongdaily/RunFilesBuilder/${{ env.LATEST_TAG }}/total?style=for-the-badge&labelColor=black&color=%2325c2a0)"
sed -i "1i$extra_content" "${{ github.workspace }}/info.md"
- name: Print release notes
run: |
cat ${{ github.workspace }}/info.md
- name: Generate new tag & release
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.LATEST_TAG }}
target_commitish: ${{ github.ref_name }}
prerelease: false
body_path: ${{ github.workspace }}/info.md
- name: Upload run files as release assets
uses: softprops/[email protected]
with:
tag_name: ${{ env.LATEST_TAG }}
name: "mihomo-${{ env.LATEST_TAG }}"
files: makeself/mihomo_*.run
token: ${{ secrets.GITHUB_TOKEN }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}