Skip to content

feat: rename tabs and UI fix (#15) #162

feat: rename tabs and UI fix (#15)

feat: rename tabs and UI fix (#15) #162

Workflow file for this run

name: "ci"
on:
push:
branches:
- main
permissions:
contents: read # for checkout
jobs:
get-next-release:
runs-on: ubuntu-latest
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
id-token: write # to enable use of OIDC for npm provenance
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: npm install @actions/core
- name: Release
id: get-next-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release --dry-run
outputs:
next-release-published: ${{ steps.get-next-release.outputs.next-release-published }}
next-release-version: ${{ steps.get-next-release.outputs.next-release-version }}
next-release-git-tag: ${{ steps.get-next-release.outputs.next-release-git-tag }}
next-release-notes: ${{ steps.get-next-release.outputs.next-release-notes }}
bump-and-push:
needs: get-next-release
if: needs.get-next-release.outputs.next-release-published == 'true'
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Bump Cargo.toml version
run: |
sed -i 's/"version": "[0-9]\+\.[0-9]\+\.[0-9]\+"/"version": "${{ needs.get-next-release.outputs.next-release-version }}"/' src-tauri/tauri.conf.json
- name: Push commit changes
id: push-commit
run: |
git config user.name "github-actions"
git config user.email "[email protected]"
git add src-tauri/tauri.conf.json
git commit -m "Bump version [skip ci]"
git push
echo "last-commit-sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
outputs:
last-commit-sha: ${{ steps.push-commit.outputs.last-commit-sha }}
build:
needs:
- get-next-release
- bump-and-push
if: needs.get-next-release.outputs.next-release-published == 'true'
permissions:
contents: write
strategy:
fail-fast: false
matrix:
include:
- platform: "macos-latest" # for Arm based macs (M1 and above).
args: "--target aarch64-apple-darwin"
- platform: "macos-latest" # for Intel based macs.
args: "--target x86_64-apple-darwin"
# - platform: "ubuntu-20.04" # for Tauri v1 you could replace this with ubuntu-20.04.
# args: ""
# - platform: "windows-latest"
# args: ""
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ needs.bump-and-push.outputs.last-commit-sha }}
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
with:
# Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds.
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
- name: install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-20.04' # This must match the platform value defined above.
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
# webkitgtk 4.0 is for Tauri v1 - webkitgtk 4.1 is for Tauri v2.
# You can remove the one that doesn't apply to your app to speed up the workflow a bit.
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: "./src-tauri -> target"
- name: Sync node version and setup cache
uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm" # Set this to npm, yarn or pnpm.
- name: Install frontend dependencies
# If you don't have `beforeBuildCommand` configured you may want to build your frontend here too.
run: npm install # Change this to npm, yarn or pnpm.
- name: Build the app
id: tauri-action
uses: tauri-apps/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
with:
tagName: ${{ needs.get-next-release.outputs.next-release-git-tag }}
releaseName: ${{ needs.get-next-release.outputs.next-release-version }}
releaseBody: ${{ needs.get-next-release.outputs.next-release-notes }}
releaseDraft: false
prerelease: false
args: ${{ matrix.args }}