stort/.github/workflows/build.yml

74 lines
2.2 KiB
YAML

name: Build
on:
push:
branches:
- "*"
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
container:
image: ubuntu:22.04
steps:
- name: Update APT
run: apt update
- name: Install Git and dependencies for Tauri
run: apt install -y git libwebkit2gtk-4.0-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
- name: Checkout Repository
uses: actions/checkout@v4
- name: Get Variables
run: |
git config --global --add safe.directory /__w/stort/stort
echo "TAG_NAME=commit-$(date +%Y%m%d)-$(git rev-parse --short HEAD)" >> $GITHUB_ENV
- name: Install Mise
run: |
install -dm 755 /etc/apt/keyrings
wget -qO - https://mise.jdx.dev/gpg-key.pub | gpg --dearmor | tee /etc/apt/keyrings/mise-archive-keyring.gpg 1> /dev/null
echo 'deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg arch=amd64] https://mise.jdx.dev/deb stable main' | tee /etc/apt/sources.list.d/mise.list
apt update
apt install -y mise
- name: Install Mise Tools
run: |
mise install
mise settings set experimental true
- name: Install Bun Packages
run: mise exec bun --command 'bun install'
- name: Build Tauri
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
. "$HOME/.cargo/env"
mise exec bun --command 'bun run tauri build'
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.TAG_NAME }}
release_name: ${{ env.TAG_NAME }}
draft: false
prerelease: false
- name: Upload Build to Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./src-tauri/target/release/bundle/appimage/stort_0.1.0_amd64.AppImage
asset_name: stort.AppImage
asset_content_type: application/octet-stream