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;