-
Notifications
You must be signed in to change notification settings - Fork 645
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1b92bcb
commit 4423298
Showing
1 changed file
with
105 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
#================================================= | ||
# 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=" [](https://wkdaily.cpolar.top/archives/1) " | ||
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 }} |