CI: 替换 Drone CI 为 Gitea 内建的 Actions (#80)
All checks were successful
Build and Deploy / build (push) Successful in 1m4s

自动构建相关。

Reviewed-on: #80
Co-authored-by: 鲁树人 <lu.shuren@um-react.app>
Co-committed-by: 鲁树人 <lu.shuren@um-react.app>
This commit is contained in:
鲁树人 2024-12-15 12:37:40 +00:00 committed by 鲁树人
parent ec4bd16b03
commit ce969af57f
6 changed files with 41 additions and 40 deletions

View File

@ -1,35 +0,0 @@
---
kind: pipeline
type: docker
name: default
steps:
- name: test & build
image: node:22.12.0-bookworm
commands:
# - git config --global --add safe.directory "/drone/src"
- corepack enable
- corepack prepare pnpm@latest --activate
- pnpm i --frozen-lockfile
- pnpm build
environment:
# 让 npm 使用淘宝源
npm_config_registry: https://registry.npmmirror.com
- name: publish
image: node:22.12.0-bookworm
environment:
DRONE_GITEA_SERVER: https://git.unlock-music.dev
GITEA_API_KEY:
from_secret: GITEA_API_KEY
NETLIFY_SITE_ID:
from_secret: NETLIFY_SITE_ID
NETLIFY_API_KEY:
from_secret: NETLIFY_API_KEY
commands:
- |
python3 -m zipfile -c um-react.zip dist/.
cp um-react.zip dist/"release-${DRONE_COMMIT_SHA}.zip"
python3 -m zipfile -c um-react-site.zip dist/.
- ./scripts/publish.sh
- ./scripts/deploy.sh

View File

@ -11,5 +11,5 @@ charset = utf-8
trim_trailing_whitespace = true trim_trailing_whitespace = true
insert_final_newline = true insert_final_newline = true
[*.{{c,m,}js{x,on,},ts{x,}}] [*.{{c,m,}js{x,on,},ts{x,},y{,a}ml}]
indent_size = 2 indent_size = 2

View File

@ -0,0 +1,34 @@
name: Build and Deploy
on: [push]
jobs:
build:
runs-on: ubuntu-latest
env:
npm_config_registry: https://registry.npmmirror.com
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4.0.0
with:
standalone: true
run_install: |
- args: [--frozen-lockfile, --strict-peer-dependencies]
- name: Build
run: pnpm build
- name: Prepare for deployment
run: |
python3 -m zipfile -c um-react.zip dist/.
cp um-react.zip dist/"release-${GITHUB_SHA}.zip"
python3 -m zipfile -c um-react-site.zip dist/.
- name: Publish Artifact
uses: christopherhx/gitea-upload-artifact@v4
with:
name: site
path: dist/
- name: Deploy
env:
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
NETLIFY_API_KEY: ${{ secrets.NETLIFY_API_KEY }}
run: ./scripts/deploy.sh

1
.npmrc
View File

@ -1,4 +1,3 @@
use-node-version=22.12.0 use-node-version=22.12.0
engine-strict=true engine-strict=true
@um:registry=https://git.unlock-music.dev/api/packages/um/npm/
@unlock-music:registry=https://git.unlock-music.dev/api/packages/um/npm/ @unlock-music:registry=https://git.unlock-music.dev/api/packages/um/npm/

View File

@ -7,7 +7,7 @@
- Unlock Music 项目是以学习和技术研究的初衷创建的,修改、再分发时请遵循[授权协议]。 - Unlock Music 项目是以学习和技术研究的初衷创建的,修改、再分发时请遵循[授权协议]。
- Unlock Music 的 CLI 版本可以在 [unlock-music/cli] 找到,大批量转换建议使用 CLI 版本。 - Unlock Music 的 CLI 版本可以在 [unlock-music/cli] 找到,大批量转换建议使用 CLI 版本。
- 我们新建了 Telegram 群组 [`@unlock_music_chat`] ,欢迎加入! - 我们新建了 Telegram 群组 [`@unlock_music_chat`] ,欢迎加入!
- CI 自动构建已经部署,可以在 [Packages][um-react-packages] 下载。 - CI 自动构建已经部署,可以在 [Actions][um-react-actions] 下载。
- [常见问题参考](./docs/faq_zh-hans.md) - [常见问题参考](./docs/faq_zh-hans.md)
> **WARNING** > **WARNING**
@ -17,7 +17,7 @@
[um-vue]: https://git.unlock-music.dev/um/web [um-vue]: https://git.unlock-music.dev/um/web
[unlock-music/cli]: https://git.unlock-music.dev/um/cli [unlock-music/cli]: https://git.unlock-music.dev/um/cli
[`@unlock_music_chat`]: https://t.me/unlock_music_chat [`@unlock_music_chat`]: https://t.me/unlock_music_chat
[um-react-packages]: https://git.unlock-music.dev/um/-/packages/generic/um-react/ [um-react-actions]: https://git.unlock-music.dev/um/um-react/actions
⚠️ 手机端浏览器支持有限,请使用最新版本的 Chrome 或 Firefox 官方浏览器。 ⚠️ 手机端浏览器支持有限,请使用最新版本的 Chrome 或 Firefox 官方浏览器。
@ -39,8 +39,11 @@
- [ ] ~~<ruby>QQ 音乐海外版<rt>JOOX Music</rt></ruby> (`.ofl_en`)~~ - [ ] ~~<ruby>QQ 音乐海外版<rt>JOOX Music</rt></ruby> (`.ofl_en`)~~
[^qm-key-pc]: PC 客户端仅支持 v19.43 或更低版本。 [^qm-key-pc]: PC 客户端仅支持 v19.43 或更低版本。
[^qm-key-android]: 需要获取超级管理员权限后提取密钥数据库,并导入后使用。 [^qm-key-android]: 需要获取超级管理员权限后提取密钥数据库,并导入后使用。
[^qm-key-ios]: 需要越狱获取密钥数据库,或对设备进行完整备份后提取密钥数据库,并导入后使用。 [^qm-key-ios]: 需要越狱获取密钥数据库,或对设备进行完整备份后提取密钥数据库,并导入后使用。
[^qm-key-mac]: 需要导入密钥数据库。 [^qm-key-mac]: 需要导入密钥数据库。
## 错误报告 ## 错误报告

View File

@ -103,7 +103,7 @@ deploy_netlify() {
# For deployment, we care a bit less # For deployment, we care a bit less
if [[ -n "${NETLIFY_API_KEY}" && -n "${NETLIFY_SITE_ID}" ]]; then if [[ -n "${NETLIFY_API_KEY}" && -n "${NETLIFY_SITE_ID}" ]]; then
echo "Deploy to netlify..." echo "Deploy to netlify (branch: ${BRANCH_NAME})..."
deploy_netlify um-react-site.zip deploy_netlify um-react-site.zip
else else
echo "skip netlify deployment." echo "skip netlify deployment."