Skip to content

Releases: buildbarn/bb-storage

20260218T104408Z-8b8786c

18 Feb 11:26
8b8786c

Choose a tag to compare

Create parent directories for Windows container image (#313)

Most container runtimes, including containerd and Moby (aka Docker) with Linux images
will accept tar files where directory entries are missing.

```
-rwxr-xr-x 0/0             117 1970-01-01 01:00 app/bb_storage.repo_mapping
-rwxr-xr-x 0/0        49701048 1970-01-01 01:00 app/bb_storage
hrwxr-xr-x 0/0               0 1970-01-01 01:00 app/bb_storage.runfiles/_repo_mapping link to app/bb_storage.repo_mapping
hrwxr-xr-x 0/0               0 1970-01-01 01:00 app/bb_storage.runfiles/_main/cmd/bb_storage/bb_storage_/bb_storage link to app/bb_storage
```

If a file like `app/bb_storage.repo_mapping` is extracted, any missing parent directories are created during extraction (but before the file is created): https://github.com/containerd/containerd/blob/dea7da592f5d1d2b7755e3a161be07f43fad8f75/pkg/archive/tar.go#L268-L276

On Windows (at least with Moby), missing parent directories are never created: https://github.com/microsoft/hcsshim/blob/d97b376c86e77d0df1b94500350fd2625c516dbf/internal/wclayer/legacy.go#L694
For that reason we explicitly create those directories on Windows:

```
drwxr-xr-x 0/0               0 1970-01-01 01:00 app/
-rwxr-xr-x 0/0             117 1970-01-01 01:00 app/bb_storage.exe.repo_mapping
-rwxr-xr-x 0/0        50391552 1970-01-01 01:00 app/bb_storage.exe
drwxr-xr-x 0/0               0 1970-01-01 01:00 app/bb_storage.exe.runfiles/
hrwxr-xr-x 0/0               0 1970-01-01 01:00 app/bb_storage.exe.runfiles/_repo_mapping link to app/bb_storage.exe.repo_mapping
drwxr-xr-x 0/0               0 1970-01-01 01:00 app/bb_storage.exe.runfiles/_main/
drwxr-xr-x 0/0               0 1970-01-01 01:00 app/bb_storage.exe.runfiles/_main/cmd/
drwxr-xr-x 0/0               0 1970-01-01 01:00 app/bb_storage.exe.runfiles/_main/cmd/bb_storage/
drwxr-xr-x 0/0               0 1970-01-01 01:00 app/bb_storage.exe.runfiles/_main/cmd/bb_storage/bb_storage_/
hrwxr-xr-x 0/0               0 1970-01-01 01:00
app/bb_storage.exe.runfiles/_main/cmd/bb_storage/bb_storage_/bb_storage.exe
link to app/bb_storage.extracted
```

Note that it is generally better NOT to create parent directories, since any directories created in upper layers (like `/app` here) shadow potential directory contents of lower layers.
Long term, we should probably fix tar extraction on Windows upstream.

20260212T200603Z-33893b3

12 Feb 20:49

Choose a tag to compare

Announce support for REv2.12.0

v2.12.0 includes a bunch of new features like chunking, but none of
those are mandatory. It's perfectly fine for us to not implement these
features. So in that regard it's correct for us to announce it.

20260212T155631Z-d665fe5

12 Feb 16:40
d665fe5

Choose a tag to compare

chore: add platform name to artifact output for publishing (#326)

This provides a more discreet labeling for artifacts produced by
the CI workflow. This is needed to avoid duplication in artifacts
published to GitHub Releases, and has a nice side effect of making
traditional downloads non-duplicative as well.

20260211T043357Z-9072d8b

11 Feb 05:17
9072d8b

Choose a tag to compare

chore: remove extra curly brace from release tag (#325)

20260210T195412Z-be0ffe7}

10 Feb 20:38
be0ffe7

Choose a tag to compare

chore: remove -a from git tag to avoid launching editor (#324)

We don't need to annotate release tags, they speak for themselves.
Therefore, remove the -a tag, in lieu of adding -m with a message.