Make MiHomo run files for 23.05 #1
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
#================================================= | |
# 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 }} |