Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge ostree-ext #875

Merged
merged 1,349 commits into from
Nov 7, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
1349 commits
Select commit Hold shift + click to select a range
3842d1e
man: Add ostree-container-auth
cgwalters Sep 19, 2023
19d740a
Merge pull request #543 from cgwalters/doc-container-auth
cgwalters Sep 21, 2023
4f52a22
container/encapsulate: Fix pushing to OCI directories with a tag
cgwalters Sep 25, 2023
ea2d317
container: Add support for the `dir` transport
lukewarmtemp Sep 25, 2023
88b5fc7
Merge pull request #544 from lukewarmtemp/accept-dir-container-deploy
cgwalters Sep 25, 2023
d19f948
container: Add more tests for image reference
cgwalters Sep 25, 2023
bf7137c
Merge pull request #546 from cgwalters/more-imgref-tests
cgwalters Sep 26, 2023
4de4e7c
container: Add `dir` container deploy test
lukewarmtemp Sep 25, 2023
176519f
Merge pull request #545 from cgwalters/fix-oci-with-tag
cgwalters Sep 26, 2023
b847f13
Merge pull request #547 from lukewarmtemp/add-dir-container-deploy-in…
cgwalters Sep 26, 2023
221b9f3
Release 0.12.2
cgwalters Sep 26, 2023
f64a7f3
lib: Port to terminal-size
cgwalters Sep 26, 2023
34f43d3
Merge pull request #549 from cgwalters/terminal-size
jmarrero Sep 26, 2023
ff2171b
Merge pull request #548 from cgwalters/release
jmarrero Sep 26, 2023
8fa019b
deploy: Add a no_clean option
cgwalters Sep 30, 2023
c242539
Merge pull request #550 from cgwalters/deploy-no-clean
jmarrero Oct 1, 2023
77164e5
lib: Add mountutil module
cgwalters Oct 2, 2023
e435628
Merge pull request #551 from cgwalters/add-mountpoint-util-check
jmarrero Oct 2, 2023
c8545e1
lib/container: Add APIs to retrieve version conveniently
cgwalters Oct 3, 2023
e74e2f9
Merge pull request #552 from cgwalters/add-version-api
jmarrero Oct 3, 2023
cc874c1
tree-wide: Clean up usage of `tracing::instrument`
cgwalters Oct 3, 2023
5e0469d
store: Silence extremely verbose tracing::debug
cgwalters Oct 3, 2023
3e42da5
Merge pull request #553 from cgwalters/quiet-debug
jmarrero Oct 3, 2023
881882f
Release 0.12.3
cgwalters Oct 6, 2023
ef9bcc4
Merge pull request #554 from cgwalters/release
jmarrero Oct 9, 2023
c6e5aa7
chunking: Handle low amount of high-size packages
travier Oct 9, 2023
d70a9c9
Merge pull request #555 from travier/chunking-low-high-size
cgwalters Oct 10, 2023
0d8c7ea
deploy: Always use merge commit
cgwalters Oct 20, 2023
693c5eb
Merge pull request #556 from cgwalters/deploy-squashed
cgwalters Oct 20, 2023
0815017
Release 0.12.4
cgwalters Oct 20, 2023
84043ec
Merge pull request #557 from cgwalters/release
cgwalters Oct 20, 2023
db23ba5
tar: Fix multiple hardlinks
cgwalters Oct 28, 2023
ea5a78a
tar: Fix hang if ostree exits with failure
cgwalters Oct 29, 2023
27492e6
Merge pull request #558 from cgwalters/fix-tar-import
jmarrero Oct 29, 2023
26de776
Merge pull request #559 from cgwalters/fix-close-vs-exit
jmarrero Oct 29, 2023
c7905fb
cli: Add commands to output manifest and config
cgwalters Nov 2, 2023
e6951f7
Merge pull request #560 from cgwalters/image-inspect
cgwalters Nov 2, 2023
0c34cbd
Release 0.12.5
cgwalters Nov 2, 2023
f0af944
Merge pull request #561 from cgwalters/release
jmarrero Nov 2, 2023
4032635
encapsulate: Sort components
cgwalters Nov 6, 2023
0bb03ef
Merge pull request #563 from cgwalters/reproducible-components
jmarrero Nov 6, 2023
7405e84
Release 0.12.6
cgwalters Nov 9, 2023
728586e
unencapsulate: Handle legacy docker MIME type
cgwalters Nov 9, 2023
0e7e1f3
isolation: Also reset environment
cgwalters Nov 10, 2023
0a1d55f
Merge pull request #566 from cgwalters/setpriv-home
jmarrero Nov 10, 2023
b081635
Merge pull request #565 from cgwalters/handle-docker-layer
jmarrero Nov 10, 2023
8737da9
Merge pull request #564 from cgwalters/release
cgwalters Nov 10, 2023
1c8fa1e
encapsulate: Support setting arbitrary container config
cgwalters Nov 28, 2023
14307ff
Merge pull request #567 from cgwalters/build-oci-config
jmarrero Nov 28, 2023
03b07a2
lib: Update to libsystemd 0.7
cgwalters Nov 28, 2023
50c2ac1
lib: Update to async-compression 0.4
cgwalters Nov 28, 2023
d7c2524
lib: Update indoc to 2
cgwalters Nov 28, 2023
55b1aff
lib: Update io-lifetimes to 2
cgwalters Nov 28, 2023
45d5534
lib: Drop unused bitflags dependency
cgwalters Nov 28, 2023
de85e76
lib: Release 0.12.7
cgwalters Nov 28, 2023
7c7147e
Merge pull request #568 from cgwalters/release
jmarrero Nov 28, 2023
b5cdaf4
Move /var content to /usr/share/factory/var
cgwalters Nov 30, 2023
b59aaaa
Merge pull request #569 from cgwalters/auto-var
cgwalters Dec 1, 2023
495988e
Support non-`/usr` content if ostree configured with overlayfs
cgwalters Dec 8, 2023
77f96df
Add convenient API/CLI to prune all content
cgwalters Dec 9, 2023
90937ca
fixup! Add convenient API/CLI to prune all content
cgwalters Dec 10, 2023
b99bc8c
deploy: (style) Move external crates before internal
cgwalters Dec 9, 2023
49b4021
Merge pull request #570 from cgwalters/honor-all-dirs
jmarrero Dec 11, 2023
4ab03f0
Merge pull request #571 from cgwalters/really-prune
jmarrero Dec 11, 2023
59f6a27
Release 0.12.8
cgwalters Dec 14, 2023
7c3f8b8
Merge pull request #572 from cgwalters/release
jmarrero Dec 15, 2023
7b3d71f
lib: Bump semver
cgwalters Jan 3, 2024
a2539f3
lib: Remove `is_layered`
cgwalters Jan 3, 2024
0b4f084
lib: Make image configuration always present
cgwalters Jan 3, 2024
9391353
lib: Fix omitted lifetime in associated consts
cgwalters Jan 3, 2024
0556272
store: Remove deprecated `query_image`, rename replacement
cgwalters Jan 3, 2024
9556368
store: Remove deprecated `copy` function
cgwalters Jan 3, 2024
ac2529f
store: Rename `copy_as` -> `copy`
cgwalters Jan 3, 2024
b653a06
Remove ExportLayout
cgwalters Jan 3, 2024
157d075
container: Don't include legacy `version` label by default
cgwalters Jan 3, 2024
1cd162d
Merge pull request #575 from cgwalters/remove-is-layered
jmarrero Jan 4, 2024
b89ecca
Merge pull request #577 from cgwalters/fix-deprecated-ref
jmarrero Jan 4, 2024
c3fa168
Merge pull request #581 from cgwalters/misc-semver4
jmarrero Jan 4, 2024
6c9c311
Merge pull request #579 from cgwalters/misc-semver2
jmarrero Jan 4, 2024
de290e5
Merge pull request #578 from cgwalters/misc-semver
jmarrero Jan 4, 2024
0882c46
Merge pull request #580 from cgwalters/misc-semver3
jmarrero Jan 4, 2024
a721aa5
Merge pull request #576 from cgwalters/configuration-required
jmarrero Jan 4, 2024
90a2d13
Merge pull request #574 from cgwalters/semver-update
jmarrero Jan 4, 2024
263cd73
isolation: Only drop a few strategic environment variables
cgwalters Jan 17, 2024
311c8f2
commit: Drop erroring on `/var` content
cgwalters Jan 17, 2024
6d9f958
Merge pull request #583 from cgwalters/isolation-keep-proxy
jmarrero Jan 17, 2024
15e3f98
Merge pull request #584 from cgwalters/container-commit-newvar
jmarrero Jan 17, 2024
5a2bdbe
ocidir: Change `create` -> `ensure`
cgwalters Jan 18, 2024
0665555
Merge pull request #585 from cgwalters/ocidir-minor
jmarrero Jan 18, 2024
ecb8203
Bump to cap-std-ext 4 (and cap-std 3)
cgwalters Jan 23, 2024
b104a46
container: Switch to cap-std when exporting to oci
cgwalters Jan 18, 2024
3681ac3
Merge pull request #586 from cgwalters/container-export-prep
cgwalters Jan 23, 2024
c1027b4
Merge pull request #587 from cgwalters/bump-cap-std
jmarrero Jan 23, 2024
522799c
Bump to cap-std-ext 4 (and cap-std 3)
cgwalters Jan 23, 2024
7953da3
Merge pull request #589 from cgwalters/bump-cap-std
jmarrero Jan 24, 2024
daff9f8
encapsulate: Fix regression with relative directories
cgwalters Jan 25, 2024
ecce09a
Merge pull request #593 from cgwalters/revert-cap-std-ocidir
jmarrero Jan 26, 2024
34fea14
deploy: Don't enforce container sigpolicy by default, add `--enforce-…
cgwalters Jan 31, 2024
a5fadff
Merge pull request #594 from cgwalters/backoff-sigverify
cgwalters Jan 31, 2024
cb03227
encapsulate: Add `containers.bootc` label when we add `ostree.bootable`
cgwalters Feb 5, 2024
47b1040
Merge pull request #595 from cgwalters/add-containers-bootc
jmarrero Feb 5, 2024
9ae6e58
Release 0.13.1
cgwalters Feb 5, 2024
267d3c8
Merge pull request #596 from cgwalters/release
cgwalters Feb 5, 2024
b2baae3
ci: Add reverse dependency testing targeting bootc
cgwalters Feb 7, 2024
672608b
Merge pull request #597 from cgwalters/revdep-bootc
cgwalters Feb 8, 2024
fe356b5
Bump MSRV to 1.74
cgwalters Feb 9, 2024
29727e3
Merge pull request #601 from cgwalters/msrv
cgwalters Feb 10, 2024
5281e67
tests: Strengthen check for /usr/share/factory/var logic
cgwalters Feb 9, 2024
0ded4e8
Merge pull request #600 from cgwalters/more-var-testing
cgwalters Feb 11, 2024
660614d
tar: Generalize a TarImportConfig
cgwalters Feb 9, 2024
4bcc315
store: If ostree >= 2024.3, retain content in `/var`
cgwalters Feb 9, 2024
8dca470
Merge pull request #602 from cgwalters/support-ostree-var
cgwalters Feb 11, 2024
fab9825
Release 0.13.2
cgwalters Feb 12, 2024
bf56661
Merge pull request #603 from cgwalters/release
cgwalters Feb 12, 2024
399b7b7
container: Allow alternative formatting to drop `ostree-unverified-re…
cgwalters Feb 13, 2024
4549445
Merge pull request #604 from cgwalters/format-image-alternate
jmarrero Feb 17, 2024
cce81ce
lib/tar: Add much more error context
cgwalters Feb 29, 2024
04fb812
Merge pull request #605 from cgwalters/format-image-alternate
jeckersb Feb 29, 2024
fe8146d
tar: Unconditionally use repo tmpdir
cgwalters Feb 29, 2024
8f26320
Merge pull request #606 from cgwalters/tmpdir-in-repo
jmarrero Mar 1, 2024
3d38fc7
Release 0.13.3
cgwalters Mar 11, 2024
11de308
Merge pull request #610 from cgwalters/release
cgwalters Mar 11, 2024
4d10a2c
tests: Add an opt -> var/opt link
cgwalters Mar 11, 2024
857f8d1
Merge pull request #611 from cgwalters/test-opt
jeckersb Mar 11, 2024
e1e3745
lib: Properly parse ostree tristate
cgwalters Mar 11, 2024
8d972c1
Merge pull request #613 from cgwalters/fix-composefs-truthiness
jeckersb Mar 11, 2024
2d1aa89
Support /usr/lib/ostree/auth.json
cgwalters Mar 27, 2024
e9b16f8
Merge pull request #614 from cgwalters/fetch-usrlib-too
jeckersb Mar 27, 2024
651ae79
Add zstd:chunked support
travier Mar 27, 2024
3d686ab
Merge pull request #615 from travier/zstd-chunked
cgwalters Mar 27, 2024
6c8ef67
container: Make ManifestDiff serializable
cgwalters Apr 17, 2024
62bac42
Merge pull request #619 from cgwalters/diff-serialize
cgwalters Apr 17, 2024
7ecda73
Add docker-archive transport
albertofaria Apr 26, 2024
3014069
Merge pull request #620 from albertofaria/docker-archive
cgwalters Apr 28, 2024
e30d232
container: Drop async_compression
cgwalters Apr 28, 2024
62c4564
lib/tests: Test zstd:chunked format
travier Mar 27, 2024
689e793
Merge pull request #622 from cgwalters/no-async-decompress3
cgwalters Apr 29, 2024
00428b3
Release 0.13.4
cgwalters Apr 29, 2024
9a4743a
Merge pull request #623 from cgwalters/release
cgwalters Apr 29, 2024
9305ab4
Fix use of deprecated chrono function
jeamland May 21, 2024
0ab73f9
Ensure SELinux label policy is applied when merging image layers
jeamland May 21, 2024
0f538a8
Merge pull request #625 from jeamland/jeamland/fix-deprecated-chrono
jeckersb May 21, 2024
31603f0
Fix clippy lints
jeckersb May 21, 2024
2b4beaf
lib: use pkg-config feature for zstd
cgwalters May 21, 2024
6945225
Merge pull request #627 from jeckersb/clippy-fixups
cgwalters May 21, 2024
61ab1c6
Merge pull request #628 from cgwalters/zstd-pkgconfig
jeckersb May 22, 2024
c0e8c8f
Merge pull request #626 from jeamland/jeamland/sepolicy-on-merge
cgwalters May 22, 2024
d94395b
lib: Re-export containers_image_proxy in full
cgwalters May 23, 2024
1ac39fc
Merge pull request #631 from cgwalters/reexport-proxy
cgwalters May 28, 2024
d959fac
cli: Bump to tracing-subscriber 0.3
cgwalters May 28, 2024
a70fc7b
Merge pull request #632 from cgwalters/bump-tracing
jmarrero May 28, 2024
0c6e5e4
lib: bump gvariant to 0.5.0
jeckersb May 29, 2024
d621755
Merge pull request #634 from jeckersb/gvariant-0.5.0
cgwalters May 29, 2024
ab3e9df
prepareroot: Also accept composefs enabled=signed
cgwalters May 29, 2024
4730a72
Merge pull request #635 from cgwalters/fix-signed-parsing
jeckersb May 30, 2024
b9c7ff6
Make authfile API public
cgwalters May 31, 2024
6c090d8
fixture: Add missing trailing NUL in security.selinux xattr
cgwalters Jun 1, 2024
1e023b2
tests: Add some error context
cgwalters Jun 1, 2024
a5a1e0d
Merge pull request #637 from cgwalters/fixture-nul
jeckersb Jun 3, 2024
cf15ee3
0.14: Bump c-i-proxy, use external `ocidir` crate
cgwalters Jun 3, 2024
1ac0d14
Merge pull request #638 from cgwalters/depend-ocidir
cgwalters Jun 4, 2024
6f4e8c7
authfile: add tests for non-root case
jeckersb Jun 4, 2024
fd2e428
Merge pull request #636 from cgwalters/pub-authfile
cgwalters Jun 4, 2024
72c707b
proxy: Fix logic error with auth_data switch
cgwalters Jun 5, 2024
8f7fd02
Merge pull request #639 from cgwalters/fix-auth-pulls
cgwalters Jun 5, 2024
aecd8a3
Release 0.14.1
cgwalters Jun 5, 2024
7e8a0ab
Merge pull request #640 from cgwalters/release
jmarrero Jun 5, 2024
dfcea4a
chunking: Add some doc comments
cgwalters Jun 19, 2024
4374c05
container: Add support for re-exporting a fetched container
cgwalters Jan 18, 2024
5269bdf
Merge pull request #642 from cgwalters/container-export
jmarrero Jun 21, 2024
72aa9a1
tests: Deduplicate fixture code
cgwalters Jun 21, 2024
608bc19
export: Add progress flag
cgwalters Jun 21, 2024
bf8cc25
Merge pull request #643 from cgwalters/dedup-testing
jeckersb Jun 21, 2024
0536732
Fix deprecation warning with rust 1.79.0
jeckersb Jun 21, 2024
92c01ab
Merge pull request #645 from jeckersb/default_features
cgwalters Jun 21, 2024
0f324e1
Merge pull request #644 from cgwalters/export-progress
jeckersb Jun 21, 2024
0c0e334
Release 0.14.2
cgwalters Jun 21, 2024
d6ac3ba
Merge pull request #646 from cgwalters/release
cgwalters Jun 21, 2024
e66b381
container: Drop unnecessary &mut
cgwalters Jun 27, 2024
f300504
add contentmeta option with determinism
antheas Jun 28, 2024
ad24d8c
add label support to top level
antheas Jun 30, 2024
050916e
force ordering in internal mappings (does not seem to make a differen…
antheas Jun 30, 2024
92b12be
fix layer concatenation bug
antheas Jul 1, 2024
8c94e05
add annotation setting support
antheas Jul 1, 2024
ff6a6da
add created timestamp support
antheas Jul 1, 2024
33b2606
Revert "add annotation setting support"
antheas Jul 1, 2024
05f13f8
add annotation support
antheas Jul 1, 2024
816c82c
tar: Handle hardlinks into /etc
cgwalters Jun 30, 2024
9d34c35
Merge pull request #648 from cgwalters/etc-hardlinked
cgwalters Jul 1, 2024
0c5c8c5
Release 0.14.3
cgwalters Jul 1, 2024
b26af32
Merge pull request #649 from cgwalters/release
cgwalters Jul 2, 2024
dc5faad
Merge pull request #647 from cgwalters/fetch-cleanups
cgwalters Jul 2, 2024
7747f3a
config: Fix absolute symlinks
cgwalters Jul 15, 2024
218696d
Merge pull request #650 from cgwalters/config-filesystem
cgwalters Jul 16, 2024
9482b15
Release 0.14.4
cgwalters Jul 16, 2024
b0d1c1e
Merge pull request #651 from cgwalters/release
jeckersb Jul 16, 2024
1061e93
use ocidir fork to fix newlines
antheas Aug 1, 2024
9930e35
Update to ocidir 0.2
cgwalters Aug 1, 2024
4dcccad
Merge pull request #653 from cgwalters/bump-ocidir
jmarrero Aug 2, 2024
e855c51
remove option<> from rawmeta creation
antheas Aug 27, 2024
dbef2af
improve contentmeta docs and fix label nit
antheas Aug 27, 2024
2db0f2a
Require matching architecture for bootable images
cgwalters Aug 29, 2024
fe8207f
Merge pull request #656 from cgwalters/lock-arch
cgwalters Aug 30, 2024
f3162f9
Revert "use ocidir fork to fix newlines"
antheas Aug 30, 2024
3ba8e8e
lib: fix building with musl libc
Aug 30, 2024
cb33dad
fix formatting
antheas Aug 30, 2024
3ea0f76
make version field mandatory
antheas Aug 30, 2024
4d46d17
Merge pull request #658 from JustSoup312/musl
cgwalters Aug 30, 2024
862c1ec
fix fixture using the wrong entry type
antheas Aug 30, 2024
8fda049
lower indexmap version to fix c9s
antheas Aug 30, 2024
60e2a40
Merge pull request #652 from hhd-dev/main
cgwalters Sep 3, 2024
0980d0b
Release 0.14.5
cgwalters Sep 3, 2024
219a322
Merge pull request #659 from cgwalters/release
jeckersb Sep 16, 2024
1706034
Fix README.md links
cgwalters Sep 16, 2024
f1e2342
build(deps): bump actions/download-artifact in /.github/workflows
dependabot[bot] Sep 3, 2024
e4572c9
Merge pull request #660 from ostreedev/dependabot/github_actions/dot-…
cgwalters Sep 16, 2024
63bfa23
Merge pull request #661 from cgwalters/fix-readme-links
cgwalters Sep 16, 2024
b65dc85
clippy: Fix all the things
jeckersb Sep 16, 2024
6667e13
Merge pull request #662 from jeckersb/clippy
jmarrero Sep 16, 2024
e4468f7
Port to ocidir 0.3
jeckersb Sep 16, 2024
489e7f7
Merge pull request #663 from jeckersb/ocidir-0.3
cgwalters Sep 19, 2024
d2f3560
Release 0.15.0
cgwalters Sep 19, 2024
db500d3
Merge pull request #665 from cgwalters/release
jeckersb Sep 19, 2024
c0bc636
Fix digest usage
cgwalters Sep 23, 2024
0427aa9
Merge pull request #666 from cgwalters/fix-digest-traps
cgwalters Sep 24, 2024
bbee982
lib: Release 0.15.1
cgwalters Sep 24, 2024
f243445
Merge pull request #667 from cgwalters/release
jeckersb Sep 24, 2024
abb125a
store: Add a public accessor for layer
cgwalters Sep 29, 2024
d786229
Merge pull request #668 from cgwalters/pub-layerstate
HuijingHei Sep 30, 2024
776213c
store: Use policy from merged tree with derived layers
cgwalters Sep 24, 2024
375b686
Merge pull request #669 from cgwalters/fix-selinux
jmarrero Oct 2, 2024
37e5358
Release 0.15.2
cgwalters Oct 2, 2024
900990a
Merge pull request #670 from cgwalters/release
jmarrero Oct 2, 2024
b94fdbe
unencapsulate: Add errctx for decompression
cgwalters Oct 21, 2024
993a583
Merge pull request #671 from cgwalters/add-errctx
cgwalters Oct 21, 2024
6fc79fe
tar: Don't filter out toplevel /run, /proc etc
cgwalters Oct 24, 2024
8e19d6e
store: Accept just containers.bootc for as bootable
cgwalters Oct 24, 2024
0c118cb
Merge pull request #673 from cgwalters/import-generic-prep
cgwalters Oct 24, 2024
2bec085
installdeps: drop dnf config-manager
cgwalters Oct 31, 2024
b6992cc
Merge pull request #678 from cgwalters/drop-set-enabled
cgwalters Oct 31, 2024
25894c5
Remove decompress_bridge and move decompression inline
jeckersb Oct 30, 2024
05dd65f
Merge pull request #677 from jeckersb/decompress
jeckersb Oct 31, 2024
e33340d
tar: Propagate PAX extensions (including xattrs)
cgwalters Oct 29, 2024
f3c1c15
tar: Handle absolute hardlinked paths to sysroot
cgwalters Nov 1, 2024
003039d
Merge pull request #679 from cgwalters/import-xattrs
cgwalters Nov 4, 2024
40431e8
Merge pull request #680 from cgwalters/fix-hardlinked-sysroot-absolute
cgwalters Nov 4, 2024
46c36c3
Release 0.15.3
cgwalters Nov 4, 2024
d35b2a3
Merge pull request #681 from cgwalters/release
jmarrero Nov 4, 2024
23a54d9
Merge remote-tracking branch 'ostree-rs-ext/main' into merge-ostree-r…
cgwalters Nov 6, 2024
7359e69
Move more dependencies to workspace
cgwalters Nov 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 27 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[workspace]
members = ["cli", "lib", "xtask", "tests-integration"]
members = ["cli", "lib", "ostree-ext", "xtask", "tests-integration"]
resolver = "2"

[profile.dev]
Expand Down
2 changes: 1 addition & 1 deletion lib/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ anstyle = "1.0.6"
anyhow = { workspace = true }
bootc-utils = { path = "../utils" }
camino = { workspace = true, features = ["serde1"] }
ostree-ext = { version = "0.15.0" }
ostree-ext = { path = "../ostree-ext" }
chrono = { workspace = true, features = ["serde"] }
clap = { workspace = true, features = ["derive","cargo"] }
clap_mangen = { version = "0.2.20", optional = true }
Expand Down
65 changes: 65 additions & 0 deletions ostree-ext/.github/workflows/bootc.yml
Copy link

@p5 p5 Nov 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, GitHub doesn't support GHA workflows in subdirectories (something I've wanted for years!), so these tests will not run.
If you wish to keep these tests, it's probably best moving the contents of ./ostree-ext/.github/workflows/ to ./.github/workflows/.

Any paths inside these workflows will also need updating, since they aren't expecting the old directory structure.

Copy link
Collaborator Author

@cgwalters cgwalters Nov 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, yep there's more followup to do here, though in practice we have decent coverage from the unit tests and our integration tests here cover a lot.

Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: bootc

permissions:
actions: read

on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch: {}

jobs:
build-c9s:
runs-on: ubuntu-latest
container: quay.io/centos/centos:stream9
steps:
- run: dnf -y install git-core
- uses: actions/checkout@v3
with:
repository: containers/bootc
path: bootc
- uses: actions/checkout@v3
with:
path: ostree-rs-ext
- name: Patch bootc to use ostree-rs-ext
run: |
set -xeuo pipefail
cd bootc
cat >> Cargo.toml << 'EOF'
[patch.crates-io]
ostree-ext = { path = "../ostree-rs-ext/lib" }
EOF
- name: Install deps
run: ./bootc/ci/installdeps.sh
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2
with:
key: "build-bootc-c9s"
workspaces: bootc
- name: Build
run: cd bootc && make test-bin-archive
- name: Upload binary
uses: actions/upload-artifact@v4
with:
name: bootc-c9s.tar.zst
path: bootc/target/bootc.tar.zst
privtest-alongside:
name: "Test install-alongside"
needs: build-c9s
runs-on: ubuntu-latest
steps:
- name: Download
uses: actions/[email protected]
with:
name: bootc-c9s.tar.zst
- name: Install
run: tar -xvf bootc.tar.zst
- name: Integration tests
run: |
set -xeuo pipefail
sudo podman run --rm -ti --privileged -v /:/target -v /var/lib/containers:/var/lib/containers -v ./usr/bin/bootc:/usr/bin/bootc --pid=host --security-opt label=disable \
quay.io/centos-bootc/centos-bootc-dev:stream9 bootc install to-filesystem \
--karg=foo=bar --disable-selinux --replace=alongside /target
184 changes: 184 additions & 0 deletions ostree-ext/.github/workflows/rust.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
# Inspired by https://github.com/rust-analyzer/rust-analyzer/blob/master/.github/workflows/ci.yaml
# but tweaked in several ways. If you make changes here, consider doing so across other
# repositories in e.g. ostreedev etc.
name: Rust

permissions:
actions: read

on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch: {}

env:
CARGO_TERM_COLOR: always

jobs:
tests:
runs-on: ubuntu-latest
container: quay.io/coreos-assembler/fcos-buildroot:testing-devel
steps:
- uses: actions/checkout@v3
- name: Code lints
run: ./ci/lints.sh
- name: Install deps
run: ./ci/installdeps.sh
# xref containers/containers-image-proxy-rs
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2
with:
key: "tests"
- name: cargo fmt (check)
run: cargo fmt -- --check -l
- name: Build
run: cargo test --no-run
- name: Individual checks
run: (cd cli && cargo check) && (cd lib && cargo check)
- name: Run tests
run: cargo test -- --nocapture --quiet
- name: Manpage generation
run: mkdir -p target/man && cargo run --features=docgen -- man --directory target/man
- name: cargo clippy
run: cargo clippy
build:
runs-on: ubuntu-latest
container: quay.io/coreos-assembler/fcos-buildroot:testing-devel
steps:
- uses: actions/checkout@v3
- name: Install deps
run: ./ci/installdeps.sh
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2
with:
key: "build"
- name: Build
run: cargo build --release --features=internal-testing-api
- name: Upload binary
uses: actions/upload-artifact@v4
with:
name: ostree-ext-cli
path: target/release/ostree-ext-cli
build-minimum-toolchain:
name: "Build using MSRV"
runs-on: ubuntu-latest
container: quay.io/coreos-assembler/fcos-buildroot:testing-devel
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install deps
run: ./ci/installdeps.sh
- name: Detect crate MSRV
shell: bash
run: |
msrv=$(cargo metadata --format-version 1 --no-deps | \
jq -r '.packages[1].rust_version')
echo "Crate MSRV: $msrv"
echo "ACTION_MSRV_TOOLCHAIN=$msrv" >> $GITHUB_ENV
- name: Remove system Rust toolchain
run: dnf remove -y rust cargo
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env['ACTION_MSRV_TOOLCHAIN'] }}
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2
with:
key: "min"
- name: cargo check
run: cargo check
cargo-deny:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: EmbarkStudios/cargo-deny-action@v1
with:
log-level: warn
command: check bans sources licenses
integration:
name: "Integration"
needs: build
runs-on: ubuntu-latest
container: quay.io/fedora/fedora-coreos:testing-devel
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Download ostree-ext-cli
uses: actions/[email protected]
with:
name: ostree-ext-cli
- name: Install
run: install ostree-ext-cli /usr/bin && rm -v ostree-ext-cli
- name: Integration tests
run: ./ci/integration.sh
ima:
name: "Integration (IMA)"
needs: build
runs-on: ubuntu-latest
container: quay.io/fedora/fedora-coreos:testing-devel
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Download ostree-ext-cli
uses: actions/[email protected]
with:
name: ostree-ext-cli
- name: Install
run: install ostree-ext-cli /usr/bin && rm -v ostree-ext-cli
- name: Integration tests
run: ./ci/ima.sh
privtest:
name: "Privileged testing"
needs: build
runs-on: ubuntu-latest
container:
image: quay.io/fedora/fedora-coreos:testing-devel
options: "--privileged --pid=host -v /var/tmp:/var/tmp -v /run/dbus:/run/dbus -v /run/systemd:/run/systemd -v /:/run/host"
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Download
uses: actions/[email protected]
with:
name: ostree-ext-cli
- name: Install
run: install ostree-ext-cli /usr/bin && rm -v ostree-ext-cli
- name: Integration tests
run: ./ci/priv-integration.sh
privtest-cockpit:
name: "Privileged testing (cockpit)"
needs: build
runs-on: ubuntu-latest
container:
image: quay.io/fedora/fedora-bootc:41
options: "--privileged --pid=host -v /var/tmp:/var/tmp -v /run/dbus:/run/dbus -v /run/systemd:/run/systemd -v /:/run/host"
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Download
uses: actions/[email protected]
with:
name: ostree-ext-cli
- name: Install
run: install ostree-ext-cli /usr/bin && rm -v ostree-ext-cli
- name: Integration tests
run: ./ci/priv-test-cockpit-selinux.sh
container-build:
name: "Container build"
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Checkout coreos-layering-examples
uses: actions/checkout@v3
with:
repository: coreos/coreos-layering-examples
path: coreos-layering-examples
- name: Download
uses: actions/[email protected]
with:
name: ostree-ext-cli
- name: Integration tests
run: ./ci/container-build-integration.sh
7 changes: 7 additions & 0 deletions ostree-ext/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
example


# Added by cargo

/target
Cargo.lock
Loading