Files
geekgeekrun/.github/workflows/release-ui.yml
2024-04-09 06:13:46 +00:00

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}`)
});
}
}