- Nov 13, 2024
-
-
Pierre-Yves David authored
Code introduced in early 2010 (fb203201ce30) was dropping that part after "+". The rational is to preserve version on the format w.x.y.z where each part is a number. However we have not been using that format for a while (e.g. the rc suffix) and nobody reported any fire. So I am assuming that this code serve no purpose and I am dropping it. We can reintroduce a newer version of it (that would actually achieve its purpose) in the future if needed.
-
Pierre-Yves David authored
Strictly speaking, only "PYTHON_SYS_EXECUTABLE" seems to be necessary, but I don't want to take a chances, as in testing "PYTHON" also had an effect.
-
Pierre-Yves David authored
When adding "CACHE_REV_BRANCH" to "CACHES_ALL" in e51161b12c7e, I did not expected it to impact the clone steps. However the "CACHES_POST_CLONE" set is created rather creatively. (we should fix that, but not on stable) The benchmark caught a quite significant slowdown one hardlink and ssh-stream clones. Such slow down can be reduced to around ~5% by fully warming the cache before the clone. However keeping this expensive step away from the clone operation fully fix the slowdown and preserve the initial intend. Example slowdow for hardlink clone ### benchmark.name = hg.command.clone # bin-env-vars.hg.flavor = default # bin-env-vars.hg.py-re2-module = default # benchmark.variants.explicit-rev = none # benchmark.variants.issue6528 = default # benchmark.variants.protocol = local-hardlink # benchmark.variants.pulled-delta-reuse-policy = default # benchmark.variants.resource-usage = default # benchmark.variants.validate = default ## data-env-vars.name = netbeans-2018-08-01-zstd-sparse-revlog 6.8.2: 19.799752 6.9rc0: 29.017493 (+46.55%, +9.22) after: 19.929341 ## data-env-vars.name = mercurial-public-2018-08-01-zstd-sparse-revlog 6.8.2: 0.468020 6.9rc0: 1.701294 (+263.51%, +1.23) after: 0.471934 ## data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog 6.8.2: 2.397564 6.9rc0: 5.666641 (+137.41%, +3.28) after: 2.428085
-
- Nov 12, 2024
-
-
Pierre-Yves David authored
This reuse the script extracted in the previous changeset and now build the wheels with the same image and code as the CI.
-
- Nov 13, 2024
-
-
Pierre-Yves David authored
This will make it easy to reuse in the release process while making sure we build the wheel the same way as in the CI.
-
- Nov 09, 2024
-
-
Pierre-Yves David authored
There are various questions around when to actually run it, and which jobs to run on the default branch, but having a working job we can decide to run manually (by running the manual dependencies) is a good step to get the wheel story from one end to the other. See inline comment for more details.
-
Pierre-Yves David authored
One day, we will gather all wheel in a single directory and be able to pick the right one programmatically. This days is not today… This will help clarify things if we fetch all artifacts at the same time.
-
- Nov 13, 2024
-
-
Pierre-Yves David authored
Let us make sure we use a consistent version across the board.
-
Pierre-Yves David authored
We needs it for archive too.
-
Pierre-Yves David authored
While debuging version issue, I forcibly turned "6.9" in "6.9.0". And I forgot to clean it up before 9048a0d782e1 land This is unnecessary and wrong, so lets remove that line.
-
- Nov 09, 2024
-
-
Pierre-Yves David authored
-
- Nov 10, 2024
-
-
Pierre-Yves David authored
-
- Nov 12, 2024
-
-
Pierre-Yves David authored
Same logic as Linux and Mac, we better test that what we build and ship works.
-
- Nov 10, 2024
-
-
Pierre-Yves David authored
This will help also build the ARM64 wheel once the dependencies are installed.
-
- Nov 09, 2024
-
-
Pierre-Yves David authored
Again, cibuildwheels makes it very handy.
-
- Nov 10, 2024
-
-
Pierre-Yves David authored
There was this old outdated conditional that can simply receive our new needs… Incredibly, this is all that seems to be needed.
-
- Nov 09, 2024
-
-
Pierre-Yves David authored
The other cibuildwheels (e.g. windows) will needs it too.
-
- Nov 10, 2024
-
-
Pierre-Yves David authored
The shell script under a `.exe` name confused Windows outside MSYS and give us the following error: […]/python.exe is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher. This is necessary to get the wheel variant of the test run to work properly.
-
Pierre-Yves David authored
This will help having concurrency on the windows runner too.
-
- Nov 11, 2024
-
-
Pierre-Yves David authored
This test is hanging the CI, so lets ignore it for now.
-
- Nov 12, 2024
-
-
Pierre-Yves David authored
This helps make things clearer and easier to adjust in sub jobs.
-
- Nov 09, 2024
-
-
Pierre-Yves David authored
This factor some code out and will help with introducing a new job about wheels.
-
Pierre-Yves David authored
This should have been done in d6ed4da850ea.
-
- Nov 11, 2024
-
-
Pierre-Yves David authored
On Windows the PATH separator is ";", not ":". The Windows wheel wants it set with ";".
-
Pierre-Yves David authored
Apparently, we need to got through MSYS for such a long argument to be accepted.
-
Pierre-Yves David authored
It does not seems to serve any purpose and confuses Windows.
-
Pierre-Yves David authored
The output confused the test discovery when left around. And it confuse the Linux and the Windows one a bit differently, so we better clean it up as it serve not purpose to keep it around.
-
Pierre-Yves David authored
We don't care about actually running the test, but we care about what is selected and the stability of it. So we focus on using `--list-tests` to easily compare any changes that might happens.
-
- Nov 09, 2024
-
-
Pierre-Yves David authored
-
- Nov 08, 2024
-
-
Pierre-Yves David authored
We update the dev version scheme to make it more suitable for nightly build. See inline documentation for details.
-
- Nov 12, 2024
-
-
Raphaël Gomès authored
The current code does not respond to ^C until after the Rust bit is finished doing its work. This is expected, since Rust holds the GIL for the duration of the call and does not call `PyErr_CheckSignals`. Freeing the GIL to do our work does not really improve anything since the Rust threads are still going, and the only way of cancelling a thread is by making it cooperate. So we do the following: - remember the SIGINT handler in hg-cpython and reset it after the call into core (see inline comment in `update.rs` about this) - make all update threads watch for a global `AtomicBool` being `true`, and if so stop their work - reset the global bool and exit early (i.e. before writing the dirstate) - raise SIGINT from `hg-cpython` if update returns `InterruptReceived`
-
- Nov 08, 2024
-
-
Pierre-Yves David authored
This should comes with some benefit: - spread the load across more runner, - reduce the real-time CI run, - reduce the "retry" run when we need them. We start with the Mac jobs, but that would be tremendously useful for Windows too. For linux, we need to reduce the startup overhead for this to be worth it. Building smaller image and speeding up clone should help with that.
-
- Sep 21, 2022
-
-
Pierre-Yves David authored
It will help to spread the testing load across more CI runners.
-
- Nov 08, 2024
-
-
Pierre-Yves David authored
The mac test job now depends on the wheel building. And the wheel building is manual. So if the mac test job is set to "on_success" if will be "skipped" by default, and automatically run if the wheel are build. That is especially handy as we are about to shard that test and that the UI for manual sharded test sucks.
-
Pierre-Yves David authored
If multiple job runs on the same runner, they should not use the port range.
-
Pierre-Yves David authored
Lets not use a global location and move at the root of the directory dedicated to the job.
-
- Oct 28, 2024
-
-
Pierre-Yves David authored
We now have a TMP_WORK_DIR directory that we can update to a more sensible value in the next changesets.
-
- Nov 08, 2024
-
-
Pierre-Yves David authored
The usage of "extends" allow to skip a lot of duplication. We also introduce more fine grained variables to help finer override.
-
Pierre-Yves David authored
These were defined globaly because we had trouble making them inherited. This is now fixed, so we can get them were they belong.
-
Pierre-Yves David authored
The old form is a yaml construct that make it hard to share variable definition. The "extends:" key is a gitlab specific that preserve the variable definition and just add the new ones. This will help us to reduce duplication. This has the effect of fixing some of variants definition we though we set while we did actually not. Most notably, the "rust" variant for 3.12 and 3.13 seems fully broken in the CI (possibly because some rust-cpython version issue?). This changeset only reveal such breackage and does not introduce them.
-