Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 31 additions & 31 deletions .dagger/modules/e2e/main.dang
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ type E2e {

let base: Container! {
container
.from("golang:1.25-alpine")
.from("golang:1.26-alpine")
.withEnvVariable("DAGGER_GO_CUSTOM_BASE", "yes")
.withNewFile("/custom-go-base", "yes\n")
}
Expand Down Expand Up @@ -38,17 +38,17 @@ type E2e {
Run testAll while respecting per-module skip markers.
"""
pub singleModuleCheck(ws: Workspace!): Void @check {
go(version: "1.25").lintAll(ws)
go(version: "1.25").testAll(ws)
go(version: "1.25").module(ws, "testdata/go-module-excluded").lint(ws)
go(version: "1.25").module(ws, "testdata/go-module-excluded").test(ws)
go(version: "1.26").lintAll(ws)
go(version: "1.26").testAll(ws)
go(version: "1.26").module(ws, "testdata/go-module-excluded").lint(ws)
go(version: "1.26").module(ws, "testdata/go-module-excluded").test(ws)
}

"""
A directive in one module must not affect another module's source mount.
"""
pub perModuleDirectiveCheck(ws: Workspace!): Void @check {
let tool = go(version: "1.25")
let tool = go(version: "1.26")
tool.module(ws, "fixtures/go-module-cross-include-a").test(ws)
tool.module(ws, "fixtures/go-module-cross-include-b").test(ws)
}
Expand All @@ -57,14 +57,14 @@ type E2e {
A nested module's directives must not affect its parent module's source mount.
"""
pub nestedModuleDirectiveCheck(ws: Workspace!): Void @check {
go(version: "1.25").module(ws, "fixtures/go-module-with-nested-module").test(ws)
go(version: "1.26").module(ws, "fixtures/go-module-with-nested-module").test(ws)
}

"""
A local replace target must be mounted with its non-Go assets.
"""
pub goModReplaceCheck(ws: Workspace!): Void @check {
go(version: "1.25").module(ws, "fixtures/go-module-with-replace").test(ws)
go(version: "1.26").module(ws, "fixtures/go-module-with-replace").test(ws)
}

"""
Expand All @@ -85,7 +85,7 @@ type E2e {
)

let conflict = try {
go(version: "1.25", base: base).version ?? "missing conflict"
go(version: "1.26", base: base).version ?? "missing conflict"
} catch {
err => err.message
}
Expand Down Expand Up @@ -119,7 +119,7 @@ type E2e {
Per-module introspection fields must expose the source selection intermediates.
"""
pub moduleIntrospectionCheck(ws: Workspace!): Void @check {
let mod = go(version: "1.25").module(ws, "testdata/go-module-with-testdata/testdata")
let mod = go(version: "1.26").module(ws, "testdata/go-module-with-testdata/testdata")

assert(
go().version == "1.26",
Expand All @@ -130,17 +130,17 @@ type E2e {
"module lookup did not snap to containing module: " + mod.path,
)
assert(
mod.version == "1.25",
mod.version == "1.26",
"module did not expose inherited Go version: " + (mod.version ?? "<null>"),
)

let direct = go(version: "1.25").module(ws, "testdata/go-module-with-testdata/testdata", findUp: false)
let direct = go(version: "1.26").module(ws, "testdata/go-module-with-testdata/testdata", findUp: false)
assert(
direct.path == "testdata/go-module-with-testdata/testdata",
"module lookup unexpectedly snapped with findUp false: " + direct.path,
)

let allModulePaths = go(version: "1.25").modules(ws).{path}
let allModulePaths = go(version: "1.26").modules(ws).{path}
assert(
containsModulePath(allModulePaths, "fixtures/go-module-cross-include-a"),
"unfiltered modules did not include expected fixture module",
Expand All @@ -154,7 +154,7 @@ type E2e {
"unfiltered modules did not include skipped fixture module by default",
)

let includedModulePaths = go(version: "1.25")
let includedModulePaths = go(version: "1.26")
.modules(ws, include: ["fixtures/go-module-cross-include-a"])
.{path}
assert(
Expand All @@ -166,15 +166,15 @@ type E2e {
"modules include filter included non-matching module root",
)

let excludedModulePaths = go(version: "1.25")
let excludedModulePaths = go(version: "1.26")
.modules(ws, exclude: ["fixtures/go-module-cross-include-a"])
.{path}
assert(
containsModulePath(excludedModulePaths, "fixtures/go-module-cross-include-a") == false,
"modules exclude filter included excluded module root",
)

let combinedModulePaths = go(version: "1.25")
let combinedModulePaths = go(version: "1.26")
.modules(
ws,
include: ["fixtures/go-module-cross-include-*"],
Expand All @@ -190,7 +190,7 @@ type E2e {
"modules combined filters included excluded module root",
)

let contentMatchedModulePaths = go(version: "1.25")
let contentMatchedModulePaths = go(version: "1.26")
.modules(ws, include: ["**/module-a-only.data"])
.{path}
assert(
Expand All @@ -202,7 +202,7 @@ type E2e {
"modules include filter matched content outside the module directory",
)

let lintSkippedModulePaths = go(version: "1.25")
let lintSkippedModulePaths = go(version: "1.26")
.modules(ws, includeSkipLint: false)
.{path}
assert(
Expand All @@ -222,7 +222,7 @@ type E2e {
"modules includeSkipLint false excluded non-lint-skipped module",
)

let testSkippedModulePaths = go(version: "1.25")
let testSkippedModulePaths = go(version: "1.26")
.modules(ws, includeSkipTest: false)
.{path}
assert(
Expand All @@ -242,7 +242,7 @@ type E2e {
"modules includeSkipTest false excluded non-test-skipped module",
)

let generateSkippedModulePaths = go(version: "1.25")
let generateSkippedModulePaths = go(version: "1.26")
.modules(ws, includeSkipGenerate: false)
.{path}
assert(
Expand All @@ -259,7 +259,7 @@ type E2e {
)

let withExtraFiles = go(
version: "1.25",
version: "1.26",
includeExtraFiles: ["LICENSE"],
).module(ws, "testdata/go-module-with-testdata")
assert(
Expand All @@ -275,7 +275,7 @@ type E2e {
"module base includes exposed workspace-wide Go pattern",
)

let skipped = go(version: "1.25").module(ws, "testdata/go-module-excluded")
let skipped = go(version: "1.26").module(ws, "testdata/go-module-excluded")
assert(
skipped.skipLint(ws),
"module did not detect lint skip marker",
Expand All @@ -289,7 +289,7 @@ type E2e {
"module did not detect generate skip marker",
)

let treeSkipped = go(version: "1.25").module(ws, "testdata/go-module-skip-tree/nested")
let treeSkipped = go(version: "1.26").module(ws, "testdata/go-module-skip-tree/nested")
assert(
treeSkipped.skipLint(ws),
"nested module did not inherit lint skip marker from ancestor",
Expand All @@ -316,13 +316,13 @@ type E2e {
"module without go:generate directive reported generate directives",
)
assert(
go(version: "1.25")
go(version: "1.26")
.module(ws, emptyFixturePath)
.hasGenerateDirectives(ws) == false,
"module without Go files reported generate directives",
)
assert(
go(version: "1.25")
go(version: "1.26")
.module(ws, generatedFixturePath)
.hasGenerateDirectives(ws),
"module with go:generate directive did not report generate directives",
Expand Down Expand Up @@ -368,7 +368,7 @@ type E2e {
"testData directory did not include module testdata fixture",
)

let replaced = go(version: "1.25").module(ws, "fixtures/go-module-with-replace")
let replaced = go(version: "1.26").module(ws, "fixtures/go-module-with-replace")
let replacedIncludes = replaced.includeDiscovered(ws, test: true)
assert(
containsPath(replacedIncludes, "fixtures/replaced-lib/**/*.go"),
Expand All @@ -379,7 +379,7 @@ type E2e {
"go.mod replace includes did not include replaced lib go:embed file",
)

let includedGoMod = go(version: "1.25").module(ws, "fixtures/go-module-with-included-gomod-replace/sdk/go")
let includedGoMod = go(version: "1.26").module(ws, "fixtures/go-module-with-included-gomod-replace/sdk/go")
let includedGoModIncludes = includedGoMod.includeDiscovered(ws, generate: true)
assert(
containsPath(
Expand Down Expand Up @@ -416,13 +416,13 @@ type E2e {
Run go generate and verify its changeset.
"""
pub generateCheck(ws: Workspace!): Void @check {
go(version: "1.25")
go(version: "1.26")
.module(ws, "fixtures/go-module-with-included-gomod-replace/sdk/go")
.generate(ws)
.layer
.sync

let changes = go(version: "1.25").generateAll(ws)
let changes = go(version: "1.26").generateAll(ws)

assert(
changes.addedPaths.length == 1,
Expand All @@ -448,7 +448,7 @@ type E2e {
)

let emptyChanges = go(
version: "1.25",
version: "1.26",
skipGenerateFilename: ".dagger-skip-generate-e2e",
).module(ws, generatedFixturePath).generate(ws)
assert(
Expand All @@ -464,7 +464,7 @@ type E2e {
"skipped module generate produced removed paths",
)

let noGoFileChanges = go(version: "1.25").module(ws, emptyFixturePath).generate(ws)
let noGoFileChanges = go(version: "1.26").module(ws, emptyFixturePath).generate(ws)
assert(
noGoFileChanges.addedPaths.length == 0,
"module without Go files generate produced added paths",
Expand Down