summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
Commit message (Collapse)AuthorAgeFilesLines
* CI: Only preserve rust-recent artifacts, don't process rust-latest onesIan Jackson2024-07-311-5/+5
| | | | | | | | The -latest jobs don't actually have artifacts. But: In the -latest jobs this can cause errors due to duplication: the artifacts from the -recent jobs in the same pipeline result in EEXIST errors.
* CI: Use YAML anchors rather than .extends for rust-recent/rust-latestIan Jackson2024-07-311-6/+12
| | | | | This will let us make the artifact processing only happen when we want to save artifacts.
* CI: Add TODOs about rethinking matrix_test.Gabriela Moldovan2024-07-301-0/+9
| | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2275#note_3054040
* CI: Add cli-test job.Gabriela Moldovan2024-07-301-0/+11
|
* CI: Rename "latest" jobs to "recent"; pin them; and replace them.Ian Jackson2024-07-291-10/+30
| | | | | | | | | | | We replace uses of `amd64/rust:bookworm` in the `recent-*` jobs. We add new latest-* jobs which * aren't used for artifacts * occur later in the pipeline * only run on main, since we don't want them to block MRs This is done with templates, to reuse the script parts.
* CI: Use RECENT_RUST_IMAGE instead of unpinned Rust, in most jobsIan Jackson2024-07-291-21/+10
| | | | | | | | | | | | | | | | Replace almost all the open-coded occurrences of `amd64/rust:bookworm`. This rewinds us to Rust 1.79. We can update after https://github.com/rustsec/rustsec/issues/1217 is fixed upstream. We're going to handle the rust-latest-* jobs specially. There are still a few other images that look, from the name, like they might be uncontrolled inputs into our CI, but they don't look risky. Let's leave them for now.
* CI: Introduce RECENT_RUST_IMAGE variableIan Jackson2024-07-291-1/+4
| | | | So far only used by the cargo-audit job.
* Use a pinned compiler version to run cargo auditIan Jackson2024-07-291-1/+1
| | | | | | | | | | | | | | | | | | This avoids CI failures like this https://gitlab.torproject.org/nickm/arti/-/jobs/617654 arising from situations like this cargo-audit install fails with rust 1.80 https://github.com/rustsec/rustsec/issues/1217 error[E0282]: type annotations needed for Box<_> https://github.com/time-rs/time/issues/693 IMO we should pin many of the other images too but I suspect that may be controversial. I'm hoping that pinning this one to get CI working is uncontroversial (perhaps only on a temporary basis). The other way to solve this would be to remove --locked which IMO is going in the wrong direction, by exposing us to more rather than fewer uncontrolled inputs from our upstreams.
* Run update-shell-includes, to forbid cwd-dependent script includesIan Jackson2024-07-161-0/+1
|
* Switch to maint/common/forbid-script-extensionsIan Jackson2024-07-161-1/+1
|
* Switch to maint/common/forbid-absolute-shebangsIan Jackson2024-07-161-1/+1
|
* CI: maint-checks job: Install gitIan Jackson2024-07-161-1/+1
| | | | Without this, maint/shebang is broken.
* Use maint/common/apt-install instead of open-coding (multiline)Ian Jackson2024-07-161-10/+8
|
* Use maint/common/apt-install instead of open-coding (apt-get)Ian Jackson2024-07-161-8/+8
|
* Use maint/common/apt-install instead of open-coding (apt)Ian Jackson2024-07-161-3/+3
|
* Switch to maint/common/via-cargo-install-in-ciIan Jackson2024-07-161-4/+4
| | | | And delete our old version of the script.
* via-cargo-install-in-ci: Split a multi-package invocationIan Jackson2024-07-161-1/+2
| | | | We're about to switch to a version that doesn't support this.
* Replace maint/shellcheck_all with maint/common/shellcheck-allIan Jackson2024-07-161-1/+1
| | | | | | | | * Change all in-tree reference * Delete our copy of script, which now lives in the rust-maint-common subtree. * Leave a symlink behind, so that old git hooks that people (IMO possibly unwisely) installed, still work.
* maint/cargo-check-publishable: run in CIIan Jackson2024-07-101-1/+2
|
* maint/cargo-check-publishable: Check categoriesIan Jackson2024-07-101-0/+3
| | | | What a palaver.
* maint/list_crates: Run mypy in CIIan Jackson2024-07-101-0/+1
|
* Merge branch 'split-build-repro' into 'main'Ian Jackson2024-07-091-6/+29
|\ | | | | | | | | | | | | CI: Split build-repro job Closes #1478 See merge request tpo/core/arti!2252
| * CI: Use templating to reduce duplication in build-repro jobsIan Jackson2024-07-091-23/+20
| | | | | | | | | | As suggested here: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2252#note_3046205
| * CI: Split build-repro jobIan Jackson2024-07-091-3/+29
| | | | | | | | | | This will allow the elements to run in parallel, hopefully speeding things up (but using no fewer resources).
* | CI: set default image to amd64/debian:bookworm-slimJim Newsome2024-07-081-18/+2
| |
* | CI: maint-check-ownership use single-arch imageJim Newsome2024-07-081-1/+2
|/
* Test for broken docs in rust-latest job, denying failuresIan Jackson2024-07-081-0/+1
| | | | | | | Broken docs keep slipping in because we test this only with nightly, where we allow failures. Currently nightly is broken; see #1467. I'm not addressing that here yet.
* Enable the build-repro CI job in MR jobsIan Jackson2024-06-261-4/+1
| | | | | | Hopefully this will not be too slow. Fixes #1472.
* Revert "Disable macos build tests"Ian Jackson2024-06-261-1/+2
| | | | This reverts commit a6801c10584558316ff38f354167812d0c697549.
* Merge branch 'no-osxcross' into 'main'gabi-2502024-06-251-2/+1
|\ | | | | | | | | Disable macos build tests See merge request tpo/core/arti!2226
| * Disable macos build testsIan Jackson2024-06-251-2/+1
| |
* | Turn crate ownership discrepancies into a warningIan Jackson2024-06-241-0/+1
|/ | | | | Ideally we'd tolerate situations with unaccepted ownership requests, but that information doesn't seem to be public.
* Check crate ownership in CI, but only on mainIan Jackson2024-06-241-0/+13
| | | | | | | | | | | | | | | I think that the effect of this will be as follows: * MR branches will never run this, so when the crate ownership is wrong, development can continue. * When a new crate is first published, it will transition from "ignored" to "complaining". This will happen on the first CI run on main after "cargo publish" is run. But it *won't* happen on the CI run on the publication tag. The intent is that we discover a failure to `git add` while the release technician who published the new crate is still around.
* CI: Bail if unexpectedly using a non-amd64 containerJim Newsome2024-06-181-0/+20
| | | | | | | | cf https://gitlab.torproject.org/tpo/tpa/team/-/issues/41621, it's possible to unexpectedly run on a container for a different architecture than the one requested. This can result in subtle and difficult to debug issues, e.g. when unexpectedly running in the i386 variant of a container instead of the expected amd64 variant.
* CI: use single-arch docker images where availableJim Newsome2024-06-171-24/+47
| | | | | | | | Images with multi-arch manifests suffer from subtle caching issues that can result in running an image with a different arch than intended. See https://gitlab.torproject.org/tpo/tpa/team/-/issues/41621. We can avoid this issue by using single-arch manifests where available.
* shadow test: bump shadow version to 3.2Jim Newsome2024-06-081-1/+1
| | | | | This includes a fix for a (rare) panic-causing race condition, and misc other additions and improvements.
* mypy: Enable strict modeIan Jackson2024-05-281-1/+1
| | | | | | | Consultation with a nearby Python expert, on another topic, revealed that without --strict, mypy turns most of its stuff off by default. Sadly (?) this bureaucracy didn't find any bugs.
* Merge branch 'ci-after-script-tweaks' into 'main'Nick Mathewson2024-05-161-19/+6
|\ | | | | | | | | CI: Move cargo clean section to after_script. See merge request tpo/core/arti!2159
| * CI: Move cargo clean section to after_script.Nick Mathewson2024-05-151-19/+6
| | | | | | | | | | | | | | | | | | | | | | Part of arti#1410. The idea here is to consolidate `cargo clean` in an after_script section we call everywhere, rather than have it be in one that we can forget to copy. We can't call `cargo clean` unconditionally, though, since some of our jobs don't install cargo. So we make sure it's there.
* | Merge branch 'links' into 'main'Nick Mathewson2024-05-161-0/+15
|\ \ | | | | | | | | | | | | | | | | | | Provide and run script for making/checking link blocks in CHANGELOG.md Closes #1388 See merge request tpo/core/arti!2126
| * | CI: Run mypy on the (so far, 1) type-annotated Python3 fileIan Jackson2024-05-071-0/+7
| | |
| * | Run maint/update-md-links in CIIan Jackson2024-05-021-0/+8
| | |
* | | Forbid scripts names from specifying their implementation languageIan Jackson2024-05-161-0/+1
| | |
* | | Rename tests/shadow/run.sh to runIan Jackson2024-05-161-1/+1
| |/ |/|
* | Merge branch 'new_ci_cfg_strategy' into 'main'Nick Mathewson2024-05-071-6/+5
|\ \ | | | | | | | | | | | | | | | | | | add_warning/CI: New strategy to avoid "unexpected-cfgs" warning Closes #1395 See merge request tpo/core/arti!2129
| * | CI: Use new add_warning features in place of --cfg.Nick Mathewson2024-05-061-6/+5
| | |
* | | Merge branch 'chutney' into 'main'Nick Mathewson2024-05-061-1/+1
|\ \ \ | |/ / |/| | | | | | | | CI: disable chutney tests in coverage job too See merge request tpo/core/arti!2120
| * | CI: disable chutney tests in coverage job tooIan Jackson2024-04-301-1/+1
| |/ | | | | | | | | | | | | | | | | Followup to !1488. Apropos #1299. Ideally these would be replaced by shadow tests. At a future point, when they've not been used for ages, we could delete the chutney scripts etc.
* / CI: allow uexpected-cfgs when building docsNick Mathewson2024-05-061-1/+1
|/ | | | Without this, our rustdoc CI build will fail on nightly because of
* CI: Enable vanguards in the shadow tests.Gabriela Moldovan2024-04-051-1/+1
|