Skip to content

Commit b7d38d4

Browse files
authored
refactor: move oci_go_image to root module (#398)
* refactor: move oci_go_image to root module Add an oci_push target to github container registry - will wire up delivery in a later PR * chore: update importpath * add comment * link back to repo
1 parent 9db557f commit b7d38d4

File tree

12 files changed

+41
-49
lines changed

12 files changed

+41
-49
lines changed

.bazelignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ java-soap/
1717
jest/
1818
nestjs/
1919
node_snapshot_flags/
20-
oci_go_image/
2120
oci_java_image/
2221
oci_python_image/
2322
pnpm-workspaces/

.github/workflows/ci.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ jobs:
6363
go_workspaces/**
6464
jest/**
6565
nestjs/**
66-
oci_go_image/**
6766
oci_python_image/**
6867
pnpm-workspaces/**
6968
prisma/**

MODULE.bazel

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,19 @@ bazel_dep(name = "aspect_rules_swc", version = "2.0.0")
1313
bazel_dep(name = "aspect_rules_ts", version = "3.0.0")
1414
bazel_dep(name = "bazel_skylib", version = "1.7.1")
1515
bazel_dep(name = "buildifier_prebuilt", version = "6.4.0")
16-
bazel_dep(name = "gazelle", version = "0.36.0")
16+
bazel_dep(name = "container_structure_test", version = "1.19.1")
17+
bazel_dep(name = "gazelle", version = "0.40.0")
1718
bazel_dep(name = "googletest", version = "1.15.2")
19+
bazel_dep(name = "platforms", version = "0.0.10")
1820
bazel_dep(name = "rules_apple", version = "3.0.0")
1921
bazel_dep(name = "rules_buf", version = "0.3.0")
2022
bazel_dep(name = "rules_cc", version = "0.1.0")
21-
bazel_dep(name = "rules_go", version = "0.48.0")
23+
bazel_dep(name = "rules_go", version = "0.50.1")
2224
bazel_dep(name = "rules_java", version = "8.6.1")
2325
bazel_dep(name = "rules_jvm_external", version = "6.3")
2426
bazel_dep(name = "rules_multitool", version = "0.12.0")
27+
bazel_dep(name = "rules_oci", version = "2.0.1")
28+
bazel_dep(name = "rules_pkg", version = "1.0.1")
2529
bazel_dep(name = "rules_proto", version = "7.1.0")
2630
bazel_dep(name = "rules_python", version = "0.40.0")
2731
bazel_dep(name = "rules_python_gazelle_plugin", version = "0.35.0")
@@ -194,7 +198,12 @@ use_repo(go_sdk, "go_sdk")
194198

195199
go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps")
196200
go_deps.from_file(go_mod = "//:go.mod")
197-
use_repo(go_deps, "org_golang_google_grpc", "org_golang_google_protobuf")
201+
go_deps.module(
202+
path = "github.com/google/go-cmp",
203+
sum = "h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=",
204+
version = "v0.5.9",
205+
)
206+
use_repo(go_deps, "com_github_google_go_cmp", "org_golang_google_grpc", "org_golang_google_protobuf")
198207

199208
non_module_deps = use_extension("@rules_swift//swift:extensions.bzl", "non_module_deps")
200209
use_repo(
@@ -223,3 +232,17 @@ use_repo(
223232
swift_deps,
224233
"swiftpkg_swifterswift",
225234
)
235+
236+
##########################
237+
# Container images
238+
oci = use_extension("@rules_oci//oci:extensions.bzl", "oci")
239+
oci.pull(
240+
name = "distroless_base",
241+
digest = "sha256:ccaef5ee2f1850270d453fdf700a5392534f8d1a8ca2acda391fbb6a06b81c86",
242+
image = "gcr.io/distroless/base",
243+
platforms = [
244+
"linux/amd64",
245+
"linux/arm64",
246+
],
247+
)
248+
use_repo(oci, "distroless_base")

oci_go_image/.bazeliskrc

Lines changed: 0 additions & 1 deletion
This file was deleted.

oci_go_image/.bazelrc

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

oci_go_image/.bazelversion

Lines changed: 0 additions & 1 deletion
This file was deleted.

oci_go_image/.gitignore

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

oci_go_image/BUILD.bazel

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ load("@aspect_bazel_lib//lib:testing.bzl", "assert_archive_contains")
22
load("@aspect_bazel_lib//lib:transitions.bzl", "platform_transition_filegroup")
33
load("@container_structure_test//:defs.bzl", "container_structure_test")
44
load("@rules_go//go:def.bzl", "go_binary", "go_library")
5-
load("@rules_oci//oci:defs.bzl", "oci_image", "oci_load")
5+
load("@rules_oci//oci:defs.bzl", "oci_image", "oci_load", "oci_push")
66
load("@rules_pkg//:pkg.bzl", "pkg_tar")
77

88
go_library(
99
name = "app_lib",
1010
srcs = ["main.go"],
11-
importpath = "example.com/custom_registry/app",
11+
importpath = "github.com/aspect-build/bazel-examples/oci_go_image",
1212
visibility = ["//visibility:private"],
1313
deps = ["@com_github_google_go_cmp//cmp"],
1414
)
@@ -36,8 +36,13 @@ assert_archive_contains(
3636

3737
oci_image(
3838
name = "image",
39+
# This is defined by an oci.pull() call in /MODULE.bazel
3940
base = "@distroless_base",
4041
entrypoint = ["/app"],
42+
# Link the resulting image back to the repository where the build is defined.
43+
labels = {
44+
"org.opencontainers.image.source": "https://github.com/aspect-build/bazel-examples",
45+
},
4146
tars = [":app_layer"],
4247
)
4348

@@ -51,7 +56,7 @@ platform_transition_filegroup(
5156
}),
5257
)
5358

54-
# $ bazel run :load
59+
# $ bazel run //oci_go_image:load
5560
# $ docker run --rm gcr.io/example:latest
5661
# string(
5762
# - "Hello World",
@@ -71,3 +76,10 @@ container_structure_test(
7176
image = ":transitioned_image",
7277
tags = ["requires-docker"],
7378
)
79+
80+
oci_push(
81+
name = "push",
82+
image = ":transitioned_image",
83+
remote_tags = ["latest"],
84+
repository = "ghcr.io/aspect-build/oci_go_image_example",
85+
)

oci_go_image/MODULE.bazel

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

oci_go_image/WORKSPACE.bazel

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)