Skip to content

Commit

Permalink
test coditional testing
Browse files Browse the repository at this point in the history
  • Loading branch information
YigitElma committed Sep 4, 2024
1 parent d2deffa commit 52d5239
Show file tree
Hide file tree
Showing 2 changed files with 120 additions and 4 deletions.
62 changes: 60 additions & 2 deletions .github/workflows/regression_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,38 @@ jobs:

steps:
- uses: actions/checkout@v4

- name: Filter changes
id: changes
uses: dorny/paths-filter@v3
with:
filters: |
has_changes:
- 'desc/**'
- 'tests/**'
- 'requirements.txt'
- 'devtools/dev-requirements.txt'
- 'setup.cfg'
- name: Check for relevant changes
id: check_changes
run: echo "has_changes=${{ steps.changes.outputs.has_changes }}" >> $GITHUB_ENV

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Restore Python environment cache
if: env.has_changes == 'true'
id: restore-env
uses: actions/cache/restore@v4
with:
path: .venv-${{ matrix.python-version }}
key: ${{ runner.os }}-venv-${{ matrix.python-version }}-${{ hashFiles('devtools/dev-requirements.txt', 'requirements.txt') }}

- name: Set up virtual environment if not restored from cache
if: steps.restore-env.outputs.cache-hit != 'true'
if: steps.restore-env.outputs.cache-hit != 'true' && env.has_changes == 'true'
run: |
gh cache list
python -m venv .venv-${{ matrix.python-version }}
Expand All @@ -50,11 +68,13 @@ jobs:
pip install matplotlib==3.7.2
- name: Set Swap Space
if: env.has_changes == 'true'
uses: pierotofy/set-swap-space@master
with:
swap-size-gb: 10

- name: Test with pytest
if: env.has_changes == 'true'
run: |
source .venv-${{ matrix.python-version }}/bin/activate
pip install matplotlib==3.7.2
Expand All @@ -74,7 +94,7 @@ jobs:
--db ./prof.db
- name: save coverage file and plot comparison results
if: always()
if: always() && env.has_changes == 'true'
uses: actions/upload-artifact@v4
with:
name: regression_test_artifact-${{ matrix.python-version }}-${{ matrix.group }}
Expand All @@ -84,6 +104,7 @@ jobs:
./prof.db
- name: Upload coverage
if: env.has_changes == 'true'
id : codecov
uses: Wandalen/[email protected]
with:
Expand All @@ -96,3 +117,40 @@ jobs:
verbose: true
attempt_limit: 10
attempt_delay: 60000 # ms, 1 min

- name: Generate 100% Coverage Report
if: env.has_changes == 'false'
run: |
echo '<?xml version="1.0" ?>
<coverage line-rate="1" lines-covered="1" lines-valid="1" branches-covered="0" branches-valid="0" complexity="0" version="7.6.1">
<sources>
<source>/home/runner/work/DESC/DESC/desc</source>
</sources>
<packages>
<package name="." line-rate="1" branch-rate="1" complexity="0">
<classes>
<class name="__init__.py" filename="__init__.py" complexity="0" line-rate="1" branch-rate="0">
<methods/>
<lines>
<line number="3" hits="1"/>
</lines>
</class>
</classes>
</package>
</packages>
</coverage>' > cov.xml
- name: Upload 100% Coverage Report if skipped
if: env.has_changes == 'false'
id: upload-coverage
uses: Wandalen/[email protected]
with:
action: codecov/codecov-action@v3
with: |
token: ${{ secrets.CODECOV_TOKEN }}
name: codecov-umbrella
files: ./cov.xml
fail_ci_if_error: true
verbose: true
attempt_limit: 10
attempt_delay: 60000 # ms, 1 min
62 changes: 60 additions & 2 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,20 +33,38 @@ jobs:

steps:
- uses: actions/checkout@v4

- name: Filter changes
id: changes
uses: dorny/paths-filter@v3
with:
filters: |
has_changes:
- 'desc/**'
- 'tests/**'
- 'requirements.txt'
- 'devtools/dev-requirements.txt'
- 'setup.cfg'
- name: Check for relevant changes
id: check_changes
run: echo "has_changes=${{ steps.changes.outputs.has_changes }}" >> $GITHUB_ENV

- name: Set up Python ${{ matrix.combos.python_version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.combos.python_version }}

- name: Restore Python environment cache
if: env.has_changes == 'true'
id: restore-env
uses: actions/cache/restore@v4
with:
path: .venv-${{ matrix.combos.python_version }}
key: ${{ runner.os }}-venv-${{ matrix.combos.python_version }}-${{ hashFiles('devtools/dev-requirements.txt', 'requirements.txt') }}

- name: Set up virtual environment if not restored from cache
if: steps.restore-env.outputs.cache-hit != 'true'
if: steps.restore-env.outputs.cache-hit != 'true' && env.has_changes == 'true'
run: |
gh cache list
python -m venv .venv-${{ matrix.combos.python_version }}
Expand All @@ -56,11 +74,13 @@ jobs:
pip install matplotlib==3.7.2
- name: Set Swap Space
if: env.has_changes == 'true'
uses: pierotofy/set-swap-space@master
with:
swap-size-gb: 10

- name: Test with pytest
if: env.has_changes == 'true'
run: |
source .venv-${{ matrix.combos.python_version }}/bin/activate
pip install matplotlib==3.7.2
Expand All @@ -80,7 +100,7 @@ jobs:
--db ./prof.db
- name: save coverage file and plot comparison results
if: always()
if: always() && env.has_changes == 'true'
uses: actions/upload-artifact@v4
with:
name: unit_test_artifact-${{ matrix.combos.python_version }}-${{ matrix.combos.group }}
Expand All @@ -90,6 +110,7 @@ jobs:
./prof.db
- name: Upload coverage
if: env.has_changes == 'true'
id : codecov
uses: Wandalen/[email protected]
with:
Expand All @@ -102,3 +123,40 @@ jobs:
verbose: true
attempt_limit: 10
attempt_delay: 60000 # ms, 1 min

- name: Generate 100% Coverage Report
if: env.has_changes == 'false'
run: |
echo '<?xml version="1.0" ?>
<coverage line-rate="1" lines-covered="1" lines-valid="1" branches-covered="0" branches-valid="0" complexity="0" version="7.6.1">
<sources>
<source>/home/runner/work/DESC/DESC/desc</source>
</sources>
<packages>
<package name="." line-rate="1" branch-rate="1" complexity="0">
<classes>
<class name="__init__.py" filename="__init__.py" complexity="0" line-rate="1" branch-rate="0">
<methods/>
<lines>
<line number="3" hits="1"/>
</lines>
</class>
</classes>
</package>
</packages>
</coverage>' > cov.xml
- name: Upload 100% Coverage Report if skipped
if: env.has_changes == 'false'
id: upload-coverage
uses: Wandalen/[email protected]
with:
action: codecov/codecov-action@v3
with: |
token: ${{ secrets.CODECOV_TOKEN }}
name: codecov-umbrella
files: ./cov.xml
fail_ci_if_error: true
verbose: true
attempt_limit: 10
attempt_delay: 60000 # ms, 1 min

0 comments on commit 52d5239

Please sign in to comment.