Skip to content

Commit 24ee5e6

Browse files
committed
docs: describe motivation in readme
1 parent e904a52 commit 24ee5e6

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

‎README.md‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# cicd-rust
1+
# Rust CI/CD
22

33
Reusable GitHub Actions for Rust CI/CD.
44
Install a toolchain, run the lint-and-test gate, and check a crate's release readiness — without depending on third-party actions whose behaviour drifts with the runner image.
@@ -113,6 +113,11 @@ The sealed `lint-and-test-docker` passes run `--offline` against the cache `carg
113113
[`.github/workflows/selftest.yml`](.github/workflows/selftest.yml) runs every action against the fixture crate in [`fixtures/sample-crate`](fixtures/sample-crate/) on each push and pull request.
114114
The actions are therefore exercised end-to-end before any consumer relies on them.
115115

116+
117+
## Motivation
118+
119+
GitHub Actions have huge potential for supply-chain attacks. Repeating the same setup across repositories was tedious or required using and combining various other third-party actions, none of which is hardened against malicious build.rs scripts in test-dependencies, that potentially receive less attention than the release dependency tree. What purpose does it have to execute both in the same job context? As Archer would say: "That's how you get ants". Given how quick Rust build caches can grow and how time-consuming it can be to pass artifcats between jobs, Docker is available in GitHub Actions and provides easier means of compartmentalization.
120+
116121
## Status and licence
117122

118123
Reusable across Rust projects; released under the MIT licence (see [LICENSE](LICENSE)).

0 commit comments

Comments
 (0)