Tue, 12 Nov 2024 12:52:13 +0100 rust-update: handle SIGINT from long-running update threads stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 12 Nov 2024 12:52:13 +0100] rev 52217
rust-update: handle SIGINT from long-running update threads 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`
Fri, 08 Nov 2024 17:08:11 +0100 ci: shard the test run on mac os X stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Nov 2024 17:08:11 +0100] rev 52216
ci: shard the test run on mac os X 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.
Thu, 22 Sep 2022 01:02:06 +0200 run-tests: implement crude sharding support stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Sep 2022 01:02:06 +0200] rev 52215
run-tests: implement crude sharding support It will help to spread the testing load across more CI runners.
Fri, 08 Nov 2024 21:41:02 +0100 ci: have the mac test run if you trigger building the mac wheel stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Nov 2024 21:41:02 +0100] rev 52214
ci: have the mac test run if you trigger building the mac wheel 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.
Fri, 08 Nov 2024 21:22:02 +0100 ci: adjust the starting port range to runner concurrency stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Nov 2024 21:22:02 +0100] rev 52213
ci: adjust the starting port range to runner concurrency If multiple job runs on the same runner, they should not use the port range.
Fri, 08 Nov 2024 17:28:33 +0100 ci: move the "tempory work dir" to "concurrency-safe" location stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Nov 2024 17:28:33 +0100] rev 52212
ci: move the "tempory work dir" to "concurrency-safe" location Lets not use a global location and move at the root of the directory dedicated to the job.
Mon, 28 Oct 2024 03:29:29 +0100 ci: abstract the of absolute /tmp/ path stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 28 Oct 2024 03:29:29 +0100] rev 52211
ci: abstract the of absolute /tmp/ path We now have a TMP_WORK_DIR directory that we can update to a more sensible value in the next changesets.
Fri, 08 Nov 2024 14:56:54 +0100 ci: rationalize variable usage stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Nov 2024 14:56:54 +0100] rev 52210
ci: rationalize variable usage The usage of "extends" allow to skip a lot of duplication. We also introduce more fine grained variables to help finer override.
Fri, 08 Nov 2024 14:44:56 +0100 ci: move some variables closer to their usage stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Nov 2024 14:44:56 +0100] rev 52209
ci: move some variables closer to their usage These were defined globaly because we had trouble making them inherited. This is now fixed, so we can get them were they belong.
Fri, 08 Nov 2024 14:35:57 +0100 ci: use extends instead of <<: *x stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 08 Nov 2024 14:35:57 +0100] rev 52208
ci: use extends instead of <<: *x 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.
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 tip