8000 refactor: external web rename · chenx-dust/ToMoon@58b17f8 · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

refactor: external web rename #22

refactor: external web rename

refactor: external web rename #22

Workflow file for this run

name: ToMoon Auto Build
on:
- push
- pull_request
permissions:
contents: write
jobs:
build_plugin:
name: Build Plugin
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Install Tools
run: |
sudo apt-get update
sudo apt-get install -y wget unzip
- name: Download Clash and Yacd and Subconverter
run: |
mkdir tmp && cd tmp
mkdir core && cd core
# Mihomo (Clash Meta)
LATEST_URL=$(curl -s https://api.github.com/repos/MetaCubeX/mihomo/releases/latest | grep "browser_download_url.*linux-amd64-v.*gz\"" | cut -d '"' -f 4)
wget -O clash.gz $LATEST_URL
gzip -d clash.gz
chmod +x clash
# country.mmdb & geosite.dat
wget https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/country.mmdb
wget https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat
wget -O asn.mmdb https://github.com/P3TERX/GeoLite.mmdb/raw/download/GeoLite2-ASN.mmdb
# dashboard
mkdir web
# yacd
wget -O yacd.zip https://github.com/haishanh/yacd/archive/refs/heads/gh-pages.zip
unzip yacd.zip
mv yacd-gh-pages web/yacd
# yacd-meta
wget -O yacd-meta.zip https://github.com/MetaCubeX/yacd/archive/gh-pages.zip
unzip yacd-meta.zip
mv Yacd-meta-gh-pages web/yacd-meta
# metacubexd
wget -O metacubexd.zip https://github.com/MetaCubeX/metacubexd/archive/refs/heads/gh-pages.zip
unzip metacubexd.zip
mv metacubexd-gh-pages web/metacubexd
# zashboard
wget -O zashboard.zip https://github.com/Zephyruso/zashboard/releases/latest/download/dist.zip
unzip zashboard.zip
mv dist web/zashboard
echo "clean zips"
rm -f *.zip
cd $GITHUB_WORKSPACE
wget -O subconverter_linux64.tar.gz https://github.com/MetaCubeX/subconverter/releases/download/Alpha/subconverter_linux64.tar.gz
tar xvf subconverter_linux64.tar.gz
chmod +x subconverter/subconverter
# build front-end start
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Install Requestment
run: |
cp -r usdpl src/
npm i
- name: build front end
run: npm run build
working-directory: .
- name: build external web page
run: |
npm i
npm run build
working-directory: external-web
# build front-end end
# build backend start
- uses: dtolnay/rust-toolchain@stable
- uses: ClementTsang/cargo-action@v0.0.6
with:
command: build
directory: ./backend
args: --target x86_64-unknown-linux-gnu --release
use-cross: false
- name: Collect Files
run: |
PACKAGE="${{ github.ref_name }}"
mkdir -p ./release/${PACKAGE}/bin/core/web
mkdir -p ./release/${PACKAGE}/dist
cp backend/target/x86_64-unknown-linux-gnu/release/${{ github.event.repository.name }} ./release/${PACKAGE}/bin/${{ github.event.repository.name }}
cp ./dist/index.js ./release/${PACKAGE}/dist/index.js
cp main.py ./release/${PACKAGE}/main.py
cp plugin.json ./release/${PACKAGE}/plugin.json
cp package.json ./release/${PACKAGE}/package.json
cp -r ./tmp/core ./release/${PACKAGE}/bin/
cp -r ./external-web/dist ./release/${PACKAGE}/web
cp -r ./py_modules ./release/${PACKAGE}/py_modules
mkdir -p ./release/${PACKAGE}/web/rules
bash ./assets/subconverter_rules/dl_rules.sh ./release/${PACKAGE}/web/rules
cp ./assets/subconverter_rules/ACL4SSR_Online.ini ./release/${PACKAGE}/web/ACL4SSR_Online.ini
cp ./subconverter/subconverter ./release/${PACKAGE}/bin/subconverter
cd ./release
zip -r ${{ github.event.repository.name }}.zip ${PACKAGE}
cd ..
- name: Publish Artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ github.event.repository.name }}-artifacts
path: ./release/${PACKAGE}.zip
if-no-files-found: error
publish:
name: Publish Release
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
needs: build_plugin
steps:
- run: mkdir /tmp/artifacts
- name: download artifact
uses: actions/download-artifact@v4
with:
path: /tmp/artifacts
- run: ls -R /tmp/artifacts
- run: |
cd /tmp/artifacts/${{ github.event.repository.name }}-artifacts
mv ${{ github.event.repository.name }}.zip ${{ github.event.repository.name }}-${{ github.ref_name }}.zip
- name: publish to github release
uses: softprops/action-gh-release@v2
with:
files: /tmp/artifacts/${{ github.event.repository.name }}-artifacts/${{ github.event.repository.name }}*.zip
name: Release ${{ github.ref_name }}
draft: false
generate_release_notes: true
prerelease: contains(github.ref, 'pre')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
0