Skip to content

CHANGELOG

CHANGELOG #50

Workflow file for this run

name: "Release"
permissions:
contents: write
on:
push:
tags:
- v.*
jobs:
changelog:
runs-on: ubuntu-latest
outputs:
changes: ${{ steps.changelog_reader.outputs.changes }}
version: ${{ steps.changelog_reader.outputs.VERSION }}
steps:
- uses: actions/checkout@v4
- name: Get version number
id: get_version
run: |
VERSION=${GITHUB_REF#refs/tags/}
VERSION=${VERSION/v./}
echo "::set-output name=version::$VERSION"
- name: Changelog Reader
id: changelog_reader
uses: mindsers/changelog-reader-action@v2.2.2
with:
path: "CHANGELOG.md"
version: ${{ steps.get_version.outputs.version }}
build:
needs: changelog
outputs:
release_id: ${{ steps.action_gh_release.outputs.id }}
strategy:
fail-fast: false
matrix:
lang: [zh_en, zh_ja, ja_zh]
platform: [macos-latest, ubuntu-latest, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install Rust nightly
uses: dtolnay/rust-toolchain@nightly
- name: Install dependencies (windows only)
if: matrix.platform == 'windows-latest'
uses: ilammy/msvc-dev-cmd@v1
- name: Install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: latest
- name: Install frontend dependencies
run: pnpm install
- name: Install deno
uses: denoland/setup-deno@v1
with:
deno-version: canary
- name: Confirm language
env:
MATRIX_LANG: ${{ matrix.lang }}
run: deno run -A script/lang.ts
- name: Build
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Built
env:
MATRIX_LANG: ${{ matrix.lang }}
run: deno run -A script/built.ts
- name: Upload release assets
id: action_gh_release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Tran ${{ needs.changelog.outputs.version }}
body: |
${{ needs.changelog.outputs.changes }}
files: release/*
draft: true
prerelease: false