Skip to content

Commit 87dd807

Browse files
committed
Merge branch 'main' into laravel-compose
2 parents a0b8b25 + 73d74ad commit 87dd807

File tree

667 files changed

+13485
-7189
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

667 files changed

+13485
-7189
lines changed

.github/CODEOWNERS

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,16 @@
1515

1616
/content/manuals/extensions-sdk/ @aevesdocker
1717

18-
/content/manuals/scout/ @dvdksn
18+
/content/manuals/scout/ @craig-osterhout
1919

2020
/content/manuals/docker-hub/ @craig-osterhout
2121

2222
/content/manuals/engine/ @dvdksn
2323

24+
/content/reference/api/engine/ @dvdksn
25+
26+
/content/reference/cli/ @dvdksn
27+
2428
/content/manuals/subscription/ @sarahsanders-docker
2529

2630
/content/manuals/security/ @aevesdocker
@@ -29,11 +33,14 @@
2933

3034
/content/manuals/docker-hub/official_images/ @craig-osterhout
3135

32-
/content/manuals/registry/ @dvdksn
36+
/content/manuals/registry/ @craig-osterhout
3337

3438
/content/manuals/admin/ @sarahsanders-docker
3539

3640
/content/manuals/billing/ @sarahsanders-docker
3741

3842
/content/manuals/accounts/ @sarahsanders-docker
3943

44+
/hack @dvdksn
45+
46+
/_vendor @dvdksn
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
2+
name: New guide
3+
description: Propose a new guide for Docker docs
4+
labels:
5+
- area/guides
6+
- kind/proposal
7+
8+
body:
9+
- type: textarea
10+
attributes:
11+
label: Description
12+
description: |
13+
Briefly describe the topic that you would like us to cover.
14+
validations:
15+
required: true
16+
- type: checkboxes
17+
attributes:
18+
label: Would you like to contribute this guide?
19+
description: |
20+
If you select this checkbox, you indicate that you're willing to
21+
contribute this guide. If not, we will treat this issue as a request,
22+
and someone (a Docker employee, Docker captain, or community member)
23+
may pick it up and start working on it.
24+
options:
25+
- label: "Yes"

