Files
auto-update/.gitea/workflows/app_update.yml

58 lines
2.5 KiB
YAML

name: app_update
on:
schedule:
- cron: '0 23 * * *' # 每天北京时间早上7点执行
workflow_dispatch: # 允许手动触发
jobs:
update-rules:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: 创建目录结构
run: |
mkdir -p app/ tmp
- name: 下载并解压Zellij
run: |
curl -L "https://github.com/zellij-org/zellij/releases/latest/download/zellij-x86_64-unknown-linux-musl.tar.gz" \
-o "zellij-x86_64-unknown-linux-musl.tar.gz" \
--fail --silent --show-error && \
tar -xvf zellij-x86_64-unknown-linux-musl.tar.gz -C app/
curl -L "https://github.com/zellij-org/zellij/releases/latest/download/zellij-aarch64-unknown-linux-musl.tar.gz" \
-o "zellij-aarch64-unknown-linux-musl.tar.gz" \
--fail --silent --show-error && \
tar -xvf zellij-aarch64-unknown-linux-musl.tar.gz -C tmp/ && \
mv tmp/zellij app/zellij_arm64
- name: 下载并解压7-zip
run: |
curl -L "https://www.7-zip.org/a/7z2501.exe" -o "app/7z.exe" --fail --silent --show-error
curl -L "https://www.7-zip.org/a/7z2501-linux-x64.tar.xz" -o "7z.tar.xz" --fail --silent --show-error && tar -xvf 7z.tar.xz -C tmp/ && mv tmp/7zz app/ && rm -rf tmp/*
curl -L "https://www.7-zip.org/a/7z2501-linux-arm64.tar.xz" -o "7z.tar.xz" --fail --silent --show-error && tar -xvf 7z.tar.xz -C tmp/ && mv tmp/7zz app/7zz_arm64 && rm -rf tmp/*
- name: 下载并解压Shadowsocks-Rust
run: |
SS_RUST_VERSION=$(curl -s "https://api.github.com/repos/shadowsocks/shadowsocks-rust/releases/latest" \
| grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
DOWNLOAD_URL="https://github.com/shadowsocks/shadowsocks-rust/releases/latest/download/shadowsocks-${SS_RUST_VERSION}.x86_64-unknown-linux-musl.tar.xz"
echo "下载版本: ${SS_RUST_VERSION}"
curl -L "${DOWNLOAD_URL}" -o "shadowsocks.tar.xz" --fail --silent --show-error
tar -xvf shadowsocks.tar.xz -C tmp/
mv tmp/ssserver app/
- name: 提交更改
run: |
git config --local user.email "gitea-actions[bot]@users.noreply.nvme.cc"
git config --local user.name "gitea-actions[bot]"
git add ./app
git diff --cached --quiet || git commit -m "Update rules: $(TZ=Asia/Shanghai date +'%Y-%m-%d %H:%M:%S')"
git push