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

JuliaLang / julia / #37770
77%

Build:
DEFAULT BRANCH: master
Ran 05 May 2024 01:29PM UTC
Jobs 1
Files 361
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

05 May 2024 01:26AM UTC coverage: 85.802% (-1.6%) from 87.442%
#37770

push

local

web-flow
A better mechanism for coordinating internal breaking changes. (#53849)

This was origiginally supposed to be an issue, but I just started
writing out the whole code in the issue text to explain what I want all
the behavior to be, so instead, here's the actual implementation of it,
with the motativation in the commit message, and the details of the
actual behavior in the code change ;)

Sometimes packages rely on Julia internals. This is in general
discouraged, but of course for some packages, there isn't really any
other option. If your packages needs to hook the julia internals in a
deep way or is specifically about introspecting the way that julia
itself works, then some amount of reliance on internals is inevitable.
In general, we're happy to let people touch the internals, as long as
they (and their users) are aware that things will break and it's on them
to fix things.

That said, I think we've been a little bit too *caveat emptor* on this
entire business. There's a number of really key packages that rely on
internals (I'm thinking in particular of Revise, Cthulhu and its
dependency stacks) that if they're broken, it's really hard to even
develop julia itself. In particular, these packages have been broken on
Julia master for a more than a week now (following #52415) and there has
been much frustration.

I think one of the biggest issues is that we're generally relying on
`VERSION` checks for these kinds of things. This isn't really a problem
when updating a package between released major versions, but for closely
coupled packages like the above you run into two problems:

1. Since the VERSION number of a package is not known ahead of time,
some breaking changes cannot be made atomically, i.e. we need to merge
the base PR (which bumps people's nightly) in order to get the version
number, which we then need to plug into the various PRs in all the
various packages. If something goes wrong in this process (as it did... (continued)

0 of 3 new or added lines in 1 file covered. (0.0%)

1453 existing lines in 67 files now uncovered.

74896 of 87289 relevant lines covered (85.8%)

14448147.81 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
67.33
-2.06% base/deprecated.jl

Uncovered Existing Lines

Lines Coverage ∆ File
1
84.21
-1.75% base/condition.jl
1
67.88
-0.41% base/Base.jl
1
87.44
-0.47% base/indices.jl
1
99.1
-0.18% base/complex.jl
1
56.25
-6.25% base/traits.jl
1
80.56
-0.46% base/shell.jl
1
94.88
-0.14% base/range.jl
1
72.86
-1.79% base/libuv.jl
1
95.61
-0.88% base/version.jl
1
82.64
-0.13% base/stream.jl
1
72.97
-2.7% base/gcutils.jl
1
90.0
-5.45% base/docs/bindings.jl
1
72.03
-0.85% base/partr.jl
1
89.32
-0.49% base/reshapedarray.jl
1
90.87
-0.48% base/abstractdict.jl
2
90.5
-0.83% stdlib/Random/src/generation.jl
2
74.26
-1.98% base/experimental.jl
2
79.71
-0.41% stdlib/FileWatching/src/FileWatching.jl
2
80.86
-0.43% base/float.jl
2
93.8
-0.17% base/bitarray.jl
2
94.74
-0.23% stdlib/Test/src/Test.jl
2
87.41
-0.36% base/gmp.jl
2
86.05
-0.53% base/boot.jl
3
58.64
-1.85% base/threadingconstructs.jl
4
76.47
-23.53% base/osutils.jl
6
83.64
-10.91% base/idset.jl
6
73.94
-4.23% base/terminfo.jl
7
21.43
-50.0% base/docs/core.jl
7
42.53
-1.99% base/util.jl
7
74.31
-2.14% base/client.jl
8
71.71
-6.27% base/cartesian.jl
8
64.0
-32.0% base/docs/utils.jl
8
43.18
-8.54% base/linked_list.jl
8
93.16
-0.76% base/array.jl
8
88.41
-4.55% base/floatfuncs.jl
8
59.26
-29.63% base/ryu/Ryu.jl
9
90.84
-1.83% base/io.jl
10
59.01
-6.21% base/genericmemory.jl
10
94.81
-4.33% base/bitset.jl
10
75.17
-6.71% base/ryu/fixed.jl
11
92.06
-5.82% base/ryu/exp.jl
11
76.07
-0.52% base/loading.jl
12
63.89
-33.89% base/some.jl
13
87.98
-0.66% base/show.jl
13
59.75
-8.18% base/libc.jl
15
88.96
-1.92% base/multidimensional.jl
16
85.4
-2.47% base/mpfr.jl
16
49.41
-18.82% base/rounding.jl
17
36.72
-13.67% base/env.jl
19
79.05
-9.05% base/iostream.jl
20
75.36
-14.34% base/stacktraces.jl
20
67.37
-21.05% base/error.jl
20
82.2
-10.62% base/channels.jl
21
55.56
-19.67% base/c.jl
24
84.97
-7.5% base/expr.jl
24
79.52
-14.46% base/asyncevent.jl
29
73.59
-8.61% base/ryu/shortest.jl
36
55.9
-22.63% base/sysinfo.jl
39
45.81
-25.89% base/meta.jl
43
64.58
-29.97% base/abstractset.jl
47
57.2
-9.74% base/task.jl
49
53.33
-46.67% base/secretbuffer.jl
56
81.26
-9.56% stdlib/REPL/src/docview.jl
76
50.19
-29.36% base/docs/Docs.jl
161
55.96
-39.17% base/set.jl
196
61.66
-30.09% base/errorshow.jl
291
38.28
-56.86% base/reinterpretarray.jl
Jobs
ID Job ID Ran Files Coverage
1 #37770.1 05 May 2024 01:29PM UTC 361
85.8
Source Files on build #37770
  • Tree
  • List 361
  • Changed 286
  • Source Changed 0
  • Coverage Changed 71
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 2cf469d3 on github
  • Prev Build on master
  • Next Build on master
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

© 2026 Coveralls, Inc