-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
17 changed files
with
320 additions
and
83 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
name: Cache dependencies | ||
# This workflow is triggered every 2 days and updates the Python | ||
# and pip dependencies cache | ||
on: | ||
schedule: | ||
- cron: '30 4 */2 * *' # This triggers the workflow at 4:30 AM every 2 days | ||
workflow_dispatch: | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
env: | ||
GH_TOKEN: ${{ github.token }} | ||
strategy: | ||
matrix: | ||
python-version: ['3.9', '3.10', '3.11', '3.12'] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Delete old cached file with same python version | ||
run: | | ||
echo "Current Cached files list" | ||
gh cache list | ||
echo "Deleting cached files with pattern: ${{ runner.os }}-venv-${{ matrix.python-version }}-" | ||
for cache_key in $(gh cache list --json key -q ".[] | select(.key | startswith(\"${{ runner.os }}-venv-${{ matrix.python-version }}-\")) | .key"); do | ||
echo "Deleting cache with key: $cache_key" | ||
gh cache delete "$cache_key" | ||
done | ||
- name: Set up virtual environment | ||
run: | | ||
python -m venv .venv-${{ matrix.python-version }} | ||
source .venv-${{ matrix.python-version }}/bin/activate | ||
python -m pip install --upgrade pip | ||
pip install -r devtools/dev-requirements.txt | ||
- name: Cache Python environment | ||
id: cache-env | ||
uses: actions/cache@v4 | ||
with: | ||
path: .venv-${{ matrix.python-version }} | ||
key: ${{ runner.os }}-venv-${{ matrix.python-version }}-${{ hashFiles('devtools/dev-requirements.txt', 'requirements.txt') }} | ||
|
||
- name: Verify virtual environment activation | ||
run: | | ||
source .venv-${{ matrix.python-version }}/bin/activate | ||
python --version | ||
pip --version | ||
pip list |
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,6 +18,8 @@ jobs: | |
regression_tests: | ||
|
||
runs-on: ubuntu-latest | ||
env: | ||
GH_TOKEN: ${{ github.token }} | ||
strategy: | ||
matrix: | ||
python-version: ['3.10'] | ||
|
@@ -29,20 +31,36 @@ jobs: | |
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install dependencies | ||
|
||
- name: Restore Python environment cache | ||
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' | ||
run: | | ||
gh cache list | ||
python -m venv .venv-${{ matrix.python-version }} | ||
source .venv-${{ matrix.python-version }}/bin/activate | ||
python -m pip install --upgrade pip | ||
pip install -r devtools/dev-requirements.txt | ||
pip install matplotlib==3.7.2 | ||
- name: Set Swap Space | ||
uses: pierotofy/set-swap-space@master | ||
with: | ||
swap-size-gb: 10 | ||
|
||
- name: Test with pytest | ||
run: | | ||
source .venv-${{ matrix.python-version }}/bin/activate | ||
pip install matplotlib==3.7.2 | ||
pwd | ||
lscpu | ||
python -m pytest -v -m regression \ | ||
python -m pytest -v -m regression\ | ||
--durations=0 \ | ||
--cov-report xml:cov.xml \ | ||
--cov-config=setup.cfg \ | ||
|
@@ -54,6 +72,7 @@ jobs: | |
--group ${{ matrix.group }} \ | ||
--splitting-algorithm least_duration \ | ||
--db ./prof.db | ||
- name: save coverage file and plot comparison results | ||
if: always() | ||
uses: actions/upload-artifact@v4 | ||
|
@@ -63,6 +82,7 @@ jobs: | |
./cov.xml | ||
./mpl_results.html | ||
./prof.db | ||
- name: Upload coverage | ||
id : codecov | ||
uses: Wandalen/[email protected] | ||
|
Oops, something went wrong.