Commit Graph

104 Commits

Author SHA1 Message Date
Nick Mathewson e8999d0b57 Merge branch 'clippy' into 'main'
clippy: Allow dbg in tests *again*

See merge request tpo/core/arti!575
2022-06-09 15:17:09 +00:00
Ian Jackson 86c4f42c49 CI: Break out maint/via-cargo-install 2022-06-08 19:32:59 +01:00
Ian Jackson d65c0023c5 CI: Break out some fastish Rust checks into new "build" step 2022-06-08 19:32:59 +01:00
Ian Jackson 9a8d75b844 CI: Break out some fast checks using debian image 2022-06-08 19:30:16 +01:00
Ian Jackson 84d5845eb6 maint/check_toposort: Run in CI 2022-06-08 18:35:56 +01:00
Ian Jackson 73c65d4c1a clippy: Allow dbg in tests *again*
*sigh*
2022-06-08 17:08:40 +01:00
Ian Jackson 6f96736278 Merge branch 'check-license-fixes' into 'main'
Update check_licenses and add it to CI.

Closes #462

See merge request tpo/core/arti!559
2022-06-02 13:59:35 +00:00
Nick Mathewson c8997b652a Add check_licenses to CI.
The artifact-caching logic is taken from other examples in the
.gitlab-ci.yml.
2022-05-31 14:01:21 -04:00
Ian Jackson 3c3cdbcf9a maint/add_warning: Run with --check in CI 2022-05-31 18:54:08 +01:00
Orhun Parmaksız bfd41ddb5f
Lexically sort Cargo.toml dependencies
Utilize cargo-sort: https://github.com/DevinR528/cargo-sort

Signed-off-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2022-05-28 20:05:51 +03:00
Nick Mathewson 68b0419752 Merge branch 'standardise-shell' into 'main'
Standardise shell

Closes #425

See merge request tpo/core/arti!533
2022-05-26 12:53:14 +00:00
trinity-1686a 8eb843f2af make almost all scripts use bash and set euo pipefail 2022-05-25 22:25:58 +02:00
Alex Xu (Hello71) 4797c120d0 ci: set umask instead of ARTI_FS_DISABLE_PERMISSION_CHECKS 2022-05-25 10:27:45 -04:00
eta b137d64e18 Update Gitlab CI config for Gitlab 14.10
see https://gitlab.com/gitlab-org/gitlab/-/issues/344533
2022-05-23 10:14:09 +00:00
Nick Mathewson 78e86e6b81 Disable fs-mistrust in coverage CI.
The CI runners like to run as root with umask 000, which our code
rightly freaks out about.
2022-05-10 08:14:13 -04:00
Nick Mathewson 4262e9d0ec Merge branch 'use-fs-mistrust' 2022-05-09 15:27:25 -04:00
trinity-1686a 98de5cff3c only deploy pages on main 2022-05-05 22:21:09 +02:00
trinity-1686a 9ed5983c76 add schedulable job to generate aggregated coverage 2022-05-05 21:05:42 +02:00
Nick Mathewson b9c54af707 gitlab-ci: Disable fs mistrust in integration test
The environment where the test runner does its thing seems to want
to run as root with umask 000, which naturally makes the fs
permissions checks freak out.
2022-05-05 09:47:13 -04:00
Ian Jackson 875f3e4352 CI: Check that the lockfile is up to date.
For at least one job, run the first cargo run with --locked.  This
will fail if the lockfile needs updating.

I have verified that this correctly detects this situation:
  https://gitlab.torproject.org/Diziet/arti/-/pipelines/37692
failed.  Now I have rebased this branch onto main to get the fix to
Cargo.lock.
2022-05-04 14:31:20 +01:00
Nick Mathewson 6f3f351140 Increase our MSRV to 1.56.
Our support policy says that we can update to any Rust released at
least 6 months ago; 1.56 came out on 21 October 2021.

This doesn't yet change any code: it just increases the version
we say we need in our README, and the version we test against in
CI.

Our main justification for this change is to be able to upgrade to
newer versions of our dependencies, including `async_executors` >=
0.5, `aes` >= 0.8, and `cipher` >= 0.4.
2022-04-25 13:03:31 -04:00
trinity-1686a c113c607ac use rustc 1.60 (stable) for coverage 2022-04-07 23:04:10 +02:00
trinity-1686a b7daa9ff12 add integration test and fill semver_status 2022-03-14 21:19:19 +01:00
Nick Mathewson dcd74e7a64 tests/chutney: Merge chutney-launching scripts
Formerly, the "launch a chutney network" code was duplicated in
"setup" and "arti-bench", since "setup" always launched an arti
proxy, while "arti-bench" didn't want that functionality.

Now the "setup" script launches an arti proxy conditionally,
depending on whether the "proxy" argument is given.
2022-03-10 12:29:28 -05:00
Nick Mathewson e15c47f762 Reproducible build: Bump to Rust 1.59 and Alpine 3.15
The Rust upgrade is necessary since our Cargo.lock file now requires
`ed25519` 1.4.0, which requires edition2021, which requires Rust
1.56 or later.

The Alpine upgrade is opportunistic: we might as well.

I've also added comments to remind us to keep the .gitlab-ci.yml
and docker_reproducible_build files in sync, since my first version
of this commit messed that up.

