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