Commit Graph

509 Commits

Author SHA1 Message Date
yosifkit 07ad7060aa
Merge pull request #81 from tianon/github-actions-platform
Add "--platform" to GHA generate script
2023-10-25 09:37:26 -07:00
yosifkit a70de23794
Merge pull request #80 from infosiftr/i386-build-context
Update "munge-i386" to add "--build-context" in "docker buildx build" lines
2023-10-24 16:59:06 -07:00
Joseph Ferguson d3dede4ffe Swap the platform flag too 2023-10-24 16:12:28 -07:00
Laurent Goderre a9fce37a00
Merge pull request #85 from LaurentGoderre/jq-template-functions
Added shared module for jq template with SBOM generator
2023-10-03 10:10:44 -04:00
Laurent Goderre 08c926140a Added shared module for jq template with SBOM generator 2023-10-03 09:06:28 -04:00
Tianon Gravi a226be91f5
Merge pull request #83 from docker-library/windows-workflow
Add windows servers to smoke test
2023-09-25 18:12:22 -07:00
Joseph Ferguson c4273aae7c Add windows servers to smoke test
Disable cgo to fix build failure on GHA windows-2022
2023-09-25 16:26:12 -07:00
yosifkit 6334a4f8e8
Merge pull request #82 from tianon/sharedtag-children
Add workaround for "bashbrew children" with SharedTags in FROM/--from=
2023-09-15 15:12:21 -07:00
Tianon Gravi ed668319e9 Add workaround for "bashbrew children" with SharedTags in FROM/--from=
There's some hopefully good code comments describing this better, but essentially this changes the algorithm to have the "first" tag/entry in the SharedTag group be the "owner" of all the shared tags (instead of the following tags clobbering that and them thus being "owned" by the final Windows entry).

Before (finding tags which have both Debian *and* Ubuntu in their parentage):

```console
$ comm -12 <(bashbrew children debian | sort) <(bashbrew children ubuntu | sort) | cut -d: -f1 | sort -u
$ # (empty list, but adding "--arch-filter" makes it work:)
$ comm -12 <(bashbrew children --arch-filter debian | sort) <(bashbrew children --arch-filter ubuntu | sort) | cut -d: -f1 | sort -u
clojure
maven
neo4j
```

After:

```console
$ comm -12 <(bashbrew children debian | sort) <(bashbrew children ubuntu | sort) | cut -d: -f1 | sort -u
clojure
maven
neo4j
```
2023-09-15 09:18:58 -07:00
Tianon Gravi 0e6bdaabd6 Add "--platform" to GHA generate script 2023-09-14 16:17:49 -07:00
Tianon Gravi ca308fd729 Minor tweaks to "bashbrew-arch-to-goenv.sh" comments 2023-07-31 20:57:56 -07:00
Tianon Gravi 678dca2e2a Update "munge-i386" to add "--build-context" in "docker buildx build" lines
Without this, we end up building against the wrong image due to a bug in buildx/buildkit. 😞
2023-07-31 17:03:31 -07:00
Tianon Gravi 2ff90048d9 Add "permissions" to example GHA YAML 2023-07-27 16:40:07 -07:00
yosifkit 8b801fdee7
Merge pull request #79 from infosiftr/cat-build-order
Add "--build-order" to cat (and a couple minor bugfixes)
2023-07-24 16:54:03 -07:00
Tianon Gravi b50ff388c3 Add "--build-order" to cat (and a couple minor bugfixes)
- fix parsing of empty `BASHBREW_ARCH_NAMESPACES`
- better (more contextual) error messages from `bashbrew remote arches`
2023-07-24 16:38:34 -07:00
Tianon Gravi 770355881a
Merge pull request #77 from infosiftr/github-actions
Add several improvements to GHA example
2023-07-18 09:19:57 -07:00
Tianon Gravi a0ec8ceff9 Add several improvements to GHA example
- "workflow_dispatch" so we can trigger manually
- "concurrency" so we avoid over-triggering when updating PRs/branches
- multi-line string in GITHUB_OUTPUT for better output and less flakiness
2023-07-18 09:00:08 -07:00
Tianon Gravi a67d6088ac
Merge pull request #76 from infosiftr/go-bump
Bump go version to 1.20
2023-05-04 22:51:34 +00:00
Joseph Ferguson 9128f86f3f Bump go version to 1.20 2023-05-04 15:36:42 -07:00
yosifkit 9b8e397a59
Merge pull request #75 from infosiftr/dirmngr
Remove explicit `dirmngr` reference
2023-04-28 17:07:52 -07:00
Tianon Gravi 50f732f60c Remove explicit `dirmngr` reference
This is pulled in automatically via `gnupg`, and moved from `Recommends` to `Depends` in 99474ad900, which has been part of `src:gnupg2` since 2.1.21-4 (and every supported version of both Debian _and_ Ubuntu have 2.2.x 😇).
2023-04-28 15:33:16 -07:00
yosifkit ab914dfaa8
Merge pull request #74 from infosiftr/avoid-platforms.Default
Avoid platforms.Default by passing arch down earlier
2023-04-07 14:26:04 -07:00
Tianon Gravi 706a814612 Avoid platforms.Default by passing arch down earlier 2023-04-07 12:16:00 -07:00
yosifkit e2e6171ada
Merge pull request #73 from infosiftr/bbolt-err
Return "bbolt" errors consistently
2023-04-07 12:15:50 -07:00
Tianon Gravi 92859565ab Return "bbolt" errors consistently
Also, scope our internal containerd content store to `BASHBREW_ARCH` so that there's less lock contention on builds that happen to share a machine.
2023-04-07 12:03:09 -07:00
Tianon Gravi d88bd1bb84
Merge pull request #72 from infosiftr/update-containerd-bbolt
Update containerd to v1.6.19, bbolt to v1.3.7
2023-03-24 14:51:32 -07:00
Tianon Gravi 822e692761 Update containerd to v1.6.19, bbolt to v1.3.7 2023-03-24 13:39:23 -07:00
Tianon Gravi 6e7f235231
Merge pull request #70 from infosiftr/bashbrew-buildkit-envs
Update GHA scripts to use `bashbrew-buildkit-envs.sh`
2023-03-20 13:34:16 -07:00
Tianon Gravi f7f54c2f83
Merge pull request #71 from infosiftr/continue-pushing
Fix bug that causes `bashbrew push` to only push the first item
2023-03-20 10:22:44 -07:00
Tianon Gravi eefda401da Fix bug that causes `bashbrew push` to only push the first item 2023-03-20 10:11:56 -07:00
Tianon Gravi 044742f698 Update GHA scripts to use `bashbrew-buildkit-env-setup.sh`
If our DOI checkout includes the new `bashbrew-buildkit-env-setup.sh` script, we should use it to set up our buildkit-related environment variables.
2023-03-15 16:53:20 -07:00
Tianon Gravi 296033e201
Merge pull request #69 from infosiftr/buildx-sbom
Add support for BASHBREW_BUILDKIT_SBOM_GENERATOR and provenance
2023-03-03 09:19:05 -08:00
Tianon Gravi eeaf85b4d2 Add support for BASHBREW_BUILDKIT_SBOM_GENERATOR and provenance
Since Docker's image store can't represent these, we round trip them through our self-managed (or external) containerd image store, which also makes pushing more efficient.
2023-03-02 14:40:46 -08:00
Tianon Gravi d7cd73aca8
Merge pull request #68 from infosiftr/containerd-canonical
Correctly store "canonical" image refs in containerd's image store
2023-02-22 16:44:02 -08:00
Tianon Gravi 419bd042db Correctly store "canonical" image refs in containerd's image store
In other words, instead of `ubuntu:22.04`, we should store it as `docker.io/library/ubuntu:22.04` (which Docker then converts appropriately on `docker load`).
2023-02-22 16:18:20 -08:00
Tianon Gravi c42713594f
Merge pull request #67 from infosiftr/cves
Update to newer containerd and go/x/net to pull in fixes for GO-2023-1573 and GO-2023-1571
2023-02-22 10:26:46 -08:00
Tianon Gravi 59444a000d Update to newer containerd and go/x/net to pull in fixes for GO-2023-1573 and GO-2023-1571
- https://pkg.go.dev/vuln/GO-2023-1573
- https://pkg.go.dev/vuln/GO-2023-1571

