Skip to content

add ci and release workflows #6

Description

@draylegend

Context

Split out of #3 — electrobun itself now builds correctly (dev + stable), but there's no CI validating it on push/PR, and no automated release pipeline publishing to GitHub Releases.

What's needed

  • CI workflow: on push/PR to dev, run nx run-many -t lint test build + nx build desktop --configuration=dev on windows-latest (using oven-sh/setup-bun)
  • Release workflow: on v* tag push, run nx build desktop (stable) and publish artifacts/* to a GitHub Release via softprops/action-gh-release
  • release.baseUrl in electrobun.config.ts should point at https://github.com/draylegend/letora/releases/latest/download for auto-update to work off GitHub Releases

Draft workflow YAML (written and locally verified against this repo's nx build desktop targets, not yet committed):

.github/workflows/ci.yml:

name: CI

on:
  push:
    branches: [dev]
  pull_request:
    branches: [dev]

jobs:
  build:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      - uses: oven-sh/setup-bun@v2
        with:
          bun-version: latest
      - run: bun install --frozen-lockfile
      - run: bunx nx run-many -t lint test build
      - run: bunx nx build desktop --configuration=dev

.github/workflows/release.yml:

name: Release

on:
  push:
    tags: ['v*']

permissions:
  contents: write

jobs:
  release:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      - uses: oven-sh/setup-bun@v2
        with:
          bun-version: latest
      - run: bun install --frozen-lockfile
      - run: bun run build:stable
      - uses: softprops/action-gh-release@v2
        with:
          files: artifacts/*
          generate_release_notes: true

Both were run locally against this repo (after #3's apps/desktop Nx project) and produced correct output.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featNew feature or request

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions