Skip to content

Added Devcontainer #1227

Added Devcontainer

Added Devcontainer #1227

Workflow file for this run

name: Build
on:
workflow_dispatch:
push:
branches: main
pull_request:
branches: '*'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install pixi
uses: prefix-dev/setup-pixi@v0.9.1
with:
pixi-version: v0.55.0
cache: false
manifest-path: pyproject.toml
- name: Install dependencies
run: |
pixi run dev-install
- name: Lint
run: |
set -eux
pixi run node-prettier-write && pixi run node-prettier-check && pixi run node-eslint-check
- name: Test the frontend
run: |
set -eux
pixi run test-frontend
- name: Test the backend
run: |
set -eux
pixi run test-backend
- name: Build the frontend
run: |
set -eux
pixi run node-build
- name: Package the app
run: |
set -eux
pixi run pypi-build
- name: Upload package to GH
uses: actions/upload-artifact@v4
with:
name: extension-artifacts
path: dist/fileglancer*
if-no-files-found: error
integration-tests:
name: Integration tests
runs-on: ubuntu-latest
env:
PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/pw-browsers
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install pixi
uses: prefix-dev/setup-pixi@v0.9.1
with:
pixi-version: v0.55.0
cache: false
manifest-path: pyproject.toml
- name: Install dependencies
run: |
pixi run dev-install
pixi run node-install-ui-tests
- name: Install browser
run: npx playwright install chromium
working-directory: frontend/ui-tests
- name: Set up browser cache
uses: actions/cache@v4
with:
path: |
${{ github.workspace }}/pw-browsers
key: ${{ runner.os }}-${{ hashFiles('frontend/ui-tests/yarn.lock') }}
- name: Execute integration tests
run: |
pixi run test-ui
- name: Upload Playwright Test report
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v4
with:
name: fileglancer-playwright-tests
path: |
frontend/ui-tests/test-results
frontend/ui-tests/playwright-report
check_links:
name: Check README links
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
- uses: jupyterlab/maintainer-tools/.github/actions/check-links@v1