Skip to content

Set up ruff and fix trivial rules (#165) #377

Set up ruff and fix trivial rules (#165)

Set up ruff and fix trivial rules (#165) #377

Workflow file for this run

# Copyright (c) University College London Hospitals NHS Foundation Trust
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: pixl-ci
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
jobs:
lint:
runs-on: ubuntu-22.04
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Ensure copyright and license header are present
run: ./.github/linters/check_headers_exist.sh
- name: Run pre-commit
uses: pre-commit/action@v3.0.0
with:
extra_args: --all-files
- name: Validate Docker Compose config file
working-directory: .
run: |
cp .env.sample .env
docker compose config --quiet
hasher-tests:
runs-on: ubuntu-22.04
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- name: Init Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
cache: 'pip'
- name: Install package
run: |
pip install hasher/[test]
- name: Run tests
working-directory: hasher
run: pytest
env:
ENV: test
AZURE_KEY_VAULT_NAME: test
AZURE_KEY_VAULT_SECRET_NAME: test
core-tests:
runs-on: ubuntu-22.04
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- name: Init Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
cache: 'pip'
- name: Install Python dependencies
run: |
pip install pixl_core/[test]
- name: Run tests
working-directory: pixl_core/tests
run: |
docker compose up --build --exit-code-from test
docker compose down
env:
ENV: test
dicom-de-id-tests:
runs-on: ubuntu-22.04
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- name: Init Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
cache: 'pip'
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r pixl_dcmd/src/requirements.txt
- name: Run tests
working-directory: pixl_dcmd
run: |
bin/run-tests.sh
env:
ENV: test
cli-tests:
runs-on: ubuntu-22.04
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- name: Init Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
cache: 'pip'
- name: Install Python dependencies
run: |
pip install pixl_core/[test] cli/[test]
- name: Run tests
working-directory: cli/tests
run: |
./run-tests.sh
ehr-api-tests:
runs-on: ubuntu-22.04
timeout-minutes: 15
steps:
- uses: actions/checkout@v3
- name: Init Python
uses: actions/setup-python@v4
with:
python-version: 3.10.6
cache: 'pip'
- name: Install Python dependencies
run: |
pip install pixl_core/[test] pixl_ehr/[test]
python -m spacy download en_core_web_lg
- name: Run tests
working-directory: pixl_ehr/tests
env:
INFORMDB_PAT: ${{ secrets.INFORMDB_PAT }}
run: |
./run-tests.sh
pacs-api-tests:
runs-on: ubuntu-22.04
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- name: Init Python
uses: actions/setup-python@v4
with:
python-version: 3.10.6
cache: 'pip'
- name: Install Python dependencies
run: |
pip install pixl_core/[test] pixl_pacs/[test]
- name: Run tests
working-directory: pixl_pacs/tests
run: |
./run-tests.sh