ci: add GitHub Actions workflows for release and CNB synchronization
This commit is contained in:
@@ -0,0 +1,51 @@
|
|||||||
|
name: Release Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Check if tag is on main branch
|
||||||
|
run: |
|
||||||
|
git fetch origin main
|
||||||
|
if ! git merge-base --is-ancestor ${{ github.sha }} origin/main; then
|
||||||
|
echo "Tag is not on main branch"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- uses: pnpm/action-setup@v2
|
||||||
|
with:
|
||||||
|
version: 8
|
||||||
|
|
||||||
|
- uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: '20'
|
||||||
|
cache: 'pnpm'
|
||||||
|
|
||||||
|
- run: pnpm install
|
||||||
|
|
||||||
|
- run: pnpm build:release
|
||||||
|
|
||||||
|
- name: Package files
|
||||||
|
run: |
|
||||||
|
cd build
|
||||||
|
zip -r ../web.vocechat.zip . -x robots.txt CNAME email.tpl.html widget_demo.html
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
with:
|
||||||
|
files: |
|
||||||
|
web.vocechat.zip
|
||||||
|
build/web.vocechat.md5
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
# .github/workflows/sync-cnb.yml
|
||||||
|
|
||||||
|
name: Sync to CNB
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
sync:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Sync to CNB Repository
|
||||||
|
uses: docker://tencentcom/git-sync
|
||||||
|
env:
|
||||||
|
PLUGIN_TARGET_URL: "https://cnb.cool/haorwen/Privoce/vocechat-web.git"
|
||||||
|
PLUGIN_AUTH_TYPE: "https"
|
||||||
|
PLUGIN_USERNAME: "cnb"
|
||||||
|
PLUGIN_PASSWORD: ${{ secrets.CNB_TOKEN }}
|
||||||
|
PLUGIN_FORCE: "true"
|
||||||
Reference in New Issue
Block a user