mirror of
https://github.com/geekgeekrun/geekgeekrun.git
synced 2026-06-02 06:00:43 +08:00
68 lines
1.9 KiB
YAML
68 lines
1.9 KiB
YAML
name: Release UI
|
|
|
|
on:
|
|
push:
|
|
# Sequence of patterns matched against refs/tags
|
|
tags:
|
|
- "ui-v*" # Push events to matching v*, i.e. v1.0, v20.15.10
|
|
|
|
jobs:
|
|
build:
|
|
env:
|
|
PUPPETEER_SKIP_DOWNLOAD: 'true'
|
|
runs-on: ubuntu-latest
|
|
|
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
|
steps:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- name: Checkout source
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install rpm -y
|
|
npm i pnpm@^8.6.9 -g
|
|
cd packages/ui
|
|
pnpm i --force
|
|
|
|
- name: Build
|
|
run: |
|
|
cd packages/ui
|
|
node ./scripts/github-ci-build.mjs
|
|
|
|
- name: Create Release
|
|
id: create_release
|
|
uses: actions/create-release@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
tag_name: ${{ github.ref }}
|
|
release_name: Release ${{ github.ref }}
|
|
body: TODO New Release.
|
|
draft: false
|
|
prerelease: false
|
|
|
|
- name: Upload Release Asset
|
|
uses: actions/github-script@v3
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
script: |
|
|
const path = require('path');
|
|
const fs = require('fs');
|
|
const release_id = '${{ needs.create_release.outputs.id }}';
|
|
const path_to_dist = `./packages/ui/dist`
|
|
for (let file of await fs.readdirSync(path_to_dist)) {
|
|
if (['.exe', '.deb', '.rpm', '.zip'].includes(path.extname(file))) {
|
|
console.log('uploadReleaseAsset', file);
|
|
await github.repos.uploadReleaseAsset({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
release_id: release_id,
|
|
name: file,
|
|
data: await fs.readFileSync(`${path_to_dist}/${file}`)
|
|
});
|
|
}
|
|
}
|