Minor id schema fix #478
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test_modules | |
on: | |
push: | |
branches: "**" | |
pull_request_target: | |
types: [opened, reopened, synchronize] | |
branches: "**" | |
jobs: | |
security_check: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get User Permission | |
id: checkAccess | |
uses: actions-cool/check-user-permission@v2 | |
with: | |
require: write | |
username: ${{ github.triggering_actor }} | |
- name: Check User Permission | |
if: steps.checkAccess.outputs.require-result == 'false' | |
run: | | |
echo "${{ github.triggering_actor }} does not have permissions on this repo." | |
echo "Current permission level is ${{ steps.checkAccess.outputs.user-permission }}" | |
echo "Job originally triggered by ${{ github.actor }}" | |
exit 1 | |
test_map: | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 2 | |
matrix: | |
map_args: ["-d 'ENA' -f relecov_tools/schema/ena_schema.json", "-d 'GISAID' -f relecov_tools/schema/gisaid_schema.json"] | |
steps: | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v3 | |
with: | |
python-version: '3.12' | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
fetch-depth: 0 | |
- name: Install package and dependencies | |
run: | | |
pip install -r requirements.txt | |
pip install . | |
- name: Run each module tests | |
run: | | |
relecov-tools map -j tests/data/map_validate/processed_metadata_lab_test.json -p relecov_tools/schema/relecov_schema.json ${{ matrix.map_args }} -o . | |
env: | |
OUTPUT_LOCATION: ${{ github.workspace }}/tests/ | |
- name: Upload output file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-output | |
path: output.txt | |
test_all_modules: | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 4 | |
matrix: | |
modules: | |
- "read-lab-metadata" | |
- "read-bioinfo-metadata" | |
- "validate" | |
- "build-schema" | |
env: | |
OUTPUT_LOCATION: ${{ github.workspace }}/tests/ | |
steps: | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v3 | |
with: | |
python-version: '3.12' | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
fetch-depth: 0 | |
- name: Install package and dependencies | |
run: | | |
pip install -r requirements.txt | |
pip install . | |
- name: Run read-lab-metadata module | |
if: matrix.modules == 'read-lab-metadata' | |
run: | | |
relecov-tools read-lab-metadata \ | |
-m tests/data/read_lab_metadata/metadata_lab_test.xlsx \ | |
-s tests/data/read_lab_metadata/samples_data_test.json \ | |
-o $OUTPUT_LOCATION | |
- name: Run read-bioinfo-metadata module | |
if: matrix.modules == 'read-bioinfo-metadata' | |
run: | | |
relecov-tools read-bioinfo-metadata \ | |
--json_file tests/data/read_bioinfo_metadata/validated_samples.json \ | |
--input_folder tests/data/read_bioinfo_metadata/analysis_folder/ \ | |
--software_name viralrecon \ | |
--soft_validation \ | |
-o $OUTPUT_LOCATION | |
- name: Run validate module with upload files (default) | |
if: matrix.modules == 'validate' | |
run: | | |
python3 tests/test_validate.py \ | |
-j tests/data/map_validate/processed_metadata_lab_test.json \ | |
-m tests/data/map_validate/metadata_lab_test.xlsx \ | |
--upload_files \ | |
-o tests/data/map_validate/ \ | |
-s relecov_tools/schema/relecov_schema.json \ | |
-l tests/data/map_validate/previous_processes_log_summary.json | |
env: | |
TEST_USER: ${{ secrets.TEST_USER }} | |
TEST_PASSWORD: ${{ secrets.TEST_PASSWORD }} | |
TEST_PORT: ${{ secrets.TEST_PORT }} | |
GITHUB_WORKSPACE: ${{ github.workspace }} | |
- name: Run build-schema module | |
if: matrix.modules == 'build-schema' | |
run: | | |
relecov-tools build-schema \ | |
-i tests/data/build_schema/metadata_mapping_file.xlsx \ | |
--version $SCHEMA_DEFAULT_VERSION \ | |
--project $PROJECT_NAME \ | |
--non-interactive \ | |
-o $OUTPUT_LOCATION | |
env: | |
SCHEMA_DEFAULT_VERSION: "3.0.0" | |
PROJECT_NAME: "relecov" | |
- name: Upload output file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-output | |
path: ${{ github.workspace }}/output.txt |