.github/labeler.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ area/release:
22
- changed-files:
33
- any-glob-to-any-file:
44
- .github/**
5-
- _releaser/**
5+
- hack/releaser/**
66
- netlify.toml
77

88
area/config:
@@ -14,6 +14,7 @@ area/config:
1414
- docker-bake.hcl
1515
- hugo.yaml
1616
- pagefind.yml
17+
- hack/vendor
1718

1819
area/contrib:
1920
- changed-files:
@@ -28,7 +29,7 @@ area/tests:
2829
- .markdownlint.json
2930
- .vale.ini
3031
- _vale/**
31-
- scripts/test_*
32+
- hack/test/*
3233

3334
area/build:
3435
- changed-files:
@@ -159,6 +160,11 @@ area/accounts:
159160
- any-glob-to-any-file:
160161
- content/manuals/accounts/**
161162

163+
area/copilot:
164+
- changed-files:
165+
- any-glob-to-any-file:
166+
- content/manuals/copilot/**
167+
162168
hugo:
163169
- changed-files:
164170
- any-glob-to-any-file:
@@ -178,3 +184,4 @@ dependencies:
178184
- go.sum
179185
- package*.json
180186
- _vendor/**
187+
- hack/vendor

.github/workflows/build.yml

Lines changed: 40 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,42 @@ on:
1111
- main
1212
pull_request:
1313

14+
env:
15+
# Use edge release of buildx (latest RC, fallback to latest stable)
16+
SETUP_BUILDX_VERSION: edge
17+
SETUP_BUILDKIT_IMAGE: "moby/buildkit:latest"
18+
1419
permissions:
1520
contents: read # to fetch code (actions/checkout)
1621

1722
jobs:
23+
releaser:
24+
runs-on: ubuntu-24.04
25+
steps:
26+
-
27+
name: Checkout
28+
uses: actions/checkout@v4
29+
-
30+
name: Set up Docker Buildx
31+
uses: docker/setup-buildx-action@v3
32+
with:
33+
version: ${{ env.SETUP_BUILDX_VERSION }}
34+
driver-opts: image=${{ env.SETUP_BUILDKIT_IMAGE }}
35+
-
36+
name: Build
37+
uses: docker/bake-action@v5
38+
with:
39+
files: |
40+
docker-bake.hcl
41+
targets: releaser-build
42+
set: |
43+
*.cache-from=type=gha,scope=releaser
44+
*.cache-to=type=gha,scope=releaser,mode=max
45+
1846
build:
1947
runs-on: ubuntu-24.04
48+
needs:
49+
- releaser
2050
steps:
2151
-
2252
name: Checkout
@@ -34,6 +64,16 @@ jobs:
3464
set: |
3565
*.cache-from=type=gha,scope=build
3666
*.cache-to=type=gha,scope=build,mode=max
67+
-
68+
name: Check Cloudfront config
69+
uses: docker/bake-action@v5
70+
with:
71+
targets: aws-cloudfront-update
72+
env:
73+
DRY_RUN: true
74+
AWS_REGION: us-east-1
75+
AWS_CLOUDFRONT_ID: 0123456789ABCD
76+
AWS_LAMBDA_FUNCTION: DockerDocsRedirectFunction-dummy
3777

3878
vale:
3979
if: ${{ github.event_name == 'pull_request' }}
@@ -76,25 +116,3 @@ jobs:
76116
*.cache-to=type=gha,scope=validate-${{ matrix.target }},mode=max
77117
*.cache-from=type=gha,scope=validate-${{ matrix.target }}
78118
*.cache-from=type=gha,scope=build
79-
80-
# build-releaser builds the _releaser used for AWS deployment in publish workflow.
81-
# It's just to be sure it builds correctly.
82-
build-releaser:
83-
runs-on: ubuntu-24.04
84-
steps:
85-
-
86-
name: Checkout
87-
uses: actions/checkout@v4
88-
-
89-
name: Set up Docker Buildx
90-
uses: docker/setup-buildx-action@v3
91-
-
92-
name: Build
93-
uses: docker/bake-action@v5
94-
with:
95-
files: |
96-
docker-bake.hcl
97-
targets: releaser-build
98-
set: |
99-
*.cache-from=type=gha,scope=releaser
100-
*.cache-to=type=gha,scope=releaser,mode=max

.github/workflows/deploy.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ on:
1212
- main
1313
- published
1414

15+
env:
16+
# Use edge release of buildx (latest RC, fallback to latest stable)
17+
SETUP_BUILDX_VERSION: edge
18+
SETUP_BUILDKIT_IMAGE: "moby/buildkit:latest"
19+
1520
# these permissions are needed to interact with GitHub's OIDC Token endpoint.
1621
permissions:
1722
id-token: write
@@ -80,6 +85,9 @@ jobs:
8085
-
8186
name: Set up Docker Buildx
8287
uses: docker/setup-buildx-action@v3
88+
with:
89+
version: ${{ env.SETUP_BUILDX_VERSION }}
90+
driver-opts: image=${{ env.SETUP_BUILDKIT_IMAGE }}
8391
-
8492
name: Build website
8593
uses: docker/bake-action@v5

.github/workflows/validate-upstream.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ on:
2323
type: boolean
2424
required: false
2525

26+
env:
27+
# Use edge release of buildx (latest RC, fallback to latest stable)
28+
SETUP_BUILDX_VERSION: edge
29+
SETUP_BUILDKIT_IMAGE: "moby/buildkit:latest"
30+
2631
jobs:
2732
run:
2833
runs-on: ubuntu-24.04
@@ -80,6 +85,9 @@ jobs:
8085
-
8186
name: Set up Docker Buildx
8287
uses: docker/setup-buildx-action@v3
88+
with:
89+
version: ${{ env.SETUP_BUILDX_VERSION }}
90+
driver-opts: image=${{ env.SETUP_BUILDKIT_IMAGE }}
8391
-
8492
name: Validate
8593
uses: docker/bake-action@v5

Dockerfile

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,43 @@
11
# syntax=docker/dockerfile:1
22
# check=skip=InvalidBaseImagePlatform
33

4-
# ALPINE_VERSION sets the Alpine Linux version for all Alpine stages
5-
ARG ALPINE_VERSION=3.20
6-
# GO_VERSION sets the Go version for the base stage
4+
ARG ALPINE_VERSION=3.21
75
ARG GO_VERSION=1.23
8-
# HTMLTEST_VERSION sets the wjdp/htmltest version for HTML testing
96
ARG HTMLTEST_VERSION=0.17.0
10-
# HUGO_VERSION sets the version of Hugo to build the site with
11-
ARG HUGO_VERSION=0.136.3
7+
ARG HUGO_VERSION=0.139.0
8+
ARG NODE_VERSION=22
9+
ARG PAGEFIND_VERSION=1.1.1
1210

13-
# build-base is the base stage used for building the site
14-
FROM ghcr.io/gohugoio/hugo:v${HUGO_VERSION} AS build-base
11+
# base defines the generic base stage
12+
FROM golang:${GO_VERSION}-alpine${ALPINE_VERSION} AS base
13+
RUN apk add --no-cache \
14+
git \
15+
nodejs \
16+
npm \
17+
gcompat
18+
19+
# npm downloads Node.js dependencies
20+
FROM base AS npm
1521
ENV NODE_ENV="production"
22+
WORKDIR /out
1623
RUN --mount=source=package.json,target=package.json \
1724
--mount=source=package-lock.json,target=package-lock.json \
1825
--mount=type=cache,target=/root/.npm \
1926
npm ci
27+
28+
# hugo downloads the Hugo binary
29+
FROM base AS hugo
30+
ARG TARGETARCH
31+
ARG HUGO_VERSION
32+
WORKDIR /out
33+
ADD https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-${TARGETARCH}.tar.gz .
34+
RUN tar xvf hugo_extended_${HUGO_VERSION}_linux-${TARGETARCH}.tar.gz
35+
36+
# build-base is the base stage used for building the site
37+
FROM base AS build-base
38+
WORKDIR /project
39+
COPY --from=hugo /out/hugo /bin/hugo
40+
COPY --from=npm /out/node_modules node_modules
2041
COPY . .
2142

2243
# build creates production builds with Hugo
@@ -25,7 +46,9 @@ FROM build-base AS build
2546
ARG HUGO_ENV="development"
2647
# DOCS_URL sets the base URL for the site
2748
ARG DOCS_URL="https://docs.docker.com"
28-
RUN hugo --gc --minify -e $HUGO_ENV -b $DOCS_URL
49+
ENV HUGO_CACHEDIR="/tmp/hugo_cache"
50+
RUN --mount=type=cache,target=/tmp/hugo_cache \
51+
hugo --gc --minify -e $HUGO_ENV -b $DOCS_URL
2952

3053
# lint lints markdown files
3154
FROM davidanson/markdownlint-cli2:v0.14.0 AS lint
@@ -61,8 +84,8 @@ RUN hugo mod vendor
6184

6285
# vendor is an empty stage with only vendored Hugo modules
6386
FROM scratch AS vendor
64-
COPY --from=update-modules /src/_vendor /_vendor
65-
COPY --from=update-modules /src/go.* /
87+
COPY --from=update-modules /project/_vendor /_vendor
88+
COPY --from=update-modules /project/go.* /
6689

6790
# build-upstream builds an upstream project with a replacement module
6891
FROM build-base AS build-upstream
@@ -87,10 +110,7 @@ RUN htmltest
87110
FROM alpine:${ALPINE_VERSION} AS unused-media
88111
RUN apk add --no-cache fd ripgrep
89112
WORKDIR /test
90-
RUN --mount=type=bind,target=. <<"EOT"
91-
set -ex
92-
./scripts/test_unused_media.sh
93-
EOT
113+
RUN --mount=type=bind,target=. ./hack/test/unused_media
94114

95115
# path-warnings checks for duplicate target paths
96116
FROM build-base AS path-warnings
@@ -105,8 +125,8 @@ fi
105125
EOT
106126

107127
# pagefind installs the Pagefind runtime
108-
FROM node:alpine${ALPINE_VERSION} AS pagefind
109-
ARG PAGEFIND_VERSION=1.1.1
128+
FROM base AS pagefind
129+
ARG PAGEFIND_VERSION
110130
COPY --from=build /project/public ./public
111131
RUN --mount=type=bind,src=pagefind.yml,target=pagefind.yml \
112132
npx pagefind@v${PAGEFIND_VERSION} --output-path "/pagefind"
@@ -122,7 +142,7 @@ RUN apk add yq
122142
COPY --from=build /project/public ./public
123143
RUN --mount=type=bind,target=. <<"EOT"
124144
set -ex
125-
./scripts/test_go_redirects.sh
145+
./hack/test/go_redirects
126146
EOT
127147

128148
# release is an empty scratch image with only compiled assets

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
.PHONY: vendor
22
vendor: ## vendor hugo modules
3-
./scripts/vendor.sh
3+
./hack/vendor

_releaser/go.sum

Lines changed: 0 additions & 52 deletions
This file was deleted.

0 commit comments

Comments
 (0)