Skip to content

feat: refactor

feat: refactor #32

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
env:
PYTHON_VERSION: 3.11
permissions:
id-token: write
contents: read
jobs:
formatting:
runs-on: ubuntu-latest
steps:
- name: Check out the code
uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install poetry
run: pip install poetry
- name: Determine dependencies
run: poetry lock
- uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: poetry
- name: Install Dependencies using Poetry
run: poetry install
- name: Check formatting
run: poetry run black --check .
linting:
runs-on: ubuntu-latest
steps:
- name: Check out the code
uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install poetry
run: pip install poetry
- name: Determine dependencies
run: poetry lock
- uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: poetry
- name: Install Dependencies using Poetry
run: poetry install
- name: Check code
run: poetry run flake8
testing:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install poetry
run: pip install poetry
- name: Determine dependencies
run: poetry lock
- uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: poetry
- name: Set up Docker Compose
run: |
sudo apt-get update
sudo apt-get install docker-compose
- name: Start MinIO service
run: docker-compose -f tests/docker-compose.yml up -d
- name: Install MinIO Client CLI
run: |
curl -O https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
- name: Configure MinIO client
run: |
mc alias set minio http://localhost:9000 minio minio123
- name: Install dependencies
run: poetry install
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: "${{ secrets.SNAKEMAKE_AWS_BATCH_REGION }}"
role-to-assume: "${{ secrets.GH_AWS_ROLE_ARN }}"
role-session-name: "GitHubActions"
- name: Run pytest
env:
SNAKEMAKE_AWS_BATCH_REGION: "${{ secrets.SNAKEMAKE_AWS_BATCH_REGION }}"
SNAKEMAKE_AWS_BATCH_JOB_QUEUE: "${{ secrets.SNAKEMAKE_AWS_BATCH_JOB_QUEUE }}"
SNAKEMAKE_AWS_BATCH_JOB_ROLE: "${{ secrets.SNAKEMAKE_AWS_BATCH_JOB_ROLE }}"
run: poetry run coverage run -m pytest tests/tests_mocked_api.py -v
- name: Run Coverage
run: poetry run coverage report -m