github_workflow_update/
lib.rs

1// Copyright (C) 2022 Leandro Lisboa Penz <lpenz@lpenz.org>
2// This file is subject to the terms and conditions defined in
3// file 'LICENSE', which is part of this source code package.
4
5//! Check if github actions used in a workflow can be updated
6//!
7//! # Code structure
8//!
9//! - Utility modules:
10//!   - [`cmd`]: command line arguments parsing and main function.
11//!   - [`error`]: `Error` and `Result` types.
12//!   - [`version`]: type wrapper for versions; currently using.
13//!     [`semver`] with [`lenient_semver`]
14//! - Main functionality:
15//!   - [`processor`]: top level file processing function.
16//!   - [`workflow`]: workflow file parsing, into [`workflow::Workflow`] type. A
17//!     workflow can have one or more [`entity::Entity`]s that represent
18//!     resource with a version.
19//!   - [`entity`]: the [`entity::Entity`] type.
20//!   - [`resolver`]: a resolver [`resolver::Server`] that makes async
21//!     requests and caches the result, and an async
22//!     [`resolver::Client`] that fills the `entity.latest` field with
23//!     the latest version of the upstream entity.
24//!   - [`updater`]: the resolver can deal with different upstream
25//!     API's by using the [`updater::Upd`] trait, which is generic
26//!     over the currently supported [`updater::docker`] and
27//!     [`updater::github`] upstreams.
28
29pub mod cmd;
30pub mod entity;
31pub mod error;
32pub mod processor;
33pub mod resolver;
34pub mod updater;
35pub mod version;
36pub mod workflow;