Skip to content

Commit

Permalink
tests.nixpkgs-check-by-name: Move interface description into code
Browse files Browse the repository at this point in the history
This would be duplicated otherwise
  • Loading branch information
infinisil committed Dec 15, 2023
1 parent 79618ff commit 74e8b38
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 23 deletions.
30 changes: 8 additions & 22 deletions pkgs/test/nixpkgs-check-by-name/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,14 @@ This directory implements a program to check the [validity](#validity-checks) of
It is being used by [this GitHub Actions workflow](../../../.github/workflows/check-by-name.yml).
This is part of the implementation of [RFC 140](https://github.com/NixOS/rfcs/pull/140).

## API

This API may be changed over time if the CI workflow making use of it is adjusted to deal with the change appropriately.

- Command line: `nixpkgs-check-by-name [--base <BASE_NIXPKGS>] <NIXPKGS>`
- Arguments:
- `<NIXPKGS>`:
The path to the Nixpkgs to check.
For PRs, this should be set to a checkout of the PR branch.
- `<BASE_NIXPKGS>`:
The path to the Nixpkgs to use as the [ratchet check](#ratchet-checks) base.
For PRs, this should be set to a checkout of the PRs base branch.

If not specified, no ratchet checks will be performed.
However, this flag will become required once CI uses it.
- Exit code:
- `0`: If the [validation](#validity-checks) is successful
- `1`: If the [validation](#validity-checks) is not successful
- `2`: If an unexpected I/O error occurs
- Standard error:
- Informative messages
- Detected problems if validation is not successful
## Interface

The interface of the tool is shown with `--help`:
```
cargo run -- --help
```

The interface may be changed over time only if the CI workflow making use of it is adjusted to deal with the change appropriately.

## Validity checks

Expand Down
14 changes: 13 additions & 1 deletion pkgs/test/nixpkgs-check-by-name/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,20 @@ use std::path::{Path, PathBuf};
use std::process::ExitCode;

/// Program to check the validity of pkgs/by-name
///
/// This CLI interface may be changed over time if the CI workflow making use of
/// it is adjusted to deal with the change appropriately.
///
/// Exit code:
/// - `0`: If the validation is successful
/// - `1`: If the validation is not successful
/// - `2`: If an unexpected I/O error occurs
///
/// Standard error:
/// - Informative messages
/// - Detected problems if validation is not successful
#[derive(Parser, Debug)]
#[command(about)]
#[command(about, verbatim_doc_comment)]
pub struct Args {
/// Path to the main Nixpkgs to check.
/// For PRs, this should be set to a checkout of the PR branch.
Expand Down

0 comments on commit 74e8b38

Please sign in to comment.