Comments (7)
Oh damn. I was wrong and @andersy005 was right. The xdist was not even activated. Squeezed a good 7 min of the runtime r๐. See #86
from xmip.
Hooray๐ Glad to hear that activating pytest-xdist shaves minutes off the CI runtime...
from xmip.
-
I am seeing
pytest-xdist
listed in your conda environments, but I don't see it being used to run tests. Have you looked into it yet (e.g.:pytest -n auto --maxfail 5 --reruns 1 ....
? -
I'd recommend using conda-forge channel only and setting the channel priority to strict. Also, the current conda setup configures mamba but it doesn't use it to setup the environment: https://github.com/jbusecke/cmip6_preprocessing/blob/a5ae25867afe509095de8757b5c1ba92192e0549/.github/workflows/ci.yaml#L34-L39
I'd try these settings to see if there is any improvements:
- uses: conda-incubator/setup-miniconda@v2
with:
channels: conda-forge
mamba-version: '*'
channel-priority: strict
activate-environment: test_env_cmip6_preprocessing # Defined in ci/environment*.yml
auto-update-conda: false
python-version: ${{ matrix.python-version }}
use-only-tar-bz2: true # IMPORTANT: This needs to be set for caching to work properly!
- name: Set up conda environment
shell: bash -l {0}
run: |
mamba env update -f ci/environment-py${{ matrix.python-version }}.yml
python -m pip install -e . --no-deps --force-reinstall
conda list
from xmip.
Ah thanks a lot for the tips @andersy005 . I specify the -n auto
in pyproject.toml
I think. But the mamba setup is very new to me, so that makes a lot of sense.
from xmip.
It seems like the env update ...
call is already using mamba in my configuration here. That seems to be equivalent to the mamba env update -f ci/environment-py${{ matrix.python-version }}.yml
you proposed?
from xmip.
Or is there something I am missing.
Unfortunately setting the channel priority did not decrease the build time significantly either. I am however getting this weird message, that indicates that something is not set up quite right with the channels. I am not sure to which side (the ci.yaml configuration or the env file) the workflow resolves...
Wondering if using minimamba instead of miniconda would speed this up (since that one should not have to solve for a bunch of packages to install mamba?)
from xmip.
Ill close this for now.
from xmip.
Related Issues (20)
- Installation docs mention xgcm HOT 1
- The stripe emerged after masking the ERSSTv5 SST data HOT 12
- Using `interpolate_grid_label()` to regrid data HOT 4
- Trimming grid halo as part of the preprocessing HOT 1
- Drop Python 3.7
- Missing dependency for cf-xarray
- Docs build broken
- use datatree instead of dictionary of datasets HOT 2
- Pint issue for undecoded times HOT 4
- Change license badge
- manually changing dataframe for catalog HOT 3
- Change license type in feedstock
- CI failing due to ESMF import error HOT 1
- Construct 'member_id' as part of the preprocessing
- XMIP Initial Reprocessing Does Not Work as Expected
- `replace_x_y_nominal_lat_lon` does not work for > 360 `lon` coordinates HOT 2
- `longitude` and `latitude` dimensions lost in `rename_cmip6`
- CI is failing due to upstream error in xarrrayutils HOT 1
- Eliminate `xarrayutils` dependency
- Make `_drop_duplicate_grid_labels` public
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xmip.