Repository: typesafegithub/github-workflows-kt
Pull request #963 (2023-09-05 10:27:13)

fix(ci): adjust after incorrect bump of actions/checkout
There were several problems with CI along the way. This PR brings things to a consistent state.


Patch:
diff --git a/docs/supported-actions.md b/docs/supported-actions.md
index 012001d7c..31fc1cbbd 100644
--- a/docs/supported-actions.md
+++ b/docs/supported-actions.md
@@ -16,7 +16,7 @@ Click on a version to see the wrapper's code.
     * [cache/restore](https://github.com/actions/cache/tree/v3/restore) - v3: [`CacheRestoreV3`](https://github.com/typesafegithub/github-workflows-kt/blob/v[[ version ]]/library/src/gen/kotlin/io/github/typesafegithub/workflows/actions/actions/CacheRestoreV3.kt)
     * [cache/save](https://github.com/actions/cache/tree/v3/save) - v3: [`CacheSaveV3`](https://github.com/typesafegithub/github-workflows-kt/blob/v[[ version ]]/library/src/gen/kotlin/io/github/typesafegithub/workflows/actions/actions/CacheSaveV3.kt)
     * [cache](https://github.com/actions/cache) - v2: [`CacheV2`](https://github.com/typesafegithub/github-workflows-kt/blob/v[[ version ]]/library/src/gen/kotlin/io/github/typesafegithub/workflows/actions/actions/CacheV2.kt), v3: [`CacheV3`](https://github.com/typesafegithub/github-workflows-kt/blob/v[[ version ]]/library/src/gen/kotlin/io/github/typesafegithub/workflows/actions/actions/CacheV3.kt)
-    * [checkout](https://github.com/actions/checkout) - v2: [`CheckoutV2`](https://github.com/typesafegithub/github-workflows-kt/blob/v[[ version ]]/library/src/gen/kotlin/io/github/typesafegithub/workflows/actions/actions/CheckoutV2.kt), v3: [`CheckoutV3`](https://github.com/typesafegithub/github-workflows-kt/blob/v[[ version ]]/library/src/gen/kotlin/io/github/typesafegithub/workflows/actions/actions/CheckoutV3.kt)
+    * [checkout](https://github.com/actions/checkout) - v2: [`CheckoutV2`](https://github.com/typesafegithub/github-workflows-kt/blob/v[[ version ]]/library/src/gen/kotlin/io/github/typesafegithub/workflows/actions/actions/CheckoutV2.kt), v3: [`CheckoutV3`](https://github.com/typesafegithub/github-workflows-kt/blob/v[[ version ]]/library/src/gen/kotlin/io/github/typesafegithub/workflows/actions/actions/CheckoutV3.kt), v4: [`CheckoutV4`](https://github.com/typesafegithub/github-workflows-kt/blob/v[[ version ]]/library/src/gen/kotlin/io/github/typesafegithub/workflows/actions/actions/CheckoutV4.kt)
     * [create-release](https://github.com/actions/create-release) - v1: [`CreateReleaseV1`](https://github.com/typesafegithub/github-workflows-kt/blob/v[[ version ]]/library/src/gen/kotlin/io/github/typesafegithub/workflows/actions/actions/CreateReleaseV1.kt)
     * [download-artifact](https://github.com/actions/download-artifact) - v2: [`DownloadArtifactV2`](https://github.com/typesafegithub/github-workflows-kt/blob/v[[ version ]]/library/src/gen/kotlin/io/github/typesafegithub/workflows/actions/actions/DownloadArtifactV2.kt), v3: [`DownloadArtifactV3`](https://github.com/typesafegithub/github-workflows-kt/blob/v[[ version ]]/library/src/gen/kotlin/io/github/typesafegithub/workflows/actions/actions/DownloadArtifactV3.kt)
     * [first-interaction](https://github.com/actions/first-interaction) - v1: [`FirstInteractionV1`](https://github.com/typesafegithub/github-workflows-kt/blob/v[[ version ]]/library/src/gen/kotlin/io/github/typesafegithub/workflows/actions/actions/FirstInteractionV1.kt)
@@ -138,6 +138,6 @@ Click on a version to see the wrapper's code.
 Number of wrappers available:
 
 * counting by actions: 82
-* counting each version separately: 118
+* counting each version separately: 119
 
 Actions [providing typings](https://github.com/typesafegithub/github-actions-typing/) (marked with ✅ on the above list): 15
diff --git a/library/src/main/kotlin/io/github/typesafegithub/workflows/yaml/ToYaml.kt b/library/src/main/kotlin/io/github/typesafegithub/workflows/yaml/ToYaml.kt
index 73c8e6855..3650a392f 100644
--- a/library/src/main/kotlin/io/github/typesafegithub/workflows/yaml/ToYaml.kt
+++ b/library/src/main/kotlin/io/github/typesafegithub/workflows/yaml/ToYaml.kt
@@ -1,6 +1,6 @@
 package io.github.typesafegithub.workflows.yaml
 
-import io.github.typesafegithub.workflows.actions.actions.CheckoutV3
+import io.github.typesafegithub.workflows.actions.actions.CheckoutV4
 import io.github.typesafegithub.workflows.domain.Job
 import io.github.typesafegithub.workflows.domain.Mode
 import io.github.typesafegithub.workflows.domain.Permission
@@ -121,7 +121,7 @@ private fun Workflow.generateYaml(
             runsOn = UbuntuLatest,
             condition = yamlConsistencyJobCondition,
         ) {
-            uses(name = "Check out", action = CheckoutV3())
+            uses(name = "Check out", action = CheckoutV4())
             if (useGitDiff) {
                 run(
                     name = "Execute script",


Test patch:
diff --git a/.github/workflows/Integration tests - job condition.yaml b/.github/workflows/Integration tests - job condition.yaml
index 4e6c8a1be..cd563b63b 100644
--- a/.github/workflows/Integration tests - job condition.yaml
+++ b/.github/workflows/Integration tests - job condition.yaml
@@ -13,4 +13,4 @@ jobs:
     steps:
     - id: 'step-0'
       name: 'Check out'
-      uses: 'actions/checkout@v3'
+      uses: 'actions/checkout@v4'
diff --git a/.github/workflows/Integration tests - step with outputs.yaml b/.github/workflows/Integration tests - step with outputs.yaml
index b8550b1d5..cc3fc49f5 100644
--- a/.github/workflows/Integration tests - step with outputs.yaml
+++ b/.github/workflows/Integration tests - step with outputs.yaml
@@ -14,7 +14,7 @@ jobs:
       uses: 'actions/setup-python@v4'
     - id: 'step-1'
       name: 'Some step consuming other step''s output'
-      uses: 'actions/checkout@v3'
+      uses: 'actions/checkout@v4'
       with:
         ssh-key: '${{ steps.step-0.outputs.python-version }}'
         path: '${{ steps.step-0.outputs.my-unsafe-output }}'
diff --git a/.github/workflows/Integration tests - trivial workflow.yaml b/.github/workflows/Integration tests - trivial workflow.yaml
index d951b0bd9..5bb182551 100644
--- a/.github/workflows/Integration tests - trivial workflow.yaml
+++ b/.github/workflows/Integration tests - trivial workflow.yaml
@@ -12,7 +12,7 @@ jobs:
     steps:
     - id: 'step-0'
       name: 'Check out'
-      uses: 'actions/checkout@v3'
+      uses: 'actions/checkout@v4'
     - id: 'step-1'
       name: 'Hello world!'
       run: 'echo ''hello!'''
diff --git a/.github/workflows/Integration tests - type-safe expressions.yaml b/.github/workflows/Integration tests - type-safe expressions.yaml
index 2d5ac360c..ab21b300d 100644
--- a/.github/workflows/Integration tests - type-safe expressions.yaml
+++ b/.github/workflows/Integration tests - type-safe expressions.yaml
@@ -17,7 +17,7 @@ jobs:
       $GREETING: 'World'
     steps:
     - id: 'step-0'
-      uses: 'actions/checkout@v3'
+      uses: 'actions/checkout@v4'
     - id: 'step-1'
       name: 'Default environment variable'
       run: 'action=$GITHUB_ACTION repo=$GITHUB_REPOSITORY'
diff --git a/library/src/test/kotlin/io/github/typesafegithub/workflows/IntegrationTest.kt b/library/src/test/kotlin/io/github/typesafegithub/workflows/IntegrationTest.kt
index e8ca5afd9..e8f352996 100644
--- a/library/src/test/kotlin/io/github/typesafegithub/workflows/IntegrationTest.kt
+++ b/library/src/test/kotlin/io/github/typesafegithub/workflows/IntegrationTest.kt
@@ -1,6 +1,6 @@
 package io.github.typesafegithub.workflows
 
-import io.github.typesafegithub.workflows.actions.actions.CheckoutV3
+import io.github.typesafegithub.workflows.actions.actions.CheckoutV4
 import io.github.typesafegithub.workflows.actions.actions.GithubScriptV6
 import io.github.typesafegithub.workflows.actions.actions.SetupPythonV4
 import io.github.typesafegithub.workflows.actions.awsactions.ConfigureAwsCredentialsV3
@@ -50,7 +50,7 @@ class IntegrationTest : FunSpec({
             name = "Test Job",
             runsOn = RunnerType.UbuntuLatest,
         ) {
-            uses(action = CheckoutV3())
+            uses(action = CheckoutV4())
             run(command = "echo 'hello!'")
         }
     }
@@ -75,7 +75,7 @@ class IntegrationTest : FunSpec({
                 steps:
                 - id: 'step-0'
                   name: 'Check out'
-                  uses: 'actions/checkout@v3'
+                  uses: 'actions/checkout@v4'
                 - id: 'step-1'
                   name: 'Consistency check'
                   run: 'diff -u ''.github/workflows/some_workflow.yaml'' <(''.github/workflows/some_workflow.main.kts'')'
@@ -86,7 +86,7 @@ class IntegrationTest : FunSpec({
                 - 'check_yaml_consistency'
                 steps:
                 - id: 'step-0'
-                  uses: 'actions/checkout@v3'
+                  uses: 'actions/checkout@v4'
                 - id: 'step-1'
                   run: 'echo ''hello!'''
 
@@ -138,7 +138,7 @@ class IntegrationTest : FunSpec({
                 runs-on: 'ubuntu-latest'
                 steps:
                 - id: 'step-0'
-                  uses: 'actions/checkout@v3'
+                  uses: 'actions/checkout@v4'
                 - id: 'step-1'
                   run: 'echo ''hello!'''
 
@@ -172,7 +172,7 @@ class IntegrationTest : FunSpec({
             ) {
                 uses(
                     name = "Check out",
-                    action = CheckoutV3(),
+                    action = CheckoutV4(),
                 )
 
                 run(
@@ -279,7 +279,7 @@ class IntegrationTest : FunSpec({
             ) {
                 uses(
                     name = "Check out",
-                    action = CheckoutV3(),
+                    action = CheckoutV4(),
                 )
 
                 run(
@@ -308,7 +308,7 @@ class IntegrationTest : FunSpec({
                 steps:
                 - id: 'step-0'
                   name: 'Check out'
-                  uses: 'actions/checkout@v3'
+                  uses: 'actions/checkout@v4'
                 - id: 'step-1'
                   name: 'Execute script'
                   run: 'rm ''.github/workflows/some_workflow.yaml'' && ''.github/workflows/some_workflow.main.kts'''
@@ -322,7 +322,7 @@ class IntegrationTest : FunSpec({
                 steps:
                 - id: 'step-0'
                   name: 'Check out'
-                  uses: 'actions/checkout@v3'
+                  uses: 'actions/checkout@v4'
                 - id: 'step-1'
                   name: 'Hello world!'
                   run: 'echo ''hello!'''
@@ -339,7 +339,7 @@ class IntegrationTest : FunSpec({
             ) {
                 uses(
                     name = "Check out",
-                    action = CheckoutV3(),
+                    action = CheckoutV4(),
                 )
             }
         }
@@ -385,7 +385,7 @@ class IntegrationTest : FunSpec({
             ) {
                 uses(
                     name = "Check out",
-                    action = CheckoutV3(),
+                    action = CheckoutV4(),
                     env = linkedMapOf(
                         "SIMPLE_VAR" to "simple-value-uses",
                         "MULTILINE_VAR" to """
@@ -447,7 +447,7 @@ class IntegrationTest : FunSpec({
                 - id: 'step-0'
                   name: 'Check out'
                   continue-on-error: true
-                  uses: 'actions/checkout@v3'
+                  uses: 'actions/checkout@v4'
                   env:
                     SIMPLE_VAR: 'simple-value-uses'
                     MULTILINE_VAR: |-
@@ -478,7 +478,7 @@ class IntegrationTest : FunSpec({
 
                 uses(
                     name = "Some step consuming other step's output",
-                    action = CheckoutV3(
+                    action = CheckoutV4(
                         sshKey = expr(addAndCommit.outputs.pythonVersion),
                         path = expr(addAndCommit.outputs["my-unsafe-output"]),
                     ),
@@ -504,7 +504,7 @@ class IntegrationTest : FunSpec({
 
                 uses(
                     name = "Some step consuming other step's output",
-                    action = CheckoutV3(
+                    action = CheckoutV4(
                         repository = expr(addAndCommit.id),
                         ref = expr(addAndCommit.outputs.commitSha),
                         token = expr(addAndCommit.outputs["my-unsafe-output"]),
@@ -536,7 +536,7 @@ class IntegrationTest : FunSpec({
                   uses: 'EndBug/add-and-commit@v9'
                 - id: 'step-1'
                   name: 'Some step consuming other step''s output'
-                  uses: 'actions/checkout@v3'
+                  uses: 'actions/checkout@v4'
                   with:
                     repository: '${'$'}{{ step-0 }}'
                     ref: '${'$'}{{ steps.step-0.outputs.commit_sha }}'
@@ -635,7 +635,7 @@ class IntegrationTest : FunSpec({
 
                 uses(
                     name = "Some step consuming other step's output",
-                    action = CheckoutV3(
+                    action = CheckoutV4(
                         repository = expr(addAndCommit.id),
                         ref = expr(addAndCommit.outputs.commitSha),
                         token = expr(addAndCommit.outputs["my-unsafe-output"]),
@@ -667,7 +667,7 @@ class IntegrationTest : FunSpec({
                   uses: 'EndBug/add-and-commit@v9'
                 - id: 'step-1'
                   name: 'Some step consuming other step''s output'
-                  uses: 'actions/checkout@v3'
+                  uses: 'actions/checkout@v4'
                   with:
                     repository: '${'$'}{{ step-0 }}'
                     ref: '${'$'}{{ steps.step-0.outputs.commit_sha }}'
@@ -696,7 +696,7 @@ class IntegrationTest : FunSpec({
                     Permission.Contents to Mode.None,
                 ),
             ) {
-                uses(action = CheckoutV3())
+                uses(action = CheckoutV4())
                 run(
                     name = "Default environment variable",
                     command = "action=${Contexts.env.GITHUB_ACTION} repo=${Contexts.env.GITHUB_REPOSITORY}",
@@ -743,7 +743,7 @@ class IntegrationTest : FunSpec({
                     name = "Test Job",
                     runsOn = RunnerType.UbuntuLatest,
                 ) {
-                    uses(action = CheckoutV3())
+                    uses(action = CheckoutV4())
                     run(command = "echo 'hello!'")
                 }
             }.toYaml()
@@ -765,7 +765,7 @@ class IntegrationTest : FunSpec({
                 steps:
                 - id: 'step-0'
                   name: 'Check out'
-                  uses: 'actions/checkout@v3'
+                  uses: 'actions/checkout@v4'
                 - id: 'step-1'
                   name: 'Consistency check'
                   run: 'diff -u ''.github/workflows/some_workflow.yaml'' <(''.github/workflows/some_workflow.main.kts'')'
@@ -776,7 +776,7 @@ class IntegrationTest : FunSpec({
                 - 'check_yaml_consistency'
                 steps:
                 - id: 'step-0'
-                  uses: 'actions/checkout@v3'
+                  uses: 'actions/checkout@v4'
                 - id: 'step-1'
                   run: 'echo ''hello!'''
 
@@ -839,7 +839,7 @@ class IntegrationTest : FunSpec({
             ) {
                 uses(
                     name = "Check out",
-                    action = CheckoutV3(),
+                    action = CheckoutV4(),
                 )
 
                 run(
@@ -867,7 +867,7 @@ class IntegrationTest : FunSpec({
                 steps:
                 - id: 'step-0'
                   name: 'Check out'
-                  uses: 'actions/checkout@v3'
+                  uses: 'actions/checkout@v4'
                 - id: 'step-1'
                   name: 'Hello world!'
                   run: 'echo ''hello!'''
@@ -995,7 +995,7 @@ class IntegrationTest : FunSpec({
                 runs-on: 'ubuntu-latest'
                 steps:
                 - id: 'step-0'
-                  uses: 'actions/checkout@v3'
+                  uses: 'actions/checkout@v4'
                 - id: 'step-1'
                   run: 'echo ''hello!'''
 
@@ -1061,7 +1061,7 @@ class IntegrationTest : FunSpec({
                 runs-on: 'ubuntu-latest'
                 steps:
                 - id: 'step-0'
-                  uses: 'actions/checkout@v3'
+                  uses: 'actions/checkout@v4'
                 - id: 'step-1'
                   run: 'echo ''hello!'''
 
diff --git a/library/src/test/kotlin/io/github/typesafegithub/workflows/NonCompilableTest.kt b/library/src/test/kotlin/io/github/typesafegithub/workflows/NonCompilableTest.kt
index 04d9a0119..919d3324a 100644
--- a/library/src/test/kotlin/io/github/typesafegithub/workflows/NonCompilableTest.kt
+++ b/library/src/test/kotlin/io/github/typesafegithub/workflows/NonCompilableTest.kt
@@ -13,7 +13,7 @@ class NonCompilableTest : FunSpec({
         val compilationResult = compile(
             code = """
             import io.github.typesafegithub.workflows.dsl.workflow
-            import io.github.typesafegithub.workflows.actions.actions.CheckoutV3
+            import io.github.typesafegithub.workflows.actions.actions.CheckoutV4
             import io.github.typesafegithub.workflows.domain.RunnerType
             import io.github.typesafegithub.workflows.domain.triggers.Push
             import java.nio.file.Path
@@ -28,7 +28,7 @@ class NonCompilableTest : FunSpec({
                     name = "Test Job",
                     runsOn = RunnerType.UbuntuLatest,
                 ) {
-                    uses(action = CheckoutV3())
+                    uses(action = CheckoutV4())
                     run(command = "echo 'hello!'")
 
                     job(
@@ -36,7 +36,7 @@ class NonCompilableTest : FunSpec({
                         name = "Test Job",
                         runsOn = RunnerType.UbuntuLatest,
                     ) {
-                        uses(action = CheckoutV3())
+                        uses(action = CheckoutV4())
                         run(command = "echo 'hello!'")
                     }
                 }
@@ -52,7 +52,7 @@ class NonCompilableTest : FunSpec({
         val compilationResult = compile(
             code = """
             import io.github.typesafegithub.workflows.dsl.workflow
-            import io.github.typesafegithub.workflows.actions.actions.CheckoutV3
+            import io.github.typesafegithub.workflows.actions.actions.CheckoutV4
             import io.github.typesafegithub.workflows.domain.RunnerType
             import io.github.typesafegithub.workflows.domain.triggers.Push
             import java.nio.file.Path
@@ -67,7 +67,7 @@ class NonCompilableTest : FunSpec({
                     name = "Test Job",
                     runsOn = RunnerType.UbuntuLatest,
                 ) {
-                    uses(action = CheckoutV3())
+                    uses(action = CheckoutV4())
                     run(command = "echo 'hello!'")
                 }
             }
diff --git a/library/src/test/kotlin/io/github/typesafegithub/workflows/docsnippets/GettingStartedSnippets.kt b/library/src/test/kotlin/io/github/typesafegithub/workflows/docsnippets/GettingStartedSnippets.kt
index fbbf6775f..bef51fa82 100644
--- a/library/src/test/kotlin/io/github/typesafegithub/workflows/docsnippets/GettingStartedSnippets.kt
+++ b/library/src/test/kotlin/io/github/typesafegithub/workflows/docsnippets/GettingStartedSnippets.kt
@@ -4,7 +4,7 @@ package io.github.typesafegithub.workflows.docsnippets
 
 import io.kotest.core.spec.style.FunSpec
 // --8<-- [start:getting-started-2]
-import io.github.typesafegithub.workflows.actions.actions.CheckoutV3
+import io.github.typesafegithub.workflows.actions.actions.CheckoutV4
 import io.github.typesafegithub.workflows.domain.RunnerType.UbuntuLatest
 import io.github.typesafegithub.workflows.domain.triggers.Push
 import io.github.typesafegithub.workflows.dsl.workflow
@@ -32,7 +32,7 @@ class GettingStartedSnippets : FunSpec({
             sourceFile = __FILE__.toPath(),
         ) {
             job(id = "test_job", runsOn = UbuntuLatest) {
-                uses(name = "Check out", action = CheckoutV3())
+                uses(name = "Check out", action = CheckoutV4())
                 run(name = "Print greeting", command = "echo 'Hello world!'")
             }
         }.writeToFile()
diff --git a/library/src/test/kotlin/io/github/typesafegithub/workflows/dsl/JobBuilderTest.kt b/library/src/test/kotlin/io/github/typesafegithub/workflows/dsl/JobBuilderTest.kt
index e227e4cb7..88e7cf473 100644
--- a/library/src/test/kotlin/io/github/typesafegithub/workflows/dsl/JobBuilderTest.kt
+++ b/library/src/test/kotlin/io/github/typesafegithub/workflows/dsl/JobBuilderTest.kt
@@ -1,6 +1,6 @@
 package io.github.typesafegithub.workflows.dsl
 
-import io.github.typesafegithub.workflows.actions.actions.CheckoutV3
+import io.github.typesafegithub.workflows.actions.actions.CheckoutV4
 import io.github.typesafegithub.workflows.actions.actions.SetupJavaV3
 import io.github.typesafegithub.workflows.actions.actions.SetupJavaV3.Distribution.Adopt
 import io.github.typesafegithub.workflows.domain.RunnerType
@@ -34,11 +34,11 @@ class JobBuilderTest : FunSpec({
                     )
                     uses(
                         name = "Check out",
-                        action = CheckoutV3(),
+                        action = CheckoutV4(),
                         _customArguments = mapOf("foo2" to true),
                     )
                     uses(
-                        action = CheckoutV3(),
+                        action = CheckoutV4(),
                         _customArguments = mapOf("foo3" to true),
                     )
                     uses(
diff --git a/library/src/test/kotlin/io/github/typesafegithub/workflows/yaml/StepsToYamlTest.kt b/library/src/test/kotlin/io/github/typesafegithub/workflows/yaml/StepsToYamlTest.kt
index 364979284..4cacff659 100644
--- a/library/src/test/kotlin/io/github/typesafegithub/workflows/yaml/StepsToYamlTest.kt
+++ b/library/src/test/kotlin/io/github/typesafegithub/workflows/yaml/StepsToYamlTest.kt
@@ -1,7 +1,7 @@
 package io.github.typesafegithub.workflows.yaml
 
-import io.github.typesafegithub.workflows.actions.actions.CheckoutV3
-import io.github.typesafegithub.workflows.actions.actions.CheckoutV3.FetchDepth
+import io.github.typesafegithub.workflows.actions.actions.CheckoutV4
+import io.github.typesafegithub.workflows.actions.actions.CheckoutV4.FetchDepth
 import io.github.typesafegithub.workflows.actions.actions.UploadArtifactV3
 import io.github.typesafegithub.workflows.domain.ActionStep
 import io.github.typesafegithub.workflows.domain.CommandStep
@@ -23,7 +23,7 @@ class StepsToYamlTest : DescribeSpec({
             ActionStep(
                 id = "someId",
                 name = "Some external action",
-                action = CheckoutV3(),
+                action = CheckoutV4(),
                 outputs = Action.Outputs("someId"),
             ),
         )
@@ -41,7 +41,7 @@ class StepsToYamlTest : DescribeSpec({
             mapOf(
                 "id" to "someId",
                 "name" to "Some external action",
-                "uses" to "actions/checkout@v3",
+                "uses" to "actions/checkout@v4",
             ),
         )
     }
@@ -214,7 +214,7 @@ class StepsToYamlTest : DescribeSpec({
             val steps = listOf(
                 ActionStep(
                     id = "someId",
-                    action = CheckoutV3(),
+                    action = CheckoutV4(),
                     outputs = Action.Outputs("someId"),
                 ),
             )
@@ -226,7 +226,7 @@ class StepsToYamlTest : DescribeSpec({
             yaml shouldBe listOf(
                 mapOf(
                     "id" to "someId",
-                    "uses" to "actions/checkout@v3",
+                    "uses" to "actions/checkout@v4",
                 ),
             )
         }
@@ -239,7 +239,7 @@ class StepsToYamlTest : DescribeSpec({
                     name = "Some external action",
                     continueOnError = true,
                     timeoutMinutes = 123,
-                    action = CheckoutV3(fetchDepth = FetchDepth.Infinite),
+                    action = CheckoutV4(fetchDepth = FetchDepth.Infinite),
                     env = linkedMapOf(
                         "FOO" to "bar",
                         "BAZ" to """
@@ -268,7 +268,7 @@ class StepsToYamlTest : DescribeSpec({
                     "name" to "Some external action",
                     "continue-on-error" to true,
                     "timeout-minutes" to 123,
-                    "uses" to "actions/checkout@v3",
+                    "uses" to "actions/checkout@v4",
                     "with" to mapOf(
                         "fetch-depth" to "0",
                     ),
@@ -397,7 +397,7 @@ class StepsToYamlTest : DescribeSpec({
                 ActionStep(
                     id = "someId",
                     name = "Will be overridden",
-                    action = CheckoutV3(),
+                    action = CheckoutV4(),
                     outputs = Action.Outputs("someId"),
                     _customArguments = mapOf(
                         "name" to "Overridden!",
@@ -413,7 +413,7 @@ class StepsToYamlTest : DescribeSpec({
                 mapOf(
                     "id" to "someId",
                     "name" to "Overridden!",
-                    "uses" to "actions/checkout@v3",
+                    "uses" to "actions/checkout@v4",
                 ),
             )
         }