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
2 changes: 1 addition & 1 deletion .env.example
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
VITE_SITE_ADDRESS=
VITE_BOOTSTRAPPERS=
VITE_LENS_NODE=
144 changes: 101 additions & 43 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,112 @@
# This workflow is the entry point for all CI processes.
# It is from here that all other workflows are launched.
name: Orbiter tests
name: Continuous Integration

on:
workflow_dispatch:
push:
branches:
- main
- 'renovate/**'
tags:
- v*
paths-ignore:
- '.github/**'
- '!.github/workflows/*.yml'
- '**.md'
- .editorconfig
- .gitignore
- '.idea/**'
- '.vscode/**'
pull_request:
paths-ignore:
- '.github/**'
- '!.github/workflows/*.yml'
- '**.md'
- .editorconfig
- .gitignore
- '.idea/**'
- '.vscode/**'

concurrency:
group: ci-${{ github.ref }}
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
typechecking:
uses: ./.github/workflows/typechecking.yml
# tests:
# uses: ./.github/workflows/tests.yml
# web_tests:
# uses: ./.github/workflows/webTests.yml
# publish_web_app:
# needs: [ web_tests ]
# uses: ./.github/workflows/publishPage.yml
# draft_release:
# permissions:
# contents: write # Allows this job to create releases
# with:
# dry-run: ${{ github.event_name != 'push' || github.ref_name != 'main' }}
# needs: [ typechecking, tests ]
# uses: ./.github/workflows/release.yml
# merge_pr:
# needs: [ typechecking, publish_web_app, draft_release ]
# uses: ./.github/workflows/mergePr.yml
# ----------------------------------------------------
# Job 1: Quick checks (Linting & Type-checking)
# ----------------------------------------------------
quality_checks:
name: Lint & Type-Check
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup pnpm
# The action will automatically use the version from package.json
uses: pnpm/action-setup@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'pnpm'

- name: Install Dependencies
run: pnpm install --frozen-lockfile
env:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1

- name: Run Linting
run: pnpm run lint

- name: Run Type-Checking
run: pnpm run typecheck

# ----------------------------------------------------
# Job 2: Unit Tests
# ----------------------------------------------------
unit_tests:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'pnpm'

- name: Install Dependencies
run: pnpm install --frozen-lockfile
env:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1

- name: Run Unit Tests
run: pnpm run test:unit

# ----------------------------------------------------
# Job 3: End-to-End Tests
# ----------------------------------------------------
e2e_tests:
name: Build & E2E Tests
needs: [quality_checks, unit_tests]
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4

- 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 exec playwright install --with-deps

- name: Build Web Application
run: pnpm run build

- name: Run E2E Tests
run: |
pnpm run preview &
pnpm run test:e2e

- name: Upload Test Report
if: failure()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: playwright-report/
retention-days: 7
56 changes: 0 additions & 56 deletions .github/workflows/lint.yml

This file was deleted.

17 changes: 0 additions & 17 deletions .github/workflows/mergePr.yml

This file was deleted.

32 changes: 0 additions & 32 deletions .github/workflows/publishPage.yml

This file was deleted.

20 changes: 0 additions & 20 deletions .github/workflows/pullRequest.yml

This file was deleted.

67 changes: 0 additions & 67 deletions .github/workflows/release.yml

This file was deleted.

Loading
Loading