Skip to content

Bump version: 0.3.2 → 0.4.0 #111

Bump version: 0.3.2 → 0.4.0

Bump version: 0.3.2 → 0.4.0 #111

name: Build and Validate
on:
push:
concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true
env:
PROJECT_NAME: data_diff_viewer
POETRY_VERSION: "2.1.1"
jobs:
Build-and-Validate:
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
os: [windows-latest, ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install poetry
uses: abatilo/actions-poetry@v3
with:
poetry-version: ${{ env.POETRY_VERSION }}
- name: Poetry lock
run: poetry lock
- name: Set up poetry cache
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'poetry'
# Python #
- name: Install project
run: poetry install
- name: Linter ruff (replaces black, isort, flake8 and safety)
run: poetry run ruff check .
- name: Linter mypy
run: poetry run mypy ${{ env.PROJECT_NAME }}
- name: Security safety
run: poetry run safety check
# Javascript #
- name: Install nodejs
run: dev/bin/clean_install_npm.sh
# This does not work on Windows, for some reason
- name: Linter eslint
run: |
cd javascript/data-diff-viewer
npm run lint
if: matrix.os != 'windows-latest'
- name: Build html template
run: dev/bin/build_html_template.sh
# - name: Run Unit Tests
# run: poetry run coverage run -m pytest
# - name: Create coverage.xml
# run: poetry run coverage xml