Comments (4)
Please take a look at the current config file in master
- especially the {{ .Environment.CIRCLE_JOB }}
variable. This allows generation of a different cache for each job (which is labelled by Python version). It might help solve this issue.
from pyani.
The issue is not due to addition of 3.10 to the testing regime, nor is it a race condition. See, for example, these tests from two weeks ago which include 3.10. The addition of 3.10 did not affect the caches or cause tests to fail.
This error shows up in the output of the failing weekly
test from last night, and also a rerun attempt from this morning:
No cache is found for key: pyani-dependencies-pip-test-3_6-master-da3jx1LEx0gkAIgefJ5iMRLVM7hdjqi9JjBD3OvOMPU=-L0fQL8O1iX_M7RxM4JztjAKBr1MQZkPTPjPEEDWFUsg=-9d74ucTAWWIVfvhVDcd7BefcSv0vkZ6HoBAR7SgHFGU=-d9izQU5kl66+eu+mVmhbBpQrXnf_WmOX7GuPDo_aEHs=-7aGwkbVHgb1mq7X3jvzfi0HG+BpEQnskhs+SPAyb7vk=-46ue63j8fWJKEaZqizie8cVoT6U3WSakueY_GUGmoIA=-m+9vCcft76CH2_rNJE7yS7OyRr9a8NXsXSG865RBfS0=
Found a cache from build 3125 at pyani-dependencies-pip-
which shows that the caching information for test-3_6
(encoded in {{ .Environment.CIRCLE_JOB }}
) was not present, so CircleCI picked up a different cache from build 3125 - possibly the one from the failing tests immediately preceding it, which also reused an earlier non-specific cache - possibly the source of the incompatibility @baileythegreen saw in the anib123
test and describes above.
I have removed the fallback option in CircleCI (which allows the pickup of non-specific caches that match the wildcard) with commit 6656761. This prevents reuse of any other than the exactly matching cache ID. The Python 3.6 tests now pass - as do the other test runs.
The documentation for CircleCI dependency caching can be found here.
from pyani.
To answer this question:
Lines 84–86 of
.circleci/config.yml
are where this is saved; is there a reason for this (perhaps the package takes a long time to load/install)?- save_cache: paths: - /home/circleci/.pyenv
I think there is a misunderstanding about the meaning of that field. The path
field in save_cache
declares which paths (directories or files) are stored in the cache - further details can be found here. Most, if not all, of the Python dependency files we install are under that path and - yes - caching the Python dependencies does save time in the tests.
from pyani.
@widdowquinn Should we be using a different version of
pyenv
for each python installation, or do we only want to change this for the point of failure?
Hopefully the comments above are clear enough, but to answer directly: no.
CircelCI uses pyenv
to manage Python versions. By running a different Python version in each test job, we are already using a different instance of pyenv on a different image, for each Python version.
from pyani.
Related Issues (20)
- pyani: command not found HOT 1
- Use of `unittest.TestCase` assertion methods provides more informative error messages than `assert` HOT 1
- pyani command not found HOT 1
- `pyani` command not found HOT 1
- Cannot run anim in pyani 0.3.0-alpha using provided data, on macosx 12.6, nucmer fails. HOT 4
- Error "Cannot update because the update target is missing these hooks" when trying to use autoupdate on my repo HOT 1
- sending some love for this script: " genbank_get_genomes_by_taxon.py" HOT 2
- ERROR: This has possibly been a NUCmer run failure, please investigate ERROR: NoneType: None HOT 3
- Type strain vs X of genomes HOT 1
- ValueError in pyani plot using pyani 0.3.0-alpha
- Pyani not installing through conda HOT 5
- Inquiry on Analysis Duration with ANIb and ANIm for Streptomyces Genomes HOT 4
- Fix alignment coverage >1.0 and aniM symmetrical behaviour HOT 8
- Add separate columns for subject and query alignment lengths in `--run_results` HOT 23
- numpy: No module named 'version' HOT 4
- add `pyani dnadiff` subcommand HOT 5
- Running --graphics after analysis HOT 1
- ZeroDivisionError: float division by zero HOT 3
- Installation issues HOT 3
- segment fault HOT 1
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 pyani.