Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump dub to v1.31.1 #180

Merged
merged 5 commits into from
Mar 13, 2023
Merged

Bump dub to v1.31.1 #180

merged 5 commits into from
Mar 13, 2023

Conversation

kinke
Copy link
Contributor

@kinke kinke commented Mar 6, 2023

No description provided.

@Geod24
Copy link
Contributor

Geod24 commented Mar 6, 2023

There's also https://github.com/atilaneves/reggae/blob/master/dub.json#L16
Which is interesting, why the == dependency @atilaneves ?

@kinke
Copy link
Contributor Author

kinke commented Mar 6, 2023

Oh right. But goddammit, more things to fix (std.sumtype invariant...), and I really don't want to waste any time for such a trivial bump. We also hit a new assertion wrt. the new packages build cache directory.

@Geod24
Copy link
Contributor

Geod24 commented Mar 8, 2023

The bug seems to be that Reggae uses a Project with a null rootPackage in unitests.
From a quick look, writing a dummy dub.json in testPath might be enough to get things to pass.

@atilaneves
Copy link
Owner

There's also https://github.com/atilaneves/reggae/blob/master/dub.json#L16 Which is interesting, why the == dependency @atilaneves ?

No idea.

With DMD, disabling the invariants for the unittest runner is required
to overcome a missing symbol (an invariant) for dub's vendored
`std.sumtype` copy.
@kinke
Copy link
Contributor Author

kinke commented Mar 10, 2023

Almost working now; hitting long-path regressions on Windows for the dub-generated dub_test_root.d file, where the new cache directory comes into play. E.g., 262 chars (limit is 260):

D:\a\reggae\reggae\tmp\unit-threaded\XXZRZBa02536\__dub_cache__\dub_depends_on_prebuild\~master\code\dub_depends_on_prebuild-test-application-debug-windows-x86_64-dmd_v2.100.0-dirty-6E340B9CFFB37A989CA544E6BB780A2C78901D3FB33738768511A30617AFA01D\dub_test_root.d

This full 64-chars build hash already claims ~25% of the max length.

Don't rely on the Phobos `dirEntries()` order; it's e.g. problematic
for the `tests.it.rules.static_lib.template` test.
@kinke
Copy link
Contributor Author

kinke commented Mar 11, 2023

The error above can't really be handled on our side - dub tries to generate this file, as part of generating the unittest dub configuration. All we set is D:\a\reggae\reggae\tmp\unit-threaded\XXZRZBa02536\__dub_cache__ as cache dir - the reggae build dir + __dub_cache__. Can't get any shorter really.

CI now works except for DMD on Windows - the -dirty DMD version suffix seems to just push it over the edge, and LDC just makes it. I've tested the DMD v2.101 and v2.102 versions on Windows, they all come with a -dirty suffix unfortunately.

As I've just recently hit long-path issues on Windows for this reason,
especially when the absolute path of the main package is a bit longer.

Also skip the `__dub__` intermediate directory, as all dub packages
now produce object files in `<target .obj dir>/<dub package name>/…`.
@Geod24
Copy link
Contributor

Geod24 commented Mar 11, 2023

We have a fix in master, I can just backport this if you'd like ? Although it looks like you worked around the bug.

@kinke
Copy link
Contributor Author

kinke commented Mar 11, 2023

Oh cool, looking very much forward to dlang/dub#2589. - Yeah, I've worked around the CI problem now.

I've also pushed an unrelated commit (c2cbf0d), which I hope fixes the long-path issues for some SIL plugins on Windows - where I've had to stick to dub for now. I've tested this reggae build with a few SIL subprojects (REPL, lang, a plugin); all working.

@atilaneves atilaneves merged commit 087b629 into atilaneves:master Mar 13, 2023
@kinke kinke deleted the dub_1.31 branch March 13, 2023 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants