Skip to content

Rebuild project to allow multiple integrations #8

Rebuild project to allow multiple integrations

Rebuild project to allow multiple integrations #8

Workflow file for this run

name: CI
on:
push:
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
frontend:
name: Shared package and Nextcloud frontend
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Check out repository
uses: actions/checkout@v7
- name: Set up pnpm
uses: pnpm/action-setup@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: '24.11'
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run frontend checks
run: pnpm check
- name: Package the Nextcloud app
run: pnpm package:nextcloud
- name: Upload Nextcloud build
uses: actions/upload-artifact@v6
with:
name: butterfly-nextcloud
path: dist/nextcloud
php:
name: PHP
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Check out repository
uses: actions/checkout@v7
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
coverage: none
extensions: zip
tools: composer:v2
- name: Install dependencies
run: composer --working-dir=integrations/nextcloud install --no-interaction --prefer-dist --no-progress
- name: Check PHP syntax
run: composer --working-dir=integrations/nextcloud lint
- name: Check PHP coding standards
run: composer --working-dir=integrations/nextcloud cs:check
- name: Run static analysis
run: composer --working-dir=integrations/nextcloud psalm
- name: Run unit tests
run: composer --working-dir=integrations/nextcloud test:unit