Skip to content

chore(deps): bump sharp #237

chore(deps): bump sharp

chore(deps): bump sharp #237

Workflow file for this run

name: CI
on:
push:
pull_request:
permissions:
contents: read
actions: write # required by actions/upload-artifact
# Cancel superseded runs on the same branch/PR.
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
core:
name: Core (Go)
runs-on: ubuntu-latest
timeout-minutes: 15
defaults:
run:
working-directory: core
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: core/go.mod
cache-dependency-path: core/go.sum
- name: Verify Go modules
run: |
go mod verify
go mod tidy
git diff --exit-code go.mod go.sum
- name: Check Go formatting
working-directory: ${{ github.workspace }}
run: |
test -z "$(gofmt -l core/ apps/desktop-wails/)"
- name: go vet
run: go vet ./...
- name: go test with race detector
run: go test -race -count=1 ./...
- name: go build
run: go build -o /tmp/agentvault ./cmd/agentvault
- name: Upload CLI artifact
uses: actions/upload-artifact@v4
with:
name: agentvault-linux-amd64
path: /tmp/agentvault
if-no-files-found: error
frontends:
name: Frontend (${{ matrix.app }})
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
app:
- web-local
- browser-extension
- desktop-wails/frontend
defaults:
run:
working-directory: apps/${{ matrix.app }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: npm
cache-dependency-path: apps/${{ matrix.app }}/package-lock.json
- name: Install dependencies
run: npm ci
- name: Type-check and build
run: npm run build
- name: Run tests
run: npm test
- name: Package browser extension
if: matrix.app == 'browser-extension'
working-directory: apps/browser-extension
run: npm run package
- name: Upload browser extension artifact
if: matrix.app == 'browser-extension'
uses: actions/upload-artifact@v4
with:
name: agentvault-browser-extension
path: apps/browser-extension/agentvault-extension-v*.zip
if-no-files-found: error
mobile:
name: Mobile (Expo type-check and bundle)
runs-on: ubuntu-latest
timeout-minutes: 15
defaults:
run:
working-directory: apps/mobile-expo
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: npm
cache-dependency-path: apps/mobile-expo/package-lock.json
- name: Install dependencies
run: npm ci
- name: Type-check
run: npm run typecheck
- name: Run tests
run: npm test
- name: Bundle iOS with Metro
run: npx expo export --platform ios
- name: Bundle Android with Metro
run: npx expo export --platform android
- name: Upload mobile bundles
uses: actions/upload-artifact@v4
with:
name: agentvault-mobile-bundles
path: |
apps/mobile-expo/dist/ios
apps/mobile-expo/dist/android
if-no-files-found: error
desktop:
name: Desktop (Wails build)
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: apps/desktop-wails/go.mod
cache-dependency-path: apps/desktop-wails/go.sum
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: npm
cache-dependency-path: apps/desktop-wails/frontend/package-lock.json
- name: Verify Go modules
working-directory: apps/desktop-wails
run: |
go mod verify
go mod tidy
git diff --exit-code go.mod go.sum
- name: Install GTK/WebKit system libraries
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev
- name: Build frontend (required by //go:embed frontend/dist)
working-directory: apps/desktop-wails/frontend
run: |
npm ci
npm run build
- name: Run frontend tests
working-directory: apps/desktop-wails/frontend
run: npm test
- name: Build desktop app (Go)
working-directory: apps/desktop-wails
# Ubuntu ships webkit2gtk 4.1, so the webkit2_41 build tag is required.
run: go build -tags webkit2_41 ./...
- name: Build desktop Linux binary
working-directory: apps/desktop-wails
run: go build -tags webkit2_41 -o /tmp/agentvault-desktop .
- name: Upload desktop artifact
uses: actions/upload-artifact@v4
with:
name: agentvault-desktop-linux-amd64
path: /tmp/agentvault-desktop
if-no-files-found: error
contract:
name: Contract (shared client types)
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install contract package dependencies
run: |
cd packages/contract
npm install --no-save typescript@5.4.5
- name: Install app dependencies for type-check
run: |
(cd apps/web-local && npm ci)
(cd apps/browser-extension && npm ci)
(cd apps/mobile-expo && npm ci)
(cd apps/desktop-wails/frontend && npm ci)
- name: Run contract check
run: make contract-check