Files
wehub-resource-sync dde272c4b8
CD - Docker - GHCR Images / Build and Push Images (push) Waiting to run
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:55:53 +08:00

51 lines
1.3 KiB
HCL

// Docker Bake configuration for freeCodeCamp devcontainer images
//
// Usage (from repo root):
// docker buildx bake -f docker/devcontainer/docker-bake.hcl # Local build (native platform)
// docker buildx bake -f docker/devcontainer/docker-bake.hcl devcontainer --push # Push multi-arch to GHCR
//
// With custom tag:
// TAG=v1.0.0 docker buildx bake -f docker/devcontainer/docker-bake.hcl devcontainer --push
variable "REGISTRY" {
default = "ghcr.io/freecodecamp"
}
variable "TAG" {
default = "latest"
}
variable "TAG_LATEST" {
default = "true"
}
group "default" {
targets = ["local-devcontainer"]
}
target "_common" {
context = "."
dockerfile = "docker/devcontainer/Dockerfile"
}
// Multi-arch image for pushing to registry (CI and local --push)
target "devcontainer" {
inherits = ["_common"]
target = "devcontainer"
platforms = ["linux/amd64", "linux/arm64"]
cache-from = ["type=gha"]
cache-to = ["type=gha,mode=max"]
tags = concat(
["${REGISTRY}/devcontainer:${TAG}"],
TAG_LATEST == "true" ? ["${REGISTRY}/devcontainer:latest"] : []
)
}
// Native platform only (fast local builds)
target "local-devcontainer" {
inherits = ["_common"]
target = "devcontainer"
output = ["type=docker"]
tags = ["ghcr.io/freecodecamp/devcontainer:latest"]
}