main #133
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: main | |
on: workflow_dispatch | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: | |
- windows-latest | |
- macos-latest | |
- ubuntu-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Set up checkout | |
uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: latest | |
- name: Set up Electron cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.workspace }}/.cache/electron | |
key: ${{ runner.os }}-electron-cache-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: ${{ runner.os }}-electron-cache- | |
- name: Set up Electron Builder cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ github.workspace }}/.cache/electron-builder | |
key: ${{ runner.os }}-electron-builder-cache-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: ${{ runner.os }}-electron-builder-cache- | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20.x' | |
cache: 'pnpm' | |
- name: Set up dependencies | |
run: pnpm install | |
- name: Lint | |
run: pnpm lint | |
- name: Create .env file | |
run: | | |
touch .env | |
echo VITE_APP_ELECTRON_STORE_KEY=${{ secrets.ELECTRON_STORE_KEY }} >> .env | |
echo VITE_APP_SHARE_ENCRYPTION_KEY=${{ secrets.SHARE_ENCRYPTION_KEY }} >> .env | |
echo VITE_APP_ANONYMOUS_TOKEN=${{ secrets.ANONYMOUS_TOKEN }} >> .env | |
echo VITE_APP_DISCORD_CLIENT_ID=${{ secrets.DISCORD_CLIENT_ID }} >> .env | |
cat .env | |
- name: Install packages (Linux-only) | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt install flatpak flatpak-builder libarchive-tools rpm -y | |
flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo | |
- name: Release | |
env: | |
ELECTRON_CACHE: ${{ github.workspace }}/.cache/electron | |
ELECTRON_BUILDER_CACHE: ${{ github.workspace }}/.cache/electron-builder | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
run: pnpm release |