Skip to content

Bump @mui/x-date-pickers from 7.26.0 to 7.27.0 in /frontend #1433

Bump @mui/x-date-pickers from 7.26.0 to 7.27.0 in /frontend

Bump @mui/x-date-pickers from 7.26.0 to 7.27.0 in /frontend #1433

Workflow file for this run

name: Code quality tests
env:
ALL_PYTHON_VERSIONS: "['3.13']"
ALL_NODE_VERSIONS: "['20']"
CACHE_VERSION: 1
on:
push:
branches:
- main
pull_request:
branches:
- main
permissions:
# Gives the action the necessary permissions for publishing new
# comments in pull requests.
pull-requests: write
# Gives the action the necessary permissions for pushing data to the
# python-coverage-comment-action branch, and for editing existing
# comments (to avoid publishing multiple comments in the same PR)
contents: write
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
info:
runs-on: ubuntu-latest
name: Collect information & changes data
outputs:
run_pipeline: ${{ steps.changes.outputs.core }}
run_pipeline_frontend: ${{ steps.changes.outputs.frontend }}
run_pipeline_docker: ${{ steps.changes.outputs.docker }}
python_versions: ${{ steps.info.outputs.python_versions }}
python_cache_key: ${{ steps.generate_python_cache_key.outputs.key }}
node_versions: ${{ steps.info.outputs.node_versions }}
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Filter for core changes
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36
id: changes
with:
filters: |
core:
- pypmanager/**/*.py
- tests/**/*.py
- pypmanager/**/*.yaml
- pyproject.toml
- .github/workflows/ci.yml
frontend:
- frontend/**/*
- .github/workflows/ci.yml
docker:
- Dockerfile
- .github/workflows/ci.yml
- name: Generate partial Python venv restore key
id: generate_python_cache_key
run: >-
echo "key=venv-${{ env.CACHE_VERSION }}-${{
hashFiles('pyproject.toml') }}" >> $GITHUB_OUTPUT
- name: Collect additional information
id: info
run: |
echo "python_versions: ${ALL_PYTHON_VERSIONS}"
echo "python_versions=${ALL_PYTHON_VERSIONS}" >> $GITHUB_OUTPUT
echo "node_versions: ${ALL_NODE_VERSIONS}"
echo "node_versions=${ALL_NODE_VERSIONS}" >> $GITHUB_OUTPUT
backend-create-environment:
name: "Backend: setup environment"
runs-on: ubuntu-latest
needs: info
timeout-minutes: 5
if: needs.info.outputs.run_pipeline == 'true'
strategy:
matrix:
python-version: ${{ fromJSON(needs.info.outputs.python_versions) }}
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/[email protected]
with:
path: .venv
lookup-only: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Install requirements
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
pip install uv
uv venv
source .venv/bin/activate
uv pip install -e .'[test]'
backend-linter:
name: "Backend: run code linters"
needs:
- info
- backend-create-environment
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
matrix:
python-version: ${{ fromJSON(needs.info.outputs.python_versions) }}
if: needs.info.outputs.run_pipeline == 'true'
steps:
- name: Checkout code
uses: actions/[email protected]
with:
fetch-depth: "2"
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
- name: Restore full Python ${{ steps.python.outputs.python-version }} virtual environment
id: cache-venv
uses: actions/cache/[email protected]
with:
path: .venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Run ruff (fully)
run: |
source .venv/bin/activate
pre-commit run --hook-stage manual ruff --all-files --show-diff-on-failure
env:
RUFF_OUTPUT_FORMAT: github
- name: Run ruff-format
run: |
source .venv/bin/activate
pre-commit run --hook-stage manual ruff-format --all-files --show-diff-on-failure
env:
RUFF_OUTPUT_FORMAT: github
- name: Run mypy
run: |
source .venv/bin/activate
mypy pypmanager
backend-pytest:
name: "Backend: run test suite"
continue-on-error: true
needs:
- info
- backend-create-environment
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
matrix:
python-version: ${{ fromJSON(needs.info.outputs.python_versions) }}
if: needs.info.outputs.run_pipeline == 'true'
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
- name: Restore full Python ${{ steps.python.outputs.python-version }} virtual environment
id: cache-venv
uses: actions/cache/[email protected]
with:
path: .venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Run tests
run: |
source .venv/bin/activate
# Required to make backend tests run
# We don't need the content of the file to contain the javascript
# import
cp frontend/templates/index_template.html frontend/templates/index.html
pytest tests --timeout=30 --cov pypmanager --cov-report term-missing --cov-branch --cov-report xml --cov-report term
- name: Coveralls
uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2.3.6
with:
flag-name: run-${{ join(matrix.*, '-') }}
parallel: true
finish:
name: "Backend: post result to coveralls"
needs: backend-pytest
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2.3.6
with:
parallel-finished: true
carryforward: "run-1,run-2"
frontend-linter:
name: "Frontend: run code linters"
continue-on-error: true
needs:
- info
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
matrix:
node-version: ${{ fromJSON(needs.info.outputs.node_versions) }}
if: needs.info.outputs.run_pipeline_frontend == 'true'
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Set up Node ${{ matrix.node-version }}
uses: actions/[email protected]
with:
node-version: ${{ matrix.node-version }}
- name: Install requirements
run: |
# Enable corepack to allow using another version of yarn
corepack enable
cd frontend
yarn
- run: |
cd frontend
yarn cicd-lint
name: Run Eslint
- run: |
cd frontend
yarn cicd-typecheck
name: Run type hint checks
qa-playwright:
name: "Frontend: run Playwright"
needs:
- info
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
matrix:
node-version: ${{ fromJSON(needs.info.outputs.node_versions) }}
if: needs.info.outputs.run_pipeline_frontend == 'true'
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Set up Node ${{ matrix.node-version }}
uses: actions/[email protected]
with:
node-version: ${{ matrix.node-version }}
- name: Install requirements
run: |
# Enable corepack to allow using another version of yarn
corepack enable
cd frontend
yarn
- run: |
./script/playwright-setup.sh
./script/playwright-run.sh
name: Run Playwright tests
id: playwrightTests
- uses: actions/[email protected]
if: always()
with:
path: frontend/test-results/
retention-days: 1
compression-level: 1
qa-docker:
name: "Docker: try building image"
continue-on-error: true
needs:
- info
runs-on: ubuntu-latest
timeout-minutes: 20
if: needs.info.outputs.run_pipeline_docker == 'true'
strategy:
matrix:
platform:
- linux/amd64
- linux/arm64
# Disabled for now, building Pandas is too slow
# - linux/arm/v7
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Set up QEMU
uses: docker/setup-qemu-action@53851d14592bedcffcf25ea515637cff71ef929a
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5
- name: Build docker image
id: docker_build
run: |
docker buildx build --platform ${{ matrix.platform }} -t removeme .
env:
CI: true