Closes #376.
2022-03-04 10:09:31 -05:00
trinity-1686a ee4ea74698 attempt at making CI faster
Move rust-nightly to stage test so it runs in parallel with coverage,
which are the two longest jobs, and currently run in sequence.
Don't document dependancies, should make the step about 50% faster
Use about 12M of cache to not recompile grcov each time
Don't compile grcov with coverage, we don't need it, it's probably
slower both to compile and execute
2022-02-25 18:08:14 +01:00
Ian Jackson 9aefbf4227 rename *.sh scripts to bare name
As per #309

Update all references.  There is one remaining hit for
  git-grep '\.sh\b'
namely "build.sh" in maint/reproducible_build, which I think is
the build script for osxcross - ie, an external project.
2022-02-18 11:46:06 +00:00
Nick Mathewson e7a38ccb55 Temporarily allow failures in the coverage CI.
Right now it's failing on nightly through no fault of our own.
2022-02-09 08:29:00 -05:00
eta 4413645c1b Merge branch 'eta/arti-bench-ci' into 'main'
arti-bench: run the benchmarks in CI, and keep the results

See merge request tpo/core/arti!283
2022-02-03 20:35:27 +00:00
eta 05046626f3 arti-bench: run the benchmarks in CI, and keep the results
This adds `arti-bench` to the `integration` job in the CI pipelines, and
keeps around the JSON benchmark output for later comparison.
2022-02-03 18:31:32 +00:00
Daniel Schischkin 4509f8b9d4 Remove file ending of shellcheck_all and downgrade_dependencies script 2022-02-03 18:14:57 +00:00
Nick Mathewson 73bb6f342e Merge branch 'add-final-newline-force' into 'main'
Add editorconfig to force some rules (Final Newline)

See merge request tpo/core/arti!289
2022-02-03 15:27:13 +00:00
Daniel Schischkin 3a7412f4cf Add editorconfig to force some rules (Final Newline) 2022-02-03 15:27:13 +00:00
Ian Jackson 7be3bf6339 Temporarily disable some clippy lints on nightly 2022-02-02 21:57:30 +00:00
eta a71ab72bf2 Merge branch 'ci-rustup-show' into 'main'
CI: Add "rustup show" to show compiler versions in logs

See merge request tpo/core/arti!276
2022-01-31 18:33:22 +00:00
Nick Mathewson 81a49fb6ec Merge branch 'dedup-cobertura' into 'main'
add postprocessing script to deduplicate cobertura reports

See merge request tpo/core/arti!272
2022-01-31 17:19:01 +00:00
Ian Jackson ac8e28b6c7 CI: Add "rustup show" to show compiler versions in logs
Trying to debug the nightly failure here
  https://gitlab.torproject.org/Diziet/arti/-/pipelines/25417
and I can't seem to repro it.
2022-01-31 13:58:46 +00:00
Daniel Schischkin 1774de7e47 Remove redundancy/code duplication and switch to shellcheck_all.sh script 2022-01-29 00:09:36 +01:00
trinity-1686a daa1eba969 add postprocessing script to deduplicate cobertura reports 2022-01-28 20:52:50 +01:00
Daniel Schischkin 1d7fcd6d48 Undo remove document-private-items arg 2022-01-28 17:44:32 +01:00
Daniel Schischkin 01b3bc85c9 Remove argument document-private-items from nightly build 2022-01-28 17:28:25 +01:00
Daniel Schischkin 67ac91a809 Add missing file ending for downgrade_dependencies in gitlab ci 2022-01-28 15:26:14 +01:00
Daniel Schischkin 6fe0543645 Add shellcheck step into build stage 2022-01-28 15:21:28 +01:00
arturomf94 72a08cc295 Improve `coverage` job in CI 2022-01-28 00:28:06 +00:00
eta 2f39dbd587 Merge branch 'rtcompat-refactor' into 'main'
Refactor the tor-rtcompat API.

Closes #301 and #300

See merge request tpo/core/arti!263
2022-01-27 15:53:35 +00:00
eta 785ad605d7 Merge branch 'coverage-tracking' into 'main'
Add test coverage tracking with CI/CD

Closes #250

See merge request tpo/core/arti!221
2022-01-27 12:56:22 +00:00
Arturo Marquez 899691e5c7
Install bs4 in coverage job 2022-01-26 23:48:11 -06:00
Arturo Marquez b3ba32824e
Use `maint/with_coverage.sh` in coverage job 2022-01-26 23:13:15 -06:00
Nick Mathewson 474a46999d CI: Fix async-std task
Previously it didn't enable any TLS provider, since we made
native-tls optional a few commits ago.  Now it enables rustls,
so that rustls also gets a quick check along with async-std.

I've also switched this test to use "cargo clippy" in place of
"cargo test" because it's a strict superset.
2022-01-26 15:12:39 -05:00
Nick Mathewson c84c547bf4 Move our "minimal versions" code to a script.
Previously this code was in .gitlab-ci.yml, but for the purposes of
testing my fix for #275, it turned out to be much better to have it
in a script of its own.

Also, we now need to update our "quote" second-order dependency,
since otherwise our minimal first-order dependencies won't build
correctly.
2022-01-07 19:10:07 -05:00