v0.9.1 #313
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release App | |
on: | |
push: | |
tags: | |
- 'v*.*.*' | |
paths-ignore: | |
- 'README.md' | |
- 'docs/**' | |
- '.vscode' | |
pull_request: | |
branches: | |
- master | |
paths-ignore: | |
- 'docs/**' | |
- 'README.md' | |
- '.vscode' | |
concurrency: | |
group: release-ci-group | |
cancel-in-progress: true | |
jobs: | |
Linux: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
submodules: 'true' | |
# - name: Install native dependencies for flatpack | |
# run: sudo apt-get install -y flatpak-builder elfutils | |
# - name: Install Snapcraft | |
# uses: samuelmeuli/action-snapcraft@v1 | |
# with: | |
# snapcraft_token: ${{ secrets.SNAP_TOKEN }} | |
- name: Set up Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18.14.0 | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: 8.5.1 | |
- name: Get pnpm store directory | |
id: pnpm-cache | |
shell: bash | |
run: | | |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
name: Setup pnpm cache | |
with: | |
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
# only run codeql on Linux | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v2 | |
with: | |
languages: javascript | |
- name: Install dependencies | |
run: pnpm install --no-frozen-lockfile | |
- name: Make Linux (x64) | |
run: pnpm run make:linux-x64 | |
env: | |
CI: true | |
CI_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Make Linux (arm64) | |
run: pnpm run make:linux-arm | |
env: | |
CI: true | |
CI_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v2 | |
- name: Create Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
draft: true | |
generate_release_notes: true | |
files: out/make/**/* | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Get Renderer Bundle Stats | |
uses: vio/bundle-stats-action@v1 | |
with: | |
id: renderer | |
webpack-stats-path: 'out/webpack-stats-renderer.json' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Get Main Bundle Stats | |
uses: vio/bundle-stats-action@v1 | |
with: | |
id: main | |
webpack-stats-path: 'out/webpack-stats-main.json' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
MacOS: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
submodules: 'true' | |
- name: Set up Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18.14.0 | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: 8.5.1 | |
- name: Get pnpm store directory | |
id: pnpm-cache | |
shell: bash | |
run: | | |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
name: Setup pnpm cache | |
with: | |
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: Install dependencies | |
run: pnpm install --no-frozen-lockfile | |
- name: Make macOS (x64) | |
run: pnpm run make:mac-x64 | |
env: | |
APPLE_ID: ${{ secrets.APPLE_ID }} | |
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} | |
CI: true | |
CI_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Make macOS (arm64) | |
run: pnpm run make:mac-arm | |
env: | |
APPLE_ID: ${{ secrets.APPLE_ID }} | |
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} | |
CI: true | |
CI_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Create Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
draft: true | |
generate_release_notes: true | |
files: out/make/**/* | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Get Renderer Bundle Stats | |
uses: vio/bundle-stats-action@v1 | |
with: | |
id: renderer | |
webpack-stats-path: 'out/webpack-stats-renderer.json' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Get Main Bundle Stats | |
uses: vio/bundle-stats-action@v1 | |
with: | |
id: main | |
webpack-stats-path: 'out/webpack-stats-main.json' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
Windows: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
submodules: 'true' | |
- name: Set up CV dependency for pngquant-bin | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Set up Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18.14.0 | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: 8.5.1 | |
- name: Get pnpm store directory | |
id: pnpm-cache | |
shell: bash | |
run: | | |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
name: Setup pnpm cache | |
with: | |
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: Install dependencies | |
run: pnpm install --no-frozen-lockfile | |
- name: Add msi to path | |
run: echo "${env:wix}bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
# Enable x32 if someone still need it | |
# - name: Make Windows (ia32) | |
# run: pnpm run make:win-ia32 | |
# env: | |
# CSC_LINK: ${{ secrets.WIN_CERT }} | |
# CSC_KEY_PASSWORD: ${{ secrets.WIN_CERT_PASS }} | |
# CI: true | |
# CI_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} | |
# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# - name: Rename (ia32) | |
# run: | | |
# Get-ChildItem out/make/wix/ia32 | |
# Rename-Item -Path "out/make/wix/ia32/TidGi.msi" -NewName "Install-TidGi-Windows-ia32.msi" | |
- name: Make Windows (x64) | |
run: pnpm run make:win-x64 | |
env: | |
CSC_LINK: ${{ secrets.WIN_CERT }} | |
CSC_KEY_PASSWORD: ${{ secrets.WIN_CERT_PASS }} | |
CI: true | |
CI_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Rename (x64) | |
run: | | |
Get-ChildItem out/make/wix/x64 | |
Rename-Item -Path "out/make/wix/x64/TidGi.msi" -NewName "Install-TidGi-Windows-x64.msi" | |
- name: Make Windows (arm64) | |
run: pnpm run make:win-arm | |
env: | |
CSC_LINK: ${{ secrets.WIN_CERT }} | |
CSC_KEY_PASSWORD: ${{ secrets.WIN_CERT_PASS }} | |
CI: true | |
CI_PULL_REQUEST: ${{ github.event_name == 'pull_request' }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Rename (arm64) | |
run: | | |
Get-ChildItem out/make/wix/arm64 | |
Rename-Item -Path "out/make/wix/arm64/TidGi.msi" -NewName "Install-TidGi-Windows-arm64.msi" | |
- name: Create Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
draft: true | |
generate_release_notes: true | |
files: | | |
out/make/**/*.exe | |
out/make/**/*.msi | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Get Renderer Bundle Stats | |
uses: vio/bundle-stats-action@v1 | |
with: | |
id: renderer | |
webpack-stats-path: 'out/webpack-stats-renderer.json' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Get Main Bundle Stats | |
uses: vio/bundle-stats-action@v1 | |
with: | |
id: main | |
webpack-stats-path: 'out/webpack-stats-main.json' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} |