Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
9366976
docs(spec): add v1 design specification
leosocy Apr 19, 2026
3ece1ee
docs(plan): add v1 implementation plan
leosocy Apr 19, 2026
67cc26e
chore(deps): pin cobra, podman.io image, compress, testify
leosocy Apr 19, 2026
89ad3d1
fix(deps): drop unused deps from go.mod
leosocy Apr 19, 2026
a15e983
chore(lint): migrate .golangci.yaml to current linter set
leosocy Apr 19, 2026
9dbf3b7
chore: refresh pre-commit hooks; run golangci-lint via system binary
leosocy Apr 19, 2026
728ea55
fix(lint): migrate .golangci.yaml to v2 schema
leosocy Apr 19, 2026
9375599
chore: drop golangci-lint from pre-commit, defer to CI
leosocy Apr 19, 2026
212afbe
chore: add Makefile with build/test/lint/fmt/fixtures/snapshot
leosocy Apr 19, 2026
40143b8
feat(cli): scaffold cobra root, version subcommand, and command stubs
leosocy Apr 19, 2026
145d8a3
feat(imageio): add ParseReference and DefaultPolicyContext adapters
leosocy Apr 19, 2026
b7005ab
ci: add lint and test workflows
leosocy Apr 19, 2026
517a05d
feat(diff): add domain types, plan partition, and sidecar schema
leosocy Apr 19, 2026
9aa6cb2
docs(plan): record session progress and switch fixture builder to pur…
leosocy Apr 19, 2026
6583d00
feat(oci): add ReadDirManifest helper for dir-layout inspection
leosocy Apr 19, 2026
914650a
test(oci): add missing error-path tests for ReadDirManifest
leosocy Apr 19, 2026
d22580a
feat(archive): add atomic Pack with optional zstd compression
leosocy Apr 19, 2026
3de7526
fix(archive): add error context wrapping in Pack and addBytes
leosocy Apr 19, 2026
bb8e3b4
feat(archive): add Extract and ReadSidecar readers with zstd auto-det…
leosocy Apr 19, 2026
f544c8b
test(fixtures): add pure-Go deterministic fixture builder and committ…
leosocy Apr 19, 2026
0415497
fix(fixtures): use digest.FromBytes and fix CHECKSUMS to sha256sum fo…
leosocy Apr 19, 2026
706230a
feat(exporter): add BaselineSet with image and manifest-only impls
leosocy Apr 20, 2026
74a2905
docs(exporter): clarify ManifestBaseline does not do platform selection
leosocy Apr 20, 2026
cbedb37
feat(exporter): add KnownBlobsDest wrapper for baseline layer skipping
leosocy Apr 20, 2026
12cbc0e
feat(exporter): implement export happy path via copy.Image + dir layout
leosocy Apr 20, 2026
8061f07
feat(exporter): add DryRun and manifest-only baseline support
leosocy Apr 20, 2026
7744b80
feat(cli): wire diffah export against pkg/exporter
leosocy Apr 20, 2026
c26976a
feat(importer): add CompositeSource overlaying delta on baseline
leosocy Apr 20, 2026
63320e3
feat(importer): implement import happy path with composite source
leosocy Apr 20, 2026
9da83a0
refactor(importer): split Import into helpers under 30 lines each
leosocy Apr 20, 2026
b8d31fd
feat(importer): add DryRun, fail-fast probe tests, and unrelated OCI …
leosocy Apr 20, 2026
6d3d99b
feat(cli): wire diffah import against pkg/importer
leosocy Apr 20, 2026
7b979ce
test(importer): add round-trip matrix across formats and output types
leosocy Apr 20, 2026
868a832
feat(cli): implement diffah inspect with size statistics
leosocy Apr 20, 2026
84e79f7
chore(release): add goreleaser config for linux/darwin amd64/arm64
leosocy Apr 20, 2026
aef779a
ci: add release and integration workflows
leosocy Apr 20, 2026
0c256b1
docs: rewrite README with usage docs and add Apache-2.0 license
leosocy Apr 20, 2026
6fb2601
chore: gitignore build artifacts and local tooling files
leosocy Apr 20, 2026
d5b7d13
fix(ci): upgrade golangci-lint-action to v9 and pin golangci-lint v2.…
leosocy Apr 20, 2026
f6b1c92
fix(lint): clean up v2 linter findings
leosocy Apr 20, 2026
f5afca5
fix(ci): exclude unused storage graphdrivers from test build tags
leosocy Apr 20, 2026
13d144b
fix(lint,test): wire build tags into golangci config and cover safeJoin
leosocy Apr 20, 2026
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
16 changes: 16 additions & 0 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: integration
on:
workflow_dispatch:
schedule:
- cron: '0 4 * * *'

jobs:
integration:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.25.4'
cache: true
- run: go test -tags 'integration containers_image_openpgp exclude_graphdriver_btrfs exclude_graphdriver_devicemapper' -race -cover ./...
18 changes: 18 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: lint
on:
pull_request:
push:
branches: [master, main]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.25.4'
cache: true
- uses: golangci/golangci-lint-action@v9
with:
version: v2.11.4
23 changes: 23 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: release
on:
push:
tags: ['v*']

jobs:
goreleaser:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-go@v5
with:
go-version: '1.25.4'
- uses: goreleaser/goreleaser-action@v6
with:
version: latest
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19 changes: 19 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: test
on:
pull_request:
push:
branches: [master, main]

jobs:
test:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.25.4'
cache: true
- run: go test -tags 'containers_image_openpgp exclude_graphdriver_btrfs exclude_graphdriver_devicemapper' -race -cover ./...
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -100,3 +100,15 @@ fabric.properties

# Dependency directories (remove the comment below to include it)
# vendor/

### Project template
# Go build output
bin/
# goreleaser output
dist/
# ad-hoc helper binaries produced by scripts/
build_fixtures

# Local config backups and machine-local tooling files
*.bck.yaml
.tool-versions
Loading
Loading