From 932280dedf39bc023e70c6c4f0706360954dae4c Mon Sep 17 00:00:00 2001 From: munimunigamer Date: Mon, 26 Jan 2026 21:21:06 -0600 Subject: [PATCH] added alpha, beta, and rc releases with tags --- .github/workflows/ci.yml | 129 ++++++++++++++++++++++++++++++++++ .github/workflows/release.yml | 3 +- 2 files changed, 130 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..9560254 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,129 @@ +name: CI (Pre-release) + +on: + push: + tags: + - 'v*-alpha*' # v0.5.5-alpha.1 + - 'v*-beta*' # v0.5.5-beta.1 + - 'v*-rc*' # v0.5.5-rc.1 + pull_request: + branches: + - master + workflow_dispatch: + +env: + CARGO_TERM_COLOR: always + +permissions: + contents: write + +jobs: + check: + name: Type Check & Lint + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Run type check + run: npm run check + + build-frontend: + name: Build Frontend + runs-on: ubuntu-latest + needs: check + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Build frontend + run: npm run build + + build-desktop: + name: Build Desktop (${{ matrix.artifact_name }}) + needs: check + if: startsWith(github.ref, 'refs/tags/') + strategy: + fail-fast: false + matrix: + include: + - platform: ubuntu-22.04 + target: x86_64-unknown-linux-gnu + artifact_name: linux + - platform: windows-latest + target: x86_64-pc-windows-msvc + artifact_name: windows + - platform: macos-latest + target: x86_64-apple-darwin + artifact_name: macos-intel + - platform: macos-latest + target: aarch64-apple-darwin + artifact_name: macos-arm + + runs-on: ${{ matrix.platform }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + targets: ${{ matrix.target }} + + - name: Rust cache + uses: swatinem/rust-cache@v2 + with: + workspaces: './src-tauri -> target' + + - name: Install Linux dependencies + if: matrix.platform == 'ubuntu-22.04' + run: | + sudo apt-get update + sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf + + - name: Install dependencies + run: npm ci + + - name: Build Tauri app + uses: tauri-apps/tauri-action@v0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} + TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} + with: + tagName: ${{ github.ref_name }} + releaseName: 'Aventura ${{ github.ref_name }}' + releaseBody: | + **Pre-release build** + + This is a test/preview release. Use at your own risk. + releaseDraft: false + prerelease: true + args: --target ${{ matrix.target }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 17e58ab..31fc396 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,7 +3,7 @@ name: Release on: push: tags: - - 'v*' + - 'v[0-9]+.[0-9]+.[0-9]+' # Stable releases only (v1.0.0) workflow_dispatch: inputs: version: @@ -160,7 +160,6 @@ jobs: path: aventura-release.apk - name: Upload to Release - if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v1 with: draft: true