Skip to main content

Crate deps_gitlab_ci

Crate deps_gitlab_ci 

Source
Expand description

GitLab CI/CD ecosystem support for deps-lsp.

Provides LSP features for .gitlab-ci.yml and .gitlab/ci/*.yml/*.yaml files.

include: - project: org/proj + ref: pins are resolved against the GitLab repository-tags API. include: - component: host/org/proj/name@ref pins are resolved against the GitLab CI/CD Catalog’s project-releases API — a component version is a Release, never a raw tag. Self-hosted GitLab instances are supported via registries.gitlab_instance_host.

§Pin contract

Include formpinResolved against
project: org/proj + ref: <40-hex sha>types::PinStyle::Sha/repository/tags
project: org/proj + ref: v1.2.3 (exact tag)types::PinStyle::Tag/repository/tags
project: org/proj + ref: main (branch)types::PinStyle::Branchnot resolved
project: org/proj (no ref:)Nonenot resolved
component: host/org/proj/name@<40-hex sha>types::PinStyle::Sha/releases
component: host/org/proj/name@1.0 (exact release)types::PinStyle::Tag/releases
component: host/org/proj/name@~latesttypes::PinStyle::Latest/releases
component: host/org/proj/name@1.2 (partial semver)types::PinStyle::Partial/releases
component: host/org/proj/name@some-branchtypes::PinStyle::Branchnot resolved

include: - template: ... and include: - remote: ... are recognized and skipped (spec FR-003) — not version-pinnable. image:/services: Docker tags are out of scope entirely (spec FR-016) and never parsed.

Re-exports§

pub use ecosystem::GitlabCiEcosystem;
pub use formatter::GitlabCiFormatter;
pub use host::GitlabHost;
pub use host::GitlabInstanceHost;
pub use host::is_valid_gitlab_coordinate;
pub use parser::parse_gitlab_ci_yaml;
pub use registry::GitlabCiRegistry;
pub use types::EndpointKind;
pub use types::GitlabCiDependency;
pub use types::GitlabCiParseResult;
pub use types::GitlabCiVersion;
pub use types::HostRef;
pub use types::IncludeKind;
pub use types::PinStyle;

Modules§

client
GitLab REST API client — fetches repository tags (project: includes) and project releases (component: includes) from a per-call, per-instance host.
component
component: include pin classification and resolution.
ecosystem
GitLab CI ecosystem implementation for deps-lsp.
formatter
GitLab CI ecosystem formatter.
host
GitLab instance host validation and resolution.
parser
.gitlab-ci.yml-syntax parser using yaml-rust2’s event-driven (MarkedEventReceiver) API.
registry
GitlabCiRegistry — the deps_core::Registry implementation for GitLab CI.
types
GitLab CI dependency and version types.

Constants§

UNRESOLVED_HOST_DIAGNOSTIC_CODE
Stable [tower_lsp_server::ls_types::Diagnostic::code] for the FR-012 informational unresolved-host diagnostic.