GitXplorerGitXplorer
r

infra-smoke-tests

public
0 stars
2 forks
0 issues

Commits

List of commits on branch main.
Verified
b9b1dc46c9b538fad51a23f42a9d04136014a556

Update mozilla-actions/sccache-action action to v0.0.7 (#109)

rrenovate[bot] committed a month ago
Verified
0797e54809df933b5a82271b143c62311cc1f51e

Update Rust crate clap to v4.5.23 (#108)

rrenovate[bot] committed a month ago
Verified
4abf2b2c8fe7a5256cbcb4e16d743f43450aa894

Update actionshub/yamllint action to v1.8.3 (#107)

rrenovate[bot] committed a month ago
Verified
325b02eb7eb768f110057704b858c3f32d795744

Update Rust crate clap to v4.5.22 (#106)

rrenovate[bot] committed a month ago
Verified
6c312bd1e334622623303bc43c8c7c32b6474a88

Update Rust crate tokio to v1.42.0 (#105)

rrenovate[bot] committed 2 months ago
Verified
92384c9eda77b7fa559650f61b36db3fb948f46b

Update dependency rust to v1.83.0 (#103)

rrenovate[bot] committed 2 months ago

README

The README file for this repository.

✔️ Smoke Tests for Rust Infrastructure

This repository contains a collection of smoke tests for the infrastructure of the Rust project. The tests mostly check that the Content Delivery Networks that the project uses for its releases and crates return the expected responses.

$ just run
✅ crates.io
  ✅ rust-lang/crates.io#4891 - Encoded + character
    ✅ CloudFront encoded
    ✅ CloudFront unencoded
    ✅ CloudFront with space
    ✅ Fastly encoded
    ✅ Fastly unencoded
    ✅ Fastly with space
  ✅ rust-lang/crates.io#6164 - CORS headers
    ✅ CloudFront
    ✅ Fastly
  ✅ Database dumps
    ✅ CloudFront
    ✅ Fastly

✅ rustup
  ✅ rustup.sh
    ✅ CloudFront
    ✅ Fastly
  ✅ win.rustup.rs
    ✅ aarch64
    ✅ i686
    ✅ x86_64

Usage

This project uses Just as a command runner. It is recommended to install and use it with this project, but the commands that just runs can also be copied from the Justfile at the root of the repository.

The smoke tests can be run with the following command:

just run

The tests can be run against either the staging or production environment by specifying it as an argument. By default, tests are run against staging.

just run --env production

The smoke tests are organized in the following way:

  • Test suites execute tests for a specific service, for example crates.io orrustup.
  • Each test suite has one or more test groups, which are collections of tests that check a specific aspect of the service. Usually, they correspond to a feature or a bug that was fixed in the past.
  • Each test group has one or more tests, which usually execute a single HTTP request and check the response. A common pattern is to have a test for each CDN, for example.

If a test fails, the test failure and its error message will be bubbled up the chain and mark the whole test suite as failed.

Development

The repository contains a set of tools that enforce a consistent coding style, run automated tests, and check for common programming errors. Pre-commit hooks run these checks on the local machine when committing changes, while GitHub Actions run the same checks when a pull request is opened.

The pre-commit hooks are managed by pre-commit and can be installed with the following command:

pre-commit install

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.