Skip to content

Copy the OWID source into fodid before the Rust builder tests - #44

Merged
jwrosewell merged 1 commit into
rcfrom
ci/rust-owid-copy
Nov 3, 2026
Merged

jwrosewell merged 1 commit into
rcfrom
ci/rust-owid-copy

Conversation

@jwrosewell

Copy link
Copy Markdown
Contributor

The 51degrees-rust consumer job fails to compile the fodid crate with error[E0583]: file not found for module owid, for example in run 41697881387 on the release pull request #43.

fodid compiles the OWID source in as a private module. fodid/src/lib.rs line 359 declares mod owid;, and 51degrees-rust's ci/copy-owid-source.ps1 copies that source from the owid-rust submodule into fodid/src/owid, which its .gitignore excludes (lines 25 to 28). 51degrees-rust's own pull request workflow runs the script before every build, as its step "Copy the OWID source into fodid". This job checked out the submodule but never ran the script.

This adds the same step to the job, just before the tests, run from the checkout so the script's default root is the 51degrees-rust working copy. Only .github/workflows/consumer-tests.yml changes.

How this was checked

The consumer tests run on this pull request, and the 51degrees-rust job is the one to look at.

@jwrosewell
jwrosewell marked this pull request as ready for review November 3, 2026 21:42
@jwrosewell
jwrosewell merged commit 4d181ff into rc Nov 3, 2026
8 checks passed
@jwrosewell
jwrosewell deleted the ci/rust-owid-copy branch November 3, 2026 21:43
jwrosewell added a commit that referenced this pull request Nov 4, 2026
* Run the .NET consumer test against 51degrees-dotnet

pipeline-dotnet has moved into 51degrees-dotnet, under pipeline/. The
consumer test checks out the monorepo with its direct submodules, swaps
the files under review into their new folder and runs the same test project
from pipeline/, whose global.json pins the .NET 8 SDK.

* Build the Node consumer test from 51degrees-node

* Test the Python consumer from 51degrees-python

pipeline-python has moved into 51degrees-python, where the Pipeline API
packages are under pipeline/. Check out the monorepo with only its
direct submodules, so the cxx data files are not fetched, and swap the
template in at its new path.

* Check out the Rust SDK as 51degrees-rust (#34)

The rust repository is now 51degrees-rust (51Degrees/51degrees-rust#206).
The Rust job checks it out by the new name, and its job name, step
name, input description and notices say 51degrees-rust. The job id
and the rust-ref input keep their names, because an id can't start
with a digit.

* Build the Java consumer test from 51degrees-java (#36)

* ci: test the PHP consumer from 51degrees-php (#38)

pipeline-php-core is now a read-only mirror. The PHP job checks out the monorepo, swaps the template into pipeline/core and runs that package's unit tests there.

* Check that only rc merges into the default branch (#40)

* Copy the OWID source into fodid before the Rust builder tests (#44)

---------

Co-authored-by: James Rogers <JamesR@51degrees.com>
Co-authored-by: Eugene Dorfman <justadreamer2007@gmail.com>
Co-authored-by: ben51degrees <ben@51degrees.com>
Co-authored-by: Yaroslav <Yaroslavvlasenko@gmail.com>
jwrosewell added a commit that referenced this pull request Nov 12, 2026
* Run the .NET consumer test against 51degrees-dotnet

pipeline-dotnet has moved into 51degrees-dotnet, under pipeline/. The
consumer test checks out the monorepo with its direct submodules, swaps
the files under review into their new folder and runs the same test project
from pipeline/, whose global.json pins the .NET 8 SDK.

* Build the Node consumer test from 51degrees-node

* Test the Python consumer from 51degrees-python

pipeline-python has moved into 51degrees-python, where the Pipeline API
packages are under pipeline/. Check out the monorepo with only its
direct submodules, so the cxx data files are not fetched, and swap the
template in at its new path.

* Check out the Rust SDK as 51degrees-rust (#34)

The rust repository is now 51degrees-rust (51Degrees/51degrees-rust#206).
The Rust job checks it out by the new name, and its job name, step
name, input description and notices say 51degrees-rust. The job id
and the rust-ref input keep their names, because an id can't start
with a digit.

* Build the Java consumer test from 51degrees-java (#36)

* ci: test the PHP consumer from 51degrees-php (#38)

pipeline-php-core is now a read-only mirror. The PHP job checks out the monorepo, swaps the template into pipeline/core and runs that package's unit tests there.

* Check that only rc merges into the default branch (#40)

* Copy the OWID source into fodid before the Rust builder tests (#44)

* Add the licence as LICENSE, in the form 51degrees-cxx uses (#45)

* Add the licence as LICENSE and NOTICE, in the form 51degrees-cxx uses

The repository had no licence file. LICENSE is the plain EUPL v1.2 text,
byte for byte the file in 51degrees-cxx, and NOTICE holds the two
additional terms that every 51Degrees source header repeats. The test
script now carries the licenseText of the CopyrightUpdater settings in
the tools repository.

* Keep the licence in LICENSE alone, with no NOTICE

The two additional terms are stated in the header of every source file,
which is where they apply, so NOTICE is removed, as in 51degrees-cxx.

---------

Co-authored-by: James Rogers <JamesR@51degrees.com>
Co-authored-by: Eugene Dorfman <justadreamer2007@gmail.com>
Co-authored-by: ben51degrees <ben@51degrees.com>
Co-authored-by: Yaroslav <Yaroslavvlasenko@gmail.com>
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.

1 participant