• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IvanYashchuk / firedrake-ts / 12516115106
67%

Build:
DEFAULT BRANCH: master
Ran 27 Dec 2024 12:36PM UTC
Jobs 1
Files 3
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Dec 2024 12:34PM UTC coverage: 67.249% (-0.2%) from 67.432%
12516115106

push

github

web-flow
Compatibility fix for Firedrake `2024-12` Docker image (#24)

* Remove import of firedrake_configuration package
- Monkey-patch u_restrict property required by newer PETSc TS
- Package is no longer available due to pip install migration

* Fix unit test failures
- Migrate adjoint.py to newer interpolate API
- Set max SNES failures to make TS retry steps

* Migrate examples to newer VTKFile output API
- Silences deprecation warning emitted from Firedrake

* Adapt DAEProblem class to use to restricted solution
- Duck typing compatible with VariationalProblem class
- Use the new member everywhere

* Remove unused & forgotten LOC

---

This PR removes the (actually unused) import of `firedrake_configuration` package that is no longer present in recent (2 weeks or so) versions of [Firedrake Docker Hub image](https://hub.docker.com/r/firedrakeproject/firedrake/tags).

Root cause of the issue is the migration of Firedrake to be `pip`-installable. There's details about the topic [here](https://github.com/firedrakeproject/firedrake/issues/3877). Specifically, the problem started with [the PR that migrates _PyOP2_ into the main _Firedrake_ repo](https://github.com/firedrakeproject/firedrake/pull/3817).

---

It seems like the obvious fix, i.e. just remove the import, worked. The `firedrake_configuration` module wasn't used for anything directly within the `firedrake_ts` package. Besides this, the PR contains a few small fixes to make the unit tests and examples work.

It seems like PETSc 3.22 upgrage that's bundled in the Firedrake 2024-12 image doesn't set the [`ts_max_snes_failures`](https://petsc.org/release/manualpages/TS/TSSetMaxSNESFailures/) option anymore. Somehow the default value causes the inner SNES solver never to retry any linear solves. So the TS solver has no other option but to fail whenever it happens instead of retrying.

I also migrated the example applications to use the newer interpolate and VTK output Firedrake API.

37 of 59 branches covered (62.71%)

Branch coverage included in aggregate %.

7 of 7 new or added lines in 1 file covered. (100.0%)

1 existing line in 1 file now uncovered.

271 of 399 relevant lines covered (67.92%)

0.68 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
89.94
0.35% firedrake_ts/ts_solver.py
Jobs
ID Job ID Ran Files Coverage
1 12516115106.1 27 Dec 2024 12:36PM UTC 3
67.25
GitHub Action Run
Source Files on build 12516115106
  • Tree
  • List 3
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #12516115106
  • ed997a99 on github
  • Prev Build on master (#8665437461)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc