Coder Social home page Coder Social logo

esi-build-tests's People

Contributors

gferragu avatar

Watchers

 avatar  avatar  avatar

Forkers

emthompson-usgs

esi-build-tests's Issues

Implement a better formatted / less clunky README construction workflow

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

Add release-specific tests in addition to current test status

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)

test_CESMDFetcher() currently failing on Windows

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.

Add additional ESI repositories for testing

Utilities:

  • esi-utils-rupture
  • esi-utils-pager
  • esi-utils-transfer
  • esi-utils-cartopy
  • esi-utils-libcomcat
  • esi-utils-geo
  • esi-utils-cartopy
  • esi-utils-io
  • esi-utils-time
  • esi-utils-vectors
  • esi-utils-colors
  • esi-utils-textformat

Wrapped external code:

  • esi-extern-openquake

Existing Azure Workflows

  • esi-core

Possible Other Repositories

  • libcomcat-python (Talk to Mike first)

Set up esi-utils-rupture branch and pipelines

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

Handle flaky unit tests

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

Changes from last update introduced bugs in Azure build

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.

Restrict `requests` versions that break `urllib3` and `vcrpy`

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.