Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 28 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,16 @@ jobs:
- name: Lint
run: npm -ws run lint --if-present
continue-on-error: true
- name: Web unit tests
run: npm --workspace apps/web run test:unit
- name: Desktop frontend tests
run: npm --workspace apps/desktop run test
- name: Build web
run: npm --workspace apps/web run build
- name: Smoke test the Pages build under /gitcontext/
run: |
npm --workspace apps/web exec -- playwright install --with-deps chromium
npm --workspace apps/web run test:pages
- name: Upload web artifact
uses: actions/upload-artifact@v4
with:
Expand All @@ -36,7 +44,20 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
include:
# Unsigned here; release.yml signs and notarizes the macOS build.
- os: macos-latest
args: --target universal-apple-darwin
rust-targets: aarch64-apple-darwin,x86_64-apple-darwin
bundle: apps/desktop/src-tauri/target/universal-apple-darwin/release/bundle/
- os: windows-latest
args: ""
rust-targets: ""
bundle: apps/desktop/src-tauri/target/release/bundle/
- os: ubuntu-22.04
args: ""
rust-targets: ""
bundle: apps/desktop/src-tauri/target/release/bundle/
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -47,26 +68,26 @@ jobs:
cache: 'npm'
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.rust-targets }}
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './apps/desktop/src-tauri -> target'
- name: Install dependencies
run: npm ci
- name: Install Linux dependencies
if: matrix.os == 'ubuntu-latest'
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: Build Tauri desktop app
uses: tauri-apps/tauri-action@v0
with:
projectPath: apps/desktop
tauriScript: npm run tauri --workspace=gitcontext-desktop
shell: bash
run: npm run tauri --workspace=gitcontext-desktop -- build ${{ matrix.args }}
- name: Upload desktop artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: desktop-${{ matrix.os }}
path: apps/desktop/src-tauri/target/release/bundle/
path: ${{ matrix.bundle }}
retention-days: 7
61 changes: 61 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# The web app on GitHub Pages: https://kccarlos.github.io/gitcontext/

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add the required story verification report

A repo-wide search of .codex/ralph-gitcontext/verify found no report covering this release/Pages story, so the commit lacks the required record of commands and pass/fail results, changed files, unresolved risks, and the standalone verification marker; add the story-specific report before landing this workflow.

AGENTS.md reference: AGENTS.md:L42-L50

Useful? React with 👍 / 👎.

#
# Independent of the desktop release on purpose: a signing or packaging
# failure never takes the site down. The build is smoke-tested under the
# /gitcontext/ base path before it is deployed.
name: Deploy Pages

on:
push:
branches: [main]
workflow_dispatch:

permissions:
contents: read

concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm

- run: npm ci

- name: Unit tests
run: npm --workspace apps/web run test:unit

- name: Build
run: npm --workspace apps/web run build

- name: Smoke test the build under /gitcontext/
run: |
npm --workspace apps/web exec -- playwright install --with-deps chromium
npm --workspace apps/web run test:pages

- uses: actions/configure-pages@v5

- uses: actions/upload-pages-artifact@v3
with:
path: apps/web/dist

deploy:
needs: build
runs-on: ubuntu-latest
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- id: deployment
uses: actions/deploy-pages@v4
Loading
Loading