gferragu / esi-build-tests Goto Github PK
View Code? Open in Web Editor NEWRepository to handle Azure CI/CD pipelines to test the built and published gmprocess distributions from PyPi and Conda-Forge
Repository to handle Azure CI/CD pipelines to test the built and published gmprocess distributions from PyPi and Conda-Forge
There's one status badge that's non-functional for some reason.
Needs a quick fix
This was copied from the earlier Github-hosted gmprocess
repository
It would be nice not to need a separate README.rst
file, I'm not sure why just the .md
file wasn't working
It would be nice to automate / streamline the building of tables and status badge link additions if possible
With a new version of esi-core
released (1.2.0) the README.md
needs to be updated to show the pipeline results for the package
Packages to set up in pipelines:
gmprocess
gm-app
gmpacket
The tests that should be run against a specific release are present in the zipped release on the groundmotion-processing Gitlab page, so they can be synced from there.
This should be done automatically instead of manually updating this repository's tests when a new release of gmprocess
occurs.
There should also be a testing stage for inter-release code so we can see how changes impact behavior on OS's other than Linux (which we are limited to in Gitlab for now)
The test_CESMDFetcher()
test is failing for Windows on Python 3.9 and 3.10.
The problem seems to be that the test is unable to find a zipped data file for event nc73792396
Could not unpack sub-zip file "nc73792396/nc73792396_CE65097/nc73792396_ce65097r.zip" due to error
"[WinError 3] The system cannot find the path specified: 'C:\\Users\\VSSADM~1\\AppData\\Local\\Temp\\tmpsqdd470m\\nc73792396\\nc73792396_CE65097\\nc73792396_ce65097r'". Skipping.
Utilities:
Wrapped external code:
Existing Azure Workflows
Possible Other Repositories
Create a branch called esi-utils-rupture
and configure new pipelines for it in Azure
Then update the README.md
in main
to display status badges for the currently running pipelines
Pipelines should trigger when pushing to the dev
branch and are configured as such but the trigger also includes main
I added a PR trigger so the inclusion of main
should be removed. There is still a daily scheduled pipeline off main
which will remain
We know that gmprocess
has a couple of flaky unit tests that can fail in CI runners on both Gitlab and Azure due to dependence on runner state and/or tests running in parallel.
We should not indicate total failure for this case. For now, this flexibility can be added with the --maxfail=N
argument via pytest
A better solution is to use a fixture to mark specific tests as flaky and use this, or the Azure project settings, to re-run some tests and check if the continually fail
I believe I set some tolerances in the build stages to handle a couple (1-2) unit test errors without completely failing the nightly build.
For some reason, this isn't being taken into account, and beyond that, the status badges for the pipelines don't read as "failed" they read as "never built" now, I am not sure why but need to debug this.
Recent requests
releases (I think including and above 2.29.0) fail to support urllib3
2.0.0 and above.
This causes the unit tests to fail when pytest
is run and calls vcrpy
.
A fix for this in gmprocess
will come out in the next release for PyPi and Conda-Forge, but in the meantime I can just restrict the versioning here to allow the tests to run without issue
See discussion in the requests
repo and vcrpy
repo
Noticed this repo has a nice overview with badges and we could do something similar
https://github.com/ooliver1/mafic/blob/master/README.md?plain=1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.