Skip to content

Release All

Release All #59

Workflow file for this run

name: "Release All"
on:
workflow_dispatch:
jobs:
publish-tauri:
permissions:
contents: write
strategy:
fail-fast: false
matrix:
include:
- platform: "macos-latest"
args: "--target aarch64-apple-darwin"
type: "aarch64"
assetPattern: "[name]_[ver]_[arch][ext]"
- platform: "macos-latest"
args: "--target x86_64-apple-darwin"
type: "x86_64"
assetPattern: "[name]_[ver]_[arch][ext]"
- platform: "ubuntu-22.04"
args: ""
assetPattern: "[name]_[ver]_[arch][ext]"
- platform: "ubuntu-22.04-arm"
args: ""
assetPattern: "[name]_[ver]_[arch][ext]"
- platform: "windows-latest"
args: "--target x86_64-pc-windows-msvc"
type: "x86_64"
assetPattern: "[name]_[ver]_[arch][ext]"
- platform: "windows-11-arm"
args: "--target aarch64-pc-windows-msvc"
type: "aarch64"
assetPattern: "[name]_[ver]_[arch][ext]"
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v5
- name: setup node
uses: actions/setup-node@v6
with:
node-version: lts/*
cache: "npm"
- name: install Rust stable (linux)
uses: dtolnay/rust-toolchain@stable
if: matrix.platform == 'ubuntu-22.04' || matrix.platform == 'ubuntu-22.04-arm'
- name: install Rust stable (macos)
uses: dtolnay/rust-toolchain@stable
if: matrix.platform == 'macos-latest'
with:
targets: ${{ matrix.type == 'aarch64' && 'aarch64-apple-darwin' || 'x86_64-apple-darwin' }}
- name: install Rust stable (windows)
uses: dtolnay/rust-toolchain@stable
if: matrix.platform == 'windows-latest' || matrix.platform == 'windows-11-arm'
with:
targets: ${{ matrix.type == 'aarch64' && 'aarch64-pc-windows-msvc' || 'x86_64-pc-windows-msvc' }}
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: "./src-tauri -> target"
key: ${{ matrix.platform }}
- name: install dependencies (ubuntu-22.04 x86_64)
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential curl wget file \
libgtk-3-dev libxdo-dev libssl-dev \
libappindicator3-dev librsvg2-dev patchelf xdg-utils
mkdir -p /tmp/ubuntu-packages
cd /tmp/ubuntu-packages
wget https://launchpadlibrarian.net/723972773/libwebkit2gtk-4.1-0_2.44.0-0ubuntu0.22.04.1_amd64.deb
wget https://launchpadlibrarian.net/723972761/libwebkit2gtk-4.1-dev_2.44.0-0ubuntu0.22.04.1_amd64.deb
wget https://launchpadlibrarian.net/723972770/libjavascriptcoregtk-4.1-0_2.44.0-0ubuntu0.22.04.1_amd64.deb
wget https://launchpadlibrarian.net/723972746/libjavascriptcoregtk-4.1-dev_2.44.0-0ubuntu0.22.04.1_amd64.deb
wget https://launchpadlibrarian.net/723972735/gir1.2-javascriptcoregtk-4.1_2.44.0-0ubuntu0.22.04.1_amd64.deb
wget https://launchpadlibrarian.net/723972739/gir1.2-webkit2-4.1_2.44.0-0ubuntu0.22.04.1_amd64.deb
wget https://launchpadlibrarian.net/606433947/libicu70_70.1-2ubuntu1_amd64.deb
wget https://launchpadlibrarian.net/606433941/libicu-dev_70.1-2ubuntu1_amd64.deb
wget https://launchpadlibrarian.net/606433945/icu-devtools_70.1-2ubuntu1_amd64.deb
wget https://launchpadlibrarian.net/595623693/libjpeg8_8c-2ubuntu10_amd64.deb
wget https://launchpadlibrarian.net/587202140/libjpeg-turbo8_2.1.2-0ubuntu1_amd64.deb
wget https://launchpadlibrarian.net/592959859/xdg-desktop-portal-gtk_1.14.0-1build1_amd64.deb
sudo apt-get install -y /tmp/ubuntu-packages/*.deb
- name: install dependencies (ubuntu-22.04-arm)
if: matrix.platform == 'ubuntu-22.04-arm'
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev \
librsvg2-dev patchelf xdg-utils
- name: install portable tauri-cli (ubuntu-22.04 x86_64 only)
if: matrix.platform == 'ubuntu-22.04'
run: |
cargo install tauri-cli \
--git https://github.com/tauri-apps/tauri \
--branch feat/truly-portable-appimage \
--force
echo "tauri-cli version: $(cargo tauri --version)"
- name: install frontend dependencies
run: npm install
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
TAURI_BUNDLER_NEW_APPIMAGE_FORMAT: true
with:
tagName: v__VERSION__
releaseName: "RClone Manager v__VERSION__"
releaseBody: "See the assets to download this version and install."
releaseDraft: true
prerelease: false
args: ${{ matrix.args }}