Skip to content

Migrate to monorepo with higlass-schema subpackage #312

Migrate to monorepo with higlass-schema subpackage

Migrate to monorepo with higlass-schema subpackage #312

Workflow file for this run

name: CI
on:
push:
branches:
- main
tags:
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10
pull_request:
branches: main
jobs:
Lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- run: |
uv run ruff check .
Test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- run: uv run pytest
env:
UV_PYTHON: ${{ matrix.python-version }}
LintJavaScript:
name: JavaScript / Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- run: |
deno fmt --check
deno lint
TypecheckJavaScript:
name: JavaScript / Typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: denoland/setup-deno@v2
with:
deno-version: v2.x
- run: |
deno check src/higlass/widget.js
Schema:
name: JS viewconf validation with generated JSON Schema
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- run: |
uv run --package higlass-schema higlass-schema export > schema.json
- uses: actions/setup-node@v4
with:
node-version: '20.x'
- run: npm install -g ajv-cli
- run: ajv validate --spec=draft2020 -s schema.json -d "packages/higlass-schema/tests/fixtures/{docs/examples/viewconfs,test/{view-configs,view-configs-more}}/*.json"
Release:
needs: [Lint, Test]
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags')
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- run: uv build
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1