Skip to content

Commit

Permalink
updated yml to run all analysis
Browse files Browse the repository at this point in the history
  • Loading branch information
khajoue2 committed Dec 13, 2024
1 parent b8b740b commit f686bbc
Showing 1 changed file with 90 additions and 10 deletions.
100 changes: 90 additions & 10 deletions .github/workflows/gtf_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,37 @@ jobs:
python -m pip install --upgrade pip
pip install pandas
- name: Create output directory
run: mkdir -p test_output
- name: Create directories
run: |
mkdir -p test_data
mkdir -p test_output
mkdir -p test_output/comparison_files
mkdir -p test_data/reference_outputs
- name: Create test data
run: python create_test_gtfs.py

# First run: Create reference GTF if it doesn't exist
- name: Create reference GTF
if: ${{ !hashFiles('test_data/reference_outputs/reference_modified.gtf') }}
env:
PYTHONPATH: ${{ github.workspace }}/3rd-party-tools/build-indices
run: |
python modify_gtf.py \
-i test_data/test1.gtf \
-o test_data/reference_outputs/reference_modified.gtf \
-b Biotypes.tsv
- name: Verify required files exist
# Run unit tests
- name: Run unit tests
id: unit_tests
env:
PYTHONPATH: ${{ github.workspace }}/3rd-party-tools/build-indices
run: |
ls test_data/test1.gtf
ls Biotypes.tsv
python -m unittest test_gtf_comparison.py -v
continue-on-error: true

# Run modify_gtf and comparison
- name: Run modify_gtf script
env:
PYTHONPATH: ${{ github.workspace }}/3rd-party-tools/build-indices
Expand All @@ -44,21 +67,78 @@ jobs:
-o test_output/modified_test1.gtf \
-b Biotypes.tsv
- name: Run comparison tests
- name: Run comparison
id: comparison
env:
PYTHONPATH: ${{ github.workspace }}/3rd-party-tools/build-indices
run: |
python compare_gtfs.py \
test_data/test1.gtf \
test_output/modified_test1.gtf \
--output-prefix test_output/comparison
--output-prefix test_output/comparison_files/comparison
continue-on-error: true

- name: Upload test results
- name: Create comparison summary
run: |
echo "GTF Comparison Summary" > test_output/comparison_files/summary.txt
echo "Generated on: $(date)" >> test_output/comparison_files/summary.txt
echo "\nInput GTF: test_data/test1.gtf" >> test_output/comparison_files/summary.txt
echo "Modified GTF: test_output/modified_test1.gtf\n" >> test_output/comparison_files/summary.txt
echo "=== Structural Differences ===" >> test_output/comparison_files/summary.txt
cat test_output/comparison_files/comparison_structural_diff.txt >> test_output/comparison_files/summary.txt
echo "\n=== Gene Differences ===" >> test_output/comparison_files/summary.txt
cat test_output/comparison_files/comparison_gene_diff.txt >> test_output/comparison_files/summary.txt
echo "\n=== Attribute Differences ===" >> test_output/comparison_files/summary.txt
cat test_output/comparison_files/comparison_attribute_diff.txt >> test_output/comparison_files/summary.txt
- name: Zip comparison results
run: |
cd test_output
zip -r comparison_results.zip comparison_files/
cd ..
- name: Upload test artifacts
uses: actions/upload-artifact@v4
if: always()
with:
name: gtf-test-results
path: |
3rd-party-tools/build-indices/test_output/
3rd-party-tools/build-indices/test_output/comparison_results.zip
3rd-party-tools/build-indices/test_output/modified_test1.gtf
3rd-party-tools/build-indices/test_data/test1.gtf
3rd-party-tools/build-indices/Biotypes.tsv
3rd-party-tools/build-indices/Biotypes.tsv
3rd-party-tools/build-indices/test_data/reference_outputs/reference_modified.gtf
compression-level: 9

- name: Check test results
if: always()
run: |
# Print test summary
echo "=== Test Results Summary ==="
# Check unit tests result
if [ "${{ steps.unit_tests.outcome }}" == "success" ]; then
echo "✅ Unit tests passed"
else
echo "❌ Unit tests failed"
TESTS_FAILED=true
fi
# Check comparison results
if [ -f test_output/comparison_files/comparison_structural_diff.txt ]; then
if grep -q "differs in" test_output/comparison_files/comparison_structural_diff.txt; then
echo "❌ GTF comparison found differences"
cat test_output/comparison_files/summary.txt
TESTS_FAILED=true
else
echo "✅ GTF comparison passed"
fi
fi
# Fail if any tests failed
if [ "$TESTS_FAILED" = true ]; then
exit 1
fi

0 comments on commit f686bbc

Please sign in to comment.