Skip to content

Merge branch 'main' of https://github.com/NoRiskClient/noriskclient-l… #17

Merge branch 'main' of https://github.com/NoRiskClient/noriskclient-l…

Merge branch 'main' of https://github.com/NoRiskClient/noriskclient-l… #17

Workflow file for this run

name: Build
on:
push:
tags:
- "v*"
jobs:
build-tauri:
strategy:
fail-fast: false
matrix:
platform: [macos-latest, ubuntu-latest, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout repository and submodules
uses: actions/checkout@v3
with:
submodules: recursive
- name: setup node
uses: actions/setup-node@v3
with:
node-version: 16
- name: install Rust
uses: dtolnay/rust-toolchain@stable
- 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: Cache cargo registry
uses: actions/cache@v3
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v3
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
- name: Cache tauri build
uses: actions/cache@v3
with:
path: ./src-tauri/target
key: ${{ runner.os }}-tauri-build-target-${{ hashFiles('**/Cargo.lock') }}
- name: install app dependencies and build it
run: yarn && yarn build
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
- run: |
ls -R ./src-tauri/target/release/bundle
mv ./src-tauri/target/release/bundle/appimage/no-risk-client**.AppImage ./src-tauri/target/release/bundle/appimage/NoRiskClient-Linux.AppImage
mv ./src-tauri/target/release/bundle/appimage/no-risk-client**.AppImage.tar.gz ./src-tauri/target/release/bundle/appimage/NoRiskClient-Linux.AppImage.tar.gz
mv ./src-tauri/target/release/bundle/appimage/no-risk-client**.AppImage.tar.gz.sig ./src-tauri/target/release/bundle/appimage/NoRiskClient-Linux.AppImage.tar.gz.sig
if: matrix.platform == 'ubuntu-latest'
- uses: actions/upload-artifact@v2
if: matrix.platform == 'ubuntu-latest'
with:
name: noriskclient-linux
path: ./src-tauri/target/release/bundle/appimage/NoRiskClient-Linux.*
- run: |
cd ./src-tauri/target/release/bundle
Get-ChildItem -Recurse
mv nsis/NoRiskClient**.exe nsis/NoRiskClient-Windows-setup.exe
mv nsis/NoRiskClient**.nsis.zip nsis/NoRiskClient-Windows-setup.nsis.zip
mv nsis/NoRiskClient**.nsis.zip.sig nsis/NoRiskClient-Windows-setup.nsis.zip.sig
if: matrix.platform == 'windows-latest'
- uses: actions/upload-artifact@v2
if: matrix.platform == 'windows-latest'
with:
name: noriskclient-windows
path: ./src-tauri/target/release/bundle/nsis/NoRiskClient-Windows-setup.*
- run: |
ls -R ./src-tauri/target/release/bundle
mv ./src-tauri/target/release/bundle/macos/NoRiskClient.app.tar.gz ./src-tauri/target/release/bundle/macos/NoRiskClient-MacOS.app.tar.gz
mv ./src-tauri/target/release/bundle/macos/NoRiskClient.app.tar.gz.sig ./src-tauri/target/release/bundle/macos/NoRiskClient-MacOS.app.tar.gz.sig
if: matrix.platform == 'macos-latest'
- uses: actions/upload-artifact@v2
if: matrix.platform == 'macos-latest'
with:
name: noriskclient-macos
path: ./src-tauri/target/release/bundle/macos/NoRiskClient-MacOS.app.*
create-release:
needs: build-tauri
permissions: write-all
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Download Artifact Outputs - macOS
uses: actions/download-artifact@v2
with:
name: noriskclient-macos
path: noriskclient-macos
- name: Download Artifact Outputs - Ubuntu
uses: actions/download-artifact@v2
with:
name: noriskclient-linux
path: noriskclient-linux
- name: Download Artifact Outputs - Windows
uses: actions/download-artifact@v2
with:
name: noriskclient-windows
path: noriskclient-windows
- name: Create GitHub Release
id: create_release
uses: marvinpinto/action-automatic-releases@latest
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
prerelease: false
files: |
noriskclient-macos/**
noriskclient-linux/**
noriskclient-windows/**