Release #15
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 | |
permissions: | |
contents: write | |
on: | |
push: | |
tags: | |
- "v*" | |
workflow_dispatch: | |
jobs: | |
create-release: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set output | |
id: vars | |
run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT | |
- name: Generate changelog | |
id: create_release | |
run: npx changelogithub --draft --name LANSend-${{ steps.vars.outputs.tag }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
build-app: | |
needs: create-release | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- target: aarch64-apple-darwin | |
platform: macos-latest | |
- target: x86_64-apple-darwin | |
platform: macos-latest | |
- target: x86_64-unknown-linux-gnu | |
platform: ubuntu-20.04 | |
- target: x86_64-pc-windows-msvc | |
platform: windows-latest | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- name: Configure git | |
run: git config --global core.autocrlf false | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: latest-7 | |
- name: Setup node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: 'pnpm' | |
- name: Install dependencies (ubuntu only) | |
if: matrix.platform == 'ubuntu-20.04' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf libx11-dev libxdo-dev libxcb-shape0-dev libxcb-xfixes0-dev | |
- name: Install Rust stable | |
uses: dtolnay/rust-toolchain@stable | |
- name: Add targets (mac only) | |
if: matrix.platform == 'macos-latest' | |
run: | | |
rustup target add aarch64-apple-darwin | |
- name: Rust cache | |
uses: swatinem/rust-cache@v2 | |
- name: Install app dependencies and build web | |
run: pnpm install --frozen-lockfile | |
- name: Build the app | |
uses: tauri-apps/tauri-action@dev | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} | |
TAURI_KEY_PASSWORD: "${{ secrets.TAURI_KEY_PASSWORD }}" | |
with: | |
tagName: ${{ github.ref_name }} | |
releaseName: LANSend ${{ needs.create-release.outputs.APP_VERSION }} | |
releaseBody: "" | |
releaseDraft: true | |
prerelease: false | |
projectPath: "packages/launcher" | |
args: --target ${{ matrix.target }} | |
- name: Build the cli | |
uses: taiki-e/upload-rust-binary-action@v1 | |
with: | |
bin: lansend | |
archive: lansend-cli-$tag-$target | |
target: ${{ matrix.target }} | |
token: ${{ secrets.GITHUB_TOKEN }} |