Skip to content

Fix concat call on preflight headers #2028

Fix concat call on preflight headers

Fix concat call on preflight headers #2028

Workflow file for this run

# SPDX-FileCopyrightText: LXCat team
#
# SPDX-License-Identifier: AGPL-3.0-or-later
name: Test
on:
push:
branches:
- main
pull_request:
branches:
- main
types:
- opened
- reopened
- synchronize
- ready_for_review
workflow_dispatch:
permissions:
contents: read
packages: read
pull-requests: write
env:
NEXT_PUBLIC_URL: http://localhost:3000
jobs:
build:
runs-on: ubuntu-22.04
if: ${{ !github.event.pull_request.draft }}
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: |
${{ github.workspace }}/packages/schema/dist
${{ github.workspace }}/packages/database/dist
${{ github.workspace }}/packages/converter/dist
${{ github.workspace }}/packages/converter/target
${{ github.workspace }}/app/.next/
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('**/*.[jt]s', '**/*.[jt]sx') }}
restore-keys: ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-
- uses: pnpm/action-setup@v3
with:
version: 8
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: llvm-tools-preview
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: Setup environment for coverage collection in `@lxcat/converter`
run: |
cd packages/converter
cargo llvm-cov show-env | tr -d \' >> $GITHUB_ENV
cd -
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build packages
run: pnpm build
- name: Lint
run: pnpm lint
test-app:
needs: build
runs-on: ubuntu-22.04
if: ${{ !github.event.pull_request.draft }}
steps:
- uses: actions/checkout@v4
- uses: actions/cache/restore@v4
with:
path: |
${{ github.workspace }}/packages/schema/dist
${{ github.workspace }}/packages/database/dist
${{ github.workspace }}/packages/converter/dist
${{ github.workspace }}/packages/converter/target
${{ github.workspace }}/app/.next/
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('**/*.[jt]s', '**/*.[jt]sx') }}
- uses: pnpm/action-setup@v3
with:
version: 8
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Install playwright browsers
run: pnpm -C app exec playwright install chromium --with-deps
- name: Run unit tests
run: pnpm -C app test -- run --coverage.enabled --coverage.all=false
- name: Run end-to-end tests
run: pnpm -C app test:e2e
- name: Build end-to-end coverage report
run: pnpm -C app coverage:report
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: ./app/coverage
flags: app
test-database:
needs: build
runs-on: ubuntu-22.04
if: ${{ !github.event.pull_request.draft }}
steps:
- uses: actions/checkout@v4
- uses: actions/cache/restore@v4
with:
path: |
${{ github.workspace }}/packages/schema/dist
${{ github.workspace }}/packages/database/dist
${{ github.workspace }}/packages/converter/dist
${{ github.workspace }}/packages/converter/target
${{ github.workspace }}/app/.next/
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('**/*.[jt]s', '**/*.[jt]sx') }}
- uses: pnpm/action-setup@v3
with:
version: 8
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Test @lxcat/database
run: pnpm -C packages/database test -- run --coverage --pool=forks
- name: Upload coverage report to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: packages/database/coverage/coverage-final.json
flags: database
test-schema:
needs: build
runs-on: ubuntu-22.04
if: ${{ !github.event.pull_request.draft }}
steps:
- uses: actions/checkout@v4
- uses: actions/cache/restore@v4
with:
path: |
${{ github.workspace }}/packages/schema/dist
${{ github.workspace }}/packages/database/dist
${{ github.workspace }}/packages/converter/dist
${{ github.workspace }}/packages/converter/target
${{ github.workspace }}/app/.next/
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('**/*.[jt]s', '**/*.[jt]sx') }}
- uses: pnpm/action-setup@v3
with:
version: 8
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Test @lxcat/schema
run: pnpm -C packages/schema test -- run --coverage
- name: Upload coverage report to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: packages/schema/coverage/coverage-final.json
flags: schema
test-converter:
needs: build
runs-on: ubuntu-22.04
if: ${{ !github.event.pull_request.draft }}
steps:
- uses: actions/checkout@v4
- uses: actions/cache/restore@v4
with:
path: |
${{ github.workspace }}/packages/schema/dist
${{ github.workspace }}/packages/database/dist
${{ github.workspace }}/packages/converter/dist
${{ github.workspace }}/packages/converter/target
${{ github.workspace }}/app/.next/
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('**/*.[jt]s', '**/*.[jt]sx') }}
- uses: pnpm/action-setup@v3
with:
version: 8
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: llvm-tools-preview
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: Setup environment for coverage collection
run: |
cd packages/converter
cargo llvm-cov show-env | tr -d \' >> $GITHUB_ENV
cd -
- name: Test @lxcat/converter
run: pnpm -C packages/converter test
- name: Generate code coverage report
run: |
cd packages/converter
cargo llvm-cov report -r --codecov --output-path codecov.json
cd -
- name: Upload coverage report to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: packages/converter/codecov.json
flags: converter
reuse:
runs-on: ubuntu-22.04
if: ${{ !github.event.pull_request.draft }}
steps:
- uses: actions/checkout@v4
- name: REUSE compliance check
uses: fsfe/reuse-action@v3