(verified with govulncheck before and after)
2023-02-22 10:08:24 -08:00
Tianon Gravi 6177415d06
Merge pull request #66 from infosiftr/fetch-failures-context
Add more context to "git fetch" failures
2023-02-21 16:27:41 -08:00
Tianon Gravi 34166dbd71 Add more context to "git fetch" failures
This makes it a lot easier to see/debug what's going wrong:

```console
$ BASHBREW_CACHE=/tmp/foo bashbrew fetch --arch-filter ubuntu:bionic
failed fetching git repo for "ubuntu" (tags "18.04, bionic-20230126, bionic" on arch "amd64")
failed fetching "f127810992c0981574cc137b9c83937ca1a304dc:refs/remotes/temp3848952252/temp": server does not support exact SHA1 refspec
failed finding Git commit "f127810992c0981574cc137b9c83937ca1a304dc" after fetching "refs/tags/dist-bionic-amd64-20230126:refs/remotes/temp3848952252/temp": object not found
```
2023-02-15 14:50:14 -08:00
Tianon Gravi d5c8f9af30 Bump version to 0.1.9 (post-release) 2023-02-15 13:20:20 -08:00
yosifkit 7e160dca31
Merge pull request #65 from infosiftr/gitCache
Udpate "github-actions/generate.sh" script to use "gitCache" and "bashbrew fetch"
2023-02-03 16:32:24 -08:00
Tianon Gravi abdd412027 Udpate "github-actions/generate.sh" script to use "gitCache" and "bashbrew fetch"
This *should* be generally safe since we got most/all downstream consumers to pin to a release (or they're building bashbrew from the same commit they're getting the script from).
2023-02-01 10:28:09 -08:00
yosifkit efe1fec23b
Merge pull request #64 from infosiftr/no-docker-inside-oci
Perform more strict validation of *all* media types
2023-01-31 13:37:14 -08:00
Tianon Gravi 057b5986a3 Perform more strict validation of *all* media types
Docker media types inside OCI media types is semantically fine (and Docker sure doesn't care), but technically invalid, so this increases our validation from just the manifest media type all the way down to the config and layer media types also.
2023-01-31 13:03:50 -08:00
Tianon Gravi 82fa443ede
Merge pull request #63 from infosiftr/fetch
Add "bashbrew fetch" command
2023-01-31 08:50:27 -08:00
Tianon Gravi cec429fa53 Add "gitCache" template function
This not only returns the path to the "git cache" directory, but ensures it is initialized and that `git` commands against it will generally succeed.
2023-01-30 14:25:51 -08:00
Tianon Gravi c7d3d0d935 Add "bashbrew fetch" command
In many, many, many scripts I have encoded the horrible assumption that `ArchDockerFroms` will ensure our Git repository is fetched (which is a side-effect of that function).  With the implementation of `Builder: oci-import`, that side effect is not necessary for returning an accurate result in these new images.  Instead of working around this in bad ways, I've decided to finally bite the bullet and add an explicit `bashbrew fetch` command that can make sure all the underlying Git commits are fully fetched into the local cache.
2023-01-30 14:01:10 -08:00
Tianon Gravi 5990aceab3
Merge pull request #62 from infosiftr/go-mod-update
Update Go deps
2022-12-22 09:42:17 -08:00
Tianon Gravi b38cded65d Update Go deps 2022-12-21 14:45:09 -08:00
Tianon Gravi e5a5d7d72a Bump version to 0.1.8 (post-release) 2022-12-19 11:10:57 -08:00