stort/.github/workflows/build-validation.yml

80 lines
2.4 KiB
YAML
Raw Normal View History

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
2024-08-07 22:17:58 +08:00
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 libwebkit2gtk-4.0-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
- name: Install Rust
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
. "$HOME/.cargo/env"
rustup update
2024-08-08 00:35:49 +08:00
- 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