Skip to content

chore(deps): bump pinia from 3.0.4 to 4.0.2 #436

chore(deps): bump pinia from 3.0.4 to 4.0.2

chore(deps): bump pinia from 3.0.4 to 4.0.2 #436

Workflow file for this run

name: Test
on:
pull_request:
push:
branches: [main]
env:
PNPM_VERSION: 10.27.0
NODE_VERSION: 24.15.0
OCIS_URL: https://localhost:9200
jobs:
license-check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Install REUSE tool
run: pip install reuse
- name: Run REUSE lint
run: reuse lint
dependency-license-check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup pnpm
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: ${{ env.PNPM_VERSION }}
- name: Setup Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm
- name: Install dependencies
run: pnpm install
- name: Check dependency licenses
run: |
# @ownclouders/* packages are company-owned and externalized from build output — excluded from scan
npx license-checker --production \
--failOn "GPL-2.0;GPL-3.0;AGPL-3.0;AGPL-1.0" \
--excludePackages "@ownclouders/web-client;@ownclouders/web-pkg;@ownclouders/design-system" \
--excludePrivatePackages
check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup pnpm
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: ${{ env.PNPM_VERSION }}
- name: Setup Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm
- name: Install dependencies
run: pnpm install
- name: Check types
run: pnpm check:types
- name: Lint
run: pnpm lint
test:
runs-on: ubuntu-latest
needs: check
strategy:
fail-fast: false
matrix:
app:
- web-app-advanced-search
- web-app-cast
- web-app-draw-io
- web-app-external-sites
- web-app-importer
- web-app-json-viewer
- web-app-photo-addon
- web-app-progress-bars
- web-app-unzip
- web-app-ai-doc-summary
- web-app-ai-quick-draft-creator
- web-app-ai-image-alt-text-sidebar
- web-app-chat-with-file
- ai-llm-proxy
- web-app-version-changelog
- web-app-group-management
- web-app-file-comments
- web-app-ai-folder-brief-sidebar
- web-app-ai-sensitive-data-scanner
- web-app-ai-data-insights-sidebar
- web-app-ai-multi-doc-synthesizer
- web-app-ai-smart-file-tagger-qa
- web-app-ai-smart-collections-nav
- web-app-ai-folder-readme-generator
steps:
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup pnpm
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: ${{ env.PNPM_VERSION }}
- name: Setup Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm
- name: Install dependencies
run: pnpm install
- name: Run unit tests
run: pnpm --filter ./packages/${{ matrix.app }} test:unit
- name: Build
run: pnpm --filter ./packages/${{ matrix.app }} build
- name: Copy manifest
if: matrix.app == 'web-app-external-sites'
run: cp ./packages/web-app-external-sites/tests/config/manifest.json ./packages/web-app-external-sites/dist/manifest.json
- name: Setup oCIS
run: |
docker run -d --name ocis \
-p 9200:9200 \
-e OCIS_URL=${{ env.OCIS_URL }} \
-e OCIS_INSECURE=true \
-e OCIS_LOG_LEVEL=error \
-e IDM_ADMIN_PASSWORD=admin \
-e PROXY_ENABLE_BASIC_AUTH=true \
-e WEB_ASSET_APPS_PATH=/apps \
-e WEB_UI_CONFIG_FILE=/web/config.json \
-e PROXY_CSP_CONFIG_FILE_LOCATION=/etc/ocis/csp.yaml \
-v ${{github.workspace}}/packages/${{matrix.app}}/dist:/apps/${{matrix.app}} \
-v ${{github.workspace}}/support/actions/ocis.web.config.json:/web/config.json \
-v ${{github.workspace}}/dev/docker/csp.yaml:/etc/ocis/csp.yaml \
-v ${{github.workspace}}/support/actions/ocis.apps.yaml:/etc/ocis/apps.yaml \
--entrypoint sh \
owncloud/ocis-rolling:latest \
-c "ocis init || true && ocis server"
- name: Wait for oCIS
run: |
echo "Waiting for oCIS"
# 150s timeout
for i in {1..30}; do
if curl -kfsSL "${{ env.OCIS_URL }}" > /dev/null; then
echo "oCIS is up ✅"
exit 0
fi
echo "Retrying in 5s..."
sleep 5
done
echo "❌ oCIS failed to start"
docker logs ocis
exit 1
- name: Cache Playwright browsers
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
id: playwright-cache
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install Playwright browsers
run: pnpm exec playwright install --with-deps
- name: Run E2E tests
env:
BASE_URL_OCIS: ${{ env.OCIS_URL }}
OCIS_PASSWORD: admin
run: pnpm --filter ./packages/${{ matrix.app }} test:e2e
- name: Upload test results
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: failure()
with:
name: test-results-${{ matrix.app }}
path: ./packages/${{ matrix.app }}/test-results/
retention-days: 7
- name: Dump oCIS logs
if: failure()
run: docker logs ocis
check-tests-passed:
needs: [license-check, dependency-license-check, check, test]
runs-on: ubuntu-latest
if: always()
steps:
- name: Check all test jobs passed
run: |
if [[ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}" == "true" ]]; then
exit 1
fi