name: Test Build Frontend on: push: branches: - "*" permissions: contents: write jobs: build: runs-on: ubuntu-latest container: image: ubuntu:22.04 steps: - name: Install git run: apt update && apt install -y git - name: Checkout Repository uses: actions/checkout@v2 - 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: Update packages run: apt update && apt upgrade -y - name: Install dependencies for Tauri run: apt install -y cargo libwebkit2gtk-4.0-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev - name: Update Rust run: rustup update - 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: 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