diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 085ccb2aa553..14eb3efab16e 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -38,13 +38,17 @@ jobs: runs-on: ubuntu-22.04 needs: - prepare - env: - GOLANGCI_LINT_MULTIPLATFORM: 1 strategy: fail-fast: false matrix: target: ${{ fromJson(needs.prepare.outputs.targets) }} steps: + - + name: Prepare + run: | + if [ "$GITHUB_REPOSITORY" = "moby/buildkit" ]; then + echo "GOLANGCI_LINT_MULTIPLATFORM=1" >> $GITHUB_ENV + fi - name: Checkout uses: actions/checkout@v4 diff --git a/README.md b/README.md index 60ee6b5a0dcd..7568574ca815 100644 --- a/README.md +++ b/README.md @@ -286,7 +286,7 @@ Keys supported by image output: * `name-canonical=true`: add additional canonical name `name@` * `compression=`: choose compression type for layers newly created and cached, gzip is default value. estargz should be used with `oci-mediatypes=true`. * `compression-level=`: compression level for gzip, estargz (0-9) and zstd (0-22) -* `rewrite-timestamp=true` (Present in the `master` branch ): rewrite the file timestamps to the `SOURCE_DATE_EPOCH` value. +* `rewrite-timestamp=true`: rewrite the file timestamps to the `SOURCE_DATE_EPOCH` value. See [`docs/build-repro.md`](docs/build-repro.md) for how to specify the `SOURCE_DATE_EPOCH` value. * `force-compression=true`: forcefully apply `compression` option to all layers (including already existing layers) * `store=true`: store the result images to the worker's (e.g. containerd) image store as well as ensures that the image has all blobs in the content store (default `true`). Ignored if the worker doesn't have image store (e.g. OCI worker). diff --git a/docs/build-repro.md b/docs/build-repro.md index d51d143e5b80..44c221175670 100644 --- a/docs/build-repro.md +++ b/docs/build-repro.md @@ -46,11 +46,7 @@ Minimal support is also available on older BuildKit when using Dockerfile 1.5 fr ```console buildctl build --frontend dockerfile.v0 --opt build-arg:SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct) ... ``` - -The `buildctl` CLI (<= 0.12) does not automatically propagate the `$SOURCE_DATE_EPOCH` environment value from the client host to the `SOURCE_DATE_EPOCH` build arg. - -In the `master` branch of BuildKit, the `buildctl` CLI is updated to automatically capture the environment value. -Docker Buildx (>= 0.10) automatically captures the environment value too. +The `buildctl` CLI (>= v0.13) and Docker Buildx (>= 0.10) automatically propagate the `$SOURCE_DATE_EPOCH` environment value from the client host to the `SOURCE_DATE_EPOCH` build arg. The build arg value is used for: - the `created` timestamp in the [OCI Image Config](https://github.com/opencontainers/image-spec/blob/main/config.md#properties) @@ -64,8 +60,7 @@ To apply the build arg value to the timestamps of the files inside the image, sp --output type=image,name=docker.io/username/image,push=true,rewrite-timestamp=true ``` - -The `rewrite-timestamp` option is only available in the `master` branch of BuildKit. +The `rewrite-timestamp` option is available since BuildKit v0.13. See [v0.12 documentation](https://github.com/moby/buildkit/blob/v0.12/docs/build-repro.md#caveats) for dealing with timestamps in BuildKit v0.12 and v0.11. diff --git a/docs/windows.md b/docs/windows.md index 9f8e69a9b85e..f05730ccf26b 100644 --- a/docs/windows.md +++ b/docs/windows.md @@ -31,6 +31,14 @@ We will apprecate any feedback by [opening an issue here](https://github.com/mob > **NOTE:** all these requires running as admin (elevated) on a PowerShell terminal. +Make sure that `Containers` feature is enabled. (_`Microsoft-Hyper-V` is a bonus but not necessarily needed for our current guide. Also it's depended on your virtualization platform setup._) Run: + +```powershell +Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V, Containers -All +``` + +You will be asked to restart your machine, do so, and then continue with the rest of the steps. No other restart needed. + 1. Setup `containerd` by following [the setup instructions here](https://github.com/containerd/containerd/blob/main/docs/getting-started.md#installing-containerd-on-windows). (_Currently, we only support the `containerd` worker_.) 1. Start the `containerd` service, if not yet started. 1. Download and extract: diff --git a/frontend/dockerfile/docs/reference.md b/frontend/dockerfile/docs/reference.md index 1916f386209a..d5926f561177 100644 --- a/frontend/dockerfile/docs/reference.md +++ b/frontend/dockerfile/docs/reference.md @@ -1575,8 +1575,7 @@ conditions for cache reuse. > **Note** > -> Available in [`docker/dockerfile-upstream:master-labs`](#syntax). -> Will be included in `docker/dockerfile:1.7-labs`. +> Not yet available in stable syntax, use [`docker/dockerfile:1.7-labs`](#syntax) version. ```dockerfile COPY [--parents[=]] ... @@ -1585,7 +1584,7 @@ COPY [--parents[=]] ... The `--parents` flag preserves parent directories for `src` entries. This flag defaults to `false`. ```dockerfile -# syntax=docker/dockerfile-upstream:master-labs +# syntax=docker/dockerfile:1.7-labs FROM scratch COPY ./x/a.txt ./y/a.txt /no_parents/ @@ -1605,7 +1604,7 @@ directories after it will be preserved. This may be especially useful copies bet with `--from` where the source paths need to be absolute. ```dockerfile -# syntax=docker/dockerfile-upstream:master-labs +# syntax=docker/dockerfile:1.7-labs FROM scratch COPY --parents ./x/./y/*.txt /parents/ @@ -1634,8 +1633,7 @@ with the `--parents` flag, the Buildkit is capable of packing multiple > **Note** > -> Available in [`docker/dockerfile-upstream:master-labs`](#syntax). -> Will be included in `docker/dockerfile:1.7-labs`. +> Not yet available in stable syntax, use [`docker/dockerfile:1.7-labs`](#syntax) version. ```dockerfile COPY [--exclude= ...] ...