feat: add 'using: docker' action pre and post-entrypoint support #1236

Merged
mfenniak merged 6 commits from achyrva/runner:entry-point-handling-0 into main 2026-01-22 16:31:59 +00:00
Contributor

Add /pre- and /post-entrypoint handling

  • features
    • PR: feat: add 'using: docker' action pre and post-entrypoint support
Add /pre- and /post-entrypoint handling <!--start release-notes-assistant--> <!--URL:https://code.forgejo.org/forgejo/runner--> - features - [PR](https://code.forgejo.org/forgejo/runner/pulls/1236): <!--number 1236 --><!--line 0 --><!--description ZmVhdDogYWRkICd1c2luZzogZG9ja2VyJyBhY3Rpb24gcHJlIGFuZCBwb3N0LWVudHJ5cG9pbnQgc3VwcG9ydA==-->feat: add 'using: docker' action pre and post-entrypoint support<!--description--> <!--end release-notes-assistant-->
achyrva changed title from WIP: Add /pre- and /post-entrypoint handling to Add /pre- and /post-entrypoint handling 2025-12-22 17:50:40 +00:00
Member

@achyrva Could you tell us more about this change? What problem does it solve? Are there any alternatives? Is there an existing feature request for it?

@achyrva Could you tell us more about this change? What problem does it solve? Are there any alternatives? Is there an [existing feature request](https://code.forgejo.org/forgejo/forgejo-actions-feature-requests/issues) for it?
Author
Contributor

@aahlenst wrote in #1236 (comment):

@achyrva Could you tell us more about this change? What problem does it solve? Are there any alternatives? Is there an existing feature request for it?

Hello. Yeah, sure.
There is no existing feature request for these changes.
These changed was done for Nektos/Act some time ago. Here is the reference to the original issue https://github.com/nektos/act/issues/2363 and my PR to solve it https://github.com/nektos/act/pull/2394.

So, here, I just adopt my code to current state of Forgejo Runner

@aahlenst wrote in https://code.forgejo.org/forgejo/runner/pulls/1236#issuecomment-71009: > @achyrva Could you tell us more about this change? What problem does it solve? Are there any alternatives? Is there an [existing feature request](https://code.forgejo.org/forgejo/forgejo-actions-feature-requests/issues) for it? Hello. Yeah, sure. There is no existing feature request for these changes. These changed was done for Nektos/Act some time ago. Here is the reference to the original issue https://github.com/nektos/act/issues/2363 and my PR to solve it https://github.com/nektos/act/pull/2394. So, here, I just adopt my code to current state of Forgejo Runner
Member

@aahlenst wrote in #1236 (comment):

@achyrva Could you tell us more about this change? What problem does it solve? Are there any alternatives? Is there an existing feature request for it?

It is part of the action specification and it makes it possible to do some setup and cleanup from an action.

We need at the moment to cleanup some proxmox vms after tests has been executed

@aahlenst wrote in https://code.forgejo.org/forgejo/runner/pulls/1236#issuecomment-71009: > @achyrva Could you tell us more about this change? What problem does it solve? Are there any alternatives? Is there an [existing feature request](https://code.forgejo.org/forgejo/forgejo-actions-feature-requests/issues) for it? It is part of the action specification and it makes it possible to do some setup and cleanup from an action. We need at the moment to cleanup some proxmox vms after tests has been executed
Member

@klausfyhn wrote in #1236 (comment):

It is part of the action specification and it makes it possible to do some setup and cleanup from an action.

Do you have a link to the specification?

@klausfyhn wrote in https://code.forgejo.org/forgejo/runner/pulls/1236#issuecomment-71142: > It is part of the action specification and it makes it possible to do some setup and cleanup from an action. Do you have a link to the specification?
Member

@aahlenst wrote in #1236 (comment):

@klausfyhn wrote in #1236 (comment):

It is part of the action specification and it makes it possible to do some setup and cleanup from an action.

Do you have a link to the specification?

By specification I mean the jsonschema:

"pre-entrypoint": "non-empty-string",

And

"post-entrypoint": "non-empty-string",

It is also mentioned in the GitHub documentation https://docs.github.com/en/actions/reference/workflows-and-actions/metadata-syntax#runspre-entrypoint

@aahlenst wrote in https://code.forgejo.org/forgejo/runner/pulls/1236#issuecomment-71146: > @klausfyhn wrote in #1236 (comment): > > > It is part of the action specification and it makes it possible to do some setup and cleanup from an action. > > Do you have a link to the specification? By specification I mean the jsonschema: https://code.forgejo.org/forgejo/runner/src/commit/ad133b63fef67aa591c59ee3efec0f33dc739534/act/schema/action_schema.json#L63 And https://code.forgejo.org/forgejo/runner/src/commit/ad133b63fef67aa591c59ee3efec0f33dc739534/act/schema/action_schema.json#L65 It is also mentioned in the GitHub documentation https://docs.github.com/en/actions/reference/workflows-and-actions/metadata-syntax#runspre-entrypoint
mfenniak requested changes 2025-12-30 22:18:28 +00:00
Dismissed
mfenniak left a comment
Owner

Revisions are required to reduce the scope of unrelated change in this PR, and the tests are quite insufficient.

I'd also like to see a functional integration test in the act/runner system similar to the existing RunEvent tests, as all the testing is unit-test level and doesn't actually execute... well, some of it doesn't execute anything?... but in general it doesn't execute the functionality end-to-end to verify it works.

Revisions are required to reduce the scope of unrelated change in this PR, and the tests are quite insufficient. I'd also like to see a functional integration test in the `act/runner` system similar to the existing `RunEvent` tests, as all the testing is unit-test level and doesn't actually execute... well, some of it doesn't execute anything?... but in general it doesn't execute the functionality end-to-end to verify it works.
@ -201,4 +200,2 @@
logger.Debugf("executing remote job container: %s", containerArgs)
rc.ApplyExtraPath(ctx, step.getEnv())
Owner

Please don't reformat code that isn't related to the change being made. Throughout this PR, I'd appreciate it if you could cleanup the diff to just be affecting code that you're intending to change to implement the pre/post entrypoint, and not removing or adding other whitespace.

Please don't reformat code that isn't related to the change being made. Throughout this PR, I'd appreciate it if you could cleanup the diff to just be affecting code that you're intending to change to implement the pre/post entrypoint, and not removing or adding other whitespace.
klausfyhn marked this conversation as resolved
@ -350,0 +361,4 @@
entrypoint, err = shellquote.Split(action.Runs.PostEntrypoint)
if err != nil {
return err
}
Owner

These blocks are quite repetitive in nature, rather than setting a variable to the appropriate entrypoint and having one block of code that performs shellquote.Split.

These blocks are quite repetitive in nature, rather than setting a variable to the appropriate entrypoint and having one block of code that performs `shellquote.Split`.
Author
Contributor
Fixed in https://code.forgejo.org/forgejo/runner/pulls/1236/commits/85c1fdb9b078ada5dae43a94a83708db63b7da50
achyrva marked this conversation as resolved
@ -577,0 +598,4 @@
return common.NewPipelineExecutor(
rc.execJobContainer(buildArgs, *step.getEnv(), "", containerActionDir),
rc.execJobContainer(execArgs, *step.getEnv(), "", ""),
)(ctx)
Owner

It looks like you've done a significant refactor to reduce duplicated code in the ActionRunsUsingGo block. This should be submitted as a separate PR please, so that the changes here can be focused on the pre & post entrypoint. Fewer lines of code and fewer focuses in one PR makes it easier to review and analyze the changes, and reduces the risk of unexpected change.

It looks like you've done a significant refactor to reduce duplicated code in the `ActionRunsUsingGo` block. This should be submitted as a separate PR please, so that the changes here can be focused on the pre & post entrypoint. Fewer lines of code and fewer focuses in one PR makes it easier to review and analyze the changes, and reduces the risk of unexpected change.
Author
Contributor

Yes. I did refactor because there are some code duplications in different case-blocks. So, to provide functional changes easily I did quite refactoring.

I agree that this can be divided into different PRs. Should I add it as prerequisite PR to this one or just split current one to two? I appreciate all your suggestions.

@mfenniak what is your recommendation?

Yes. I did refactor because there are some code duplications in different case-blocks. So, to provide functional changes easily I did quite refactoring. I agree that this can be divided into different PRs. Should I add it as prerequisite PR to this one or just split current one to two? I appreciate all your suggestions. @mfenniak what is your recommendation?
Author
Contributor

Done

Done
achyrva marked this conversation as resolved
@ -0,0 +343,4 @@
// If this compiles, the signature is correct
// execAsDocker(ctx, step, actionName, basedir, subpath, localAction, entrypointType)
assert.True(t, true, "Function signature validation passed")
Owner

What is this test?

What is this test?
Author
Contributor

Removed as redundant. @klausfyhn prepared integration tests

Removed as redundant. @klausfyhn prepared integration tests
achyrva marked this conversation as resolved
@ -0,0 +356,4 @@
// - It should call execAsDocker with "entrypoint" parameter
// - For remote actions, it adjusts actionDir and actionPath
assert.True(t, true, "runActionImpl correctly passes entrypoint type")
Owner

What is this test?

What is this test?
achyrva marked this conversation as resolved
@ -0,0 +383,4 @@
// This validates that the pre and post step functions
// call execAsDocker with the correct entrypoint type
assert.Equal(t, tt.entrypointType, tt.entrypointType)
Owner

What is this test?

What is this test?
Author
Contributor

Removed as redundant. @klausfyhn prepared integration tests

Removed as redundant. @klausfyhn prepared integration tests
achyrva marked this conversation as resolved
Owner

Is part of this PR completed by AI-coding tools? I've never seen a human write assert.True(t, true, .... If so, please review the Forgejo Code of Conduct and ensure that all components of the AI Agreement are being met in this PR.

Is part of this PR completed by AI-coding tools? I've never seen a human write `assert.True(t, true, ...`. If so, please review the Forgejo [Code of Conduct](https://codeberg.org/forgejo/code-of-conduct) and ensure that all components of the AI Agreement are being met in this PR.
Member
I have managed to do some manual testing with the changes: - pre-entrypoint - https://v14.next.forgejo.org/klausfyhn/runner-pre-post-entrypoint-test/src/commit/1d56f7969b86c6a35f922327140670890dfc3654/pre-entrypoint#L3 - https://v14.next.forgejo.org/klausfyhn/runner-pre-post-entrypoint-test/actions/runs/17/jobs/0/attempt/2#jobstep-0-51 - entrypoint - https://v14.next.forgejo.org/klausfyhn/runner-pre-post-entrypoint-test/src/commit/1d56f7969b86c6a35f922327140670890dfc3654/entrypoint#L3 - https://v14.next.forgejo.org/klausfyhn/runner-pre-post-entrypoint-test/actions/runs/17/jobs/0/attempt/2#jobstep-1-1 - post-entrypoint - https://v14.next.forgejo.org/klausfyhn/runner-pre-post-entrypoint-test/src/commit/1d56f7969b86c6a35f922327140670890dfc3654/post-entrypoint#L3 - https://v14.next.forgejo.org/klausfyhn/runner-pre-post-entrypoint-test/actions/runs/17/jobs/0/attempt/2#jobstep-2-2 Will look into automated testing now
Member

I did a little expirment on github and pre-entrypoint is not supported for local actions. Where could we clarify this? Would be nice if we could annotate or maybe a warning somewhere

I did a little expirment on [github](https://github.com/klausfyhn/docker-pre-post-test-action/actions/runs/20817509011) and `pre-entrypoint` is not supported for local actions. Where could we clarify this? Would be nice if we could annotate or maybe a warning somewhere
Member

@klausfyhn wrote in #1236 (comment):

I did a little expirment on github and pre-entrypoint is not supported for local actions.

Doesn't mean we have to do the same. Do you know why GitHub does not support it? Would it make sense for Forgejo to support it? Are there any risks? What about post-entrypoint?

Would be nice if we could annotate or maybe a warning somewhere

You could log a warning like GitHub does. Mentioning it in the docs would certainly help, too.

@klausfyhn wrote in https://code.forgejo.org/forgejo/runner/pulls/1236#issuecomment-71989: > I did a little expirment on [github](https://github.com/klausfyhn/docker-pre-post-test-action/actions/runs/20817509011) and `pre-entrypoint` is not supported for local actions. Doesn't mean we have to do the same. Do you know why GitHub does not support it? Would it make sense for Forgejo to support it? Are there any risks? What about `post-entrypoint`? > Would be nice if we could annotate or maybe a warning somewhere You could log a warning like GitHub does. Mentioning it in the docs would certainly help, too.
Author
Contributor

@mfenniak wrote in #1236 (comment):

Is part of this PR completed by AI-coding tools? I've never seen a human write assert.True(t, true, .... If so, please review the Forgejo Code of Conduct and ensure that all components of the AI Agreement are being met in this PR.

I didn't use AI in my work.
It gives me less space to progress as developer. These tests are my first auto tests appropriate to current project. I can remove them as unnecessary.

@mfenniak wrote in https://code.forgejo.org/forgejo/runner/pulls/1236#issuecomment-71264: > Is part of this PR completed by AI-coding tools? I've never seen a human write `assert.True(t, true, ...`. If so, please review the Forgejo [Code of Conduct](https://codeberg.org/forgejo/code-of-conduct) and ensure that all components of the AI Agreement are being met in this PR. I didn't use AI in my work. It gives me less space to progress as developer. These tests are my first auto tests appropriate to current project. I can remove them as unnecessary.
Member

@aahlenst wrote in #1236 (comment):

@klausfyhn wrote in #1236 (comment):

I did a little expirment on github and pre-entrypoint is not supported for local actions.

Doesn't mean we have to do the same. Do you know why GitHub does not support it? Would it make sense for Forgejo to support it? Are there any risks? What about post-entrypoint?

We are in a bit of "what came first, the action declaration or the pre step" problem. Since a user have to checkout the code before local action is accessible. I did the check with github.com to see if they had handled it somehow. If we want this behavior (which would be nice) I would argue it is out of scope for this PR

@aahlenst wrote in https://code.forgejo.org/forgejo/runner/pulls/1236#issuecomment-72009: > @klausfyhn wrote in #1236 (comment): > > > I did a little expirment on [github](https://github.com/klausfyhn/docker-pre-post-test-action/actions/runs/20817509011) and `pre-entrypoint` is not supported for local actions. > > Doesn't mean we have to do the same. Do you know why GitHub does not support it? Would it make sense for Forgejo to support it? Are there any risks? What about `post-entrypoint`? We are in a bit of "what came first, the action declaration or the pre step" problem. Since a user have to checkout the code before local action is accessible. I did the check with github.com to see if they had handled it somehow. If we want this behavior (which would be nice) I would argue it is out of scope for this PR
Owner

@achyrva wrote in #1236 (comment):

I didn't use AI in my work.
It gives me less space to progress as developer. These tests are my first auto tests appropriate to current project. I can remove them as unnecessary.

OK, thanks for answering. I was a little startled by the unusual tests and my review comments were not very helpful about them, so let me elaborate in a productive manner. Please accept my apology for the rude nature of "What is this test?" comments; a wide variety of contributors come to Forgejo projects and I'd like to be a part of making all those contributors feel welcome, and my comments absolutely did not reflect that.

Automated tests should be written to verify that the software functions as expected. They're typically structured into setting up the test environment and data, performing some action, and asserting the results of the action. I've seen this described as a the "arrange, act, assert" pattern.

Your TestRunPrePostStepDockerSupport, TestExecAsDockerSignature, and TestRunActionImplDockerWithEntrypointType tests don't add any value to the project because they have none of these attributes. I don't understand what your intent was with these tests, but I think it might fall into one of these two cases; either you intended to test something that the compiler is doing automatically (function signatures), or you felt there was a functional capability of this change that wasn't being tested and you left a placeholder for that to be tested in the future.

As a general rule of thumb, if there are parts of your change that could be removed, and all the automated tests pass, but the functionality doesn't work -- then there's a testing gap that should be fixed. The contributors on this project can help you figure out how to write a test in an area if you describe it. If that's not the case -- eg. every change has a corresponding test that would break if the change was removed -- then test coverage is complete.

The intent of these three tests needs to be clarified and they need to be either reimplemented or removed, depending on what you feel they're here for.

@achyrva wrote in https://code.forgejo.org/forgejo/runner/pulls/1236#issuecomment-72011: > I didn't use AI in my work. > It gives me less space to progress as developer. These tests are my first auto tests appropriate to current project. I can remove them as unnecessary. OK, thanks for answering. I was a little startled by the unusual tests and my review comments were not very helpful about them, so let me elaborate in a productive manner. Please accept my apology for the rude nature of "What is this test?" comments; a wide variety of contributors come to Forgejo projects and I'd like to be a part of making all those contributors feel welcome, and my comments absolutely did not reflect that. Automated tests should be written to verify that the software functions as expected. They're typically structured into setting up the test environment and data, performing some action, and asserting the results of the action. I've seen this described as a the "arrange, act, assert" pattern. Your `TestRunPrePostStepDockerSupport`, `TestExecAsDockerSignature`, and `TestRunActionImplDockerWithEntrypointType` tests don't add any value to the project because they have none of these attributes. I don't understand what your intent was with these tests, but I think it might fall into one of these two cases; either you intended to test something that the compiler is doing automatically (function signatures), or you felt there was a functional capability of this change that wasn't being tested and you left a placeholder for that to be tested in the future. As a general rule of thumb, if there are parts of your change that could be removed, and all the automated tests pass, but the functionality doesn't work -- then there's a testing gap that should be fixed. The contributors on this project can help you figure out how to write a test in an area if you describe it. If that's not the case -- eg. every change has a corresponding test that would break if the change was removed -- then test coverage is complete. The intent of these three tests needs to be clarified and they need to be either reimplemented or removed, depending on what you feel they're here for.
@ -0,0 +14,4 @@
remote:
runs-on: ubuntu-latest
steps:
- uses: https://v14.next.forgejo.org/klausfyhn/runner-pre-post-entrypoint-test@1e6b5aa64b061cae7dd1ac63d9538bed23a634e6
Member
@mfenniak or @aahlenst Where should I place this remote action? https://code.forgejo.org/forgejo/act-test-actions or just keep it or?
Member

Looks like it has to go in https://code.forgejo.org/forgejo/act-test-actions because that's what's currently being used. Would be great if we could host it in the runner repository, but as that probably won't work with all test actions, there's no benefit it doing so.

In any case, wait for the opinion of somebody who's more experienced with Forgejo's infrastructure than me, for example, @mfenniak.

Looks like it has to go in https://code.forgejo.org/forgejo/act-test-actions because that's what's currently being used. Would be great if we could host it in the runner repository, but as that probably won't work with all test actions, there's no benefit it doing so. In any case, wait for the opinion of somebody who's more experienced with Forgejo's infrastructure than me, for example, @mfenniak.
Owner
I've imported it into act-test-actions: https://code.forgejo.org/forgejo/act-test-actions/src/branch/main/runner-pre-post-entrypoint 👍
Author
Contributor

@mfenniak wrote in #1236 (comment):

@achyrva wrote in #1236 (comment):

I didn't use AI in my work.
It gives me less space to progress as developer. These tests are my first auto tests appropriate to current project. I can remove them as unnecessary.

OK, thanks for answering. I was a little startled by the unusual tests and my review comments were not very helpful about them, so let me elaborate in a productive manner. Please accept my apology for the rude nature of "What is this test?" comments; a wide variety of contributors come to Forgejo projects and I'd like to be a part of making all those contributors feel welcome, and my comments absolutely did not reflect that.

Automated tests should be written to verify that the software functions as expected. They're typically structured into setting up the test environment and data, performing some action, and asserting the results of the action. I've seen this described as a the "arrange, act, assert" pattern.

Your TestRunPrePostStepDockerSupport, TestExecAsDockerSignature, and TestRunActionImplDockerWithEntrypointType tests don't add any value to the project because they have none of these attributes. I don't understand what your intent was with these tests, but I think it might fall into one of these two cases; either you intended to test something that the compiler is doing automatically (function signatures), or you felt there was a functional capability of this change that wasn't being tested and you left a placeholder for that to be tested in the future.

As a general rule of thumb, if there are parts of your change that could be removed, and all the automated tests pass, but the functionality doesn't work -- then there's a testing gap that should be fixed. The contributors on this project can help you figure out how to write a test in an area if you describe it. If that's not the case -- eg. every change has a corresponding test that would break if the change was removed -- then test coverage is complete.

The intent of these three tests needs to be clarified and they need to be either reimplemented or removed, depending on what you feel they're here for.

I removed redundant unit tests because @klausfyhn prepared already solid integration tests.
@mfenniak, I would like to clarify for myself how best to deal with the remark that the refactoring part should be made separately. Should I make a separate PR as a prerequisite to the existing one? Or you have some other suggestions?

@mfenniak wrote in https://code.forgejo.org/forgejo/runner/pulls/1236#issuecomment-72083: > @achyrva wrote in #1236 (comment): > > > I didn't use AI in my work. > > It gives me less space to progress as developer. These tests are my first auto tests appropriate to current project. I can remove them as unnecessary. > > OK, thanks for answering. I was a little startled by the unusual tests and my review comments were not very helpful about them, so let me elaborate in a productive manner. Please accept my apology for the rude nature of "What is this test?" comments; a wide variety of contributors come to Forgejo projects and I'd like to be a part of making all those contributors feel welcome, and my comments absolutely did not reflect that. > > Automated tests should be written to verify that the software functions as expected. They're typically structured into setting up the test environment and data, performing some action, and asserting the results of the action. I've seen this described as a the "arrange, act, assert" pattern. > > Your `TestRunPrePostStepDockerSupport`, `TestExecAsDockerSignature`, and `TestRunActionImplDockerWithEntrypointType` tests don't add any value to the project because they have none of these attributes. I don't understand what your intent was with these tests, but I think it might fall into one of these two cases; either you intended to test something that the compiler is doing automatically (function signatures), or you felt there was a functional capability of this change that wasn't being tested and you left a placeholder for that to be tested in the future. > > As a general rule of thumb, if there are parts of your change that could be removed, and all the automated tests pass, but the functionality doesn't work -- then there's a testing gap that should be fixed. The contributors on this project can help you figure out how to write a test in an area if you describe it. If that's not the case -- eg. every change has a corresponding test that would break if the change was removed -- then test coverage is complete. > > The intent of these three tests needs to be clarified and they need to be either reimplemented or removed, depending on what you feel they're here for. I removed redundant unit tests because @klausfyhn prepared already solid integration tests. @mfenniak, I would like to clarify for myself how best to deal with the remark that the refactoring part should be made separately. Should I make a separate PR as a prerequisite to the existing one? Or you have some other suggestions?
Member

@achyrva wrote in #1236 (comment):

Should I make a separate PR as a prerequisite to the existing one? Or you have some other suggestions?

Options:

  • Split this PR into commits that can be reviewed individually, at least one for the refactoring and one for the new functionality.
  • Create a new PR for the refactoring. If the refactoring is required or at least helpful for this PR, rebase this PR onto the other and we will first work through the first PR. If the refactoring is not required or helpful for this PR, remove the refactoring from this PR and submit it separately.

From my point of view, all options are possible right now because the changes now look less overwhelming than before. But generally, I prefer PRs to be as small and focused as possible.

@achyrva wrote in https://code.forgejo.org/forgejo/runner/pulls/1236#issuecomment-72684: > Should I make a separate PR as a prerequisite to the existing one? Or you have some other suggestions? Options: * Split this PR into commits that can be reviewed individually, at least one for the refactoring and one for the new functionality. * Create a new PR for the refactoring. If the refactoring is required or at least helpful for this PR, rebase this PR onto the other and we will first work through the first PR. If the refactoring is not required or helpful for this PR, remove the refactoring from this PR and submit it separately. From my point of view, all options are possible right now because the changes now look less overwhelming than before. But generally, I prefer PRs to be as small and focused as possible.
klausfyhn force-pushed entry-point-handling-0 from 85c1fdb9b0
All checks were successful
cascade / forgejo (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 6s
checks / build and test (pull_request) Successful in 1m3s
example / docker-build-push-action-in-lxc (pull_request) Successful in 1m58s
checks / validate mocks (pull_request) Successful in 52s
/ example-docker-compose (pull_request) Successful in 2m21s
checks / validate pre-commit-hooks file (pull_request) Successful in 49s
checks / runner exec tests (pull_request) Successful in 42s
/ example-on-demand (pull_request) Successful in 4m45s
Integration tests for the release process / release-simulation (pull_request) Successful in 6m37s
checks / runner integration tests (pull_request) Successful in 5m52s
/ example-lxc-systemd (pull_request) Successful in 8m24s
checks / integration tests (docker-latest) (pull_request) Successful in 11m35s
checks / integration tests (docker-stable) (pull_request) Successful in 14m22s
to 80d789b05f
Some checks failed
cascade / end-to-end (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
cascade / forgejo (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 6s
checks / Build Forgejo Runner (pull_request) Failing after 1m4s
checks / validate mocks (pull_request) Failing after 1m3s
checks / validate pre-commit-hooks file (pull_request) Successful in 1m4s
checks / runner exec tests (pull_request) Has been skipped
checks / integration tests (docker-latest) (pull_request) Has been skipped
checks / integration tests (docker-stable) (pull_request) Has been skipped
2026-01-14 09:17:43 +00:00
Compare
klausfyhn force-pushed entry-point-handling-0 from 80d789b05f
Some checks failed
cascade / end-to-end (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
cascade / forgejo (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 6s
checks / Build Forgejo Runner (pull_request) Failing after 1m4s
checks / validate mocks (pull_request) Failing after 1m3s
checks / validate pre-commit-hooks file (pull_request) Successful in 1m4s
checks / runner exec tests (pull_request) Has been skipped
checks / integration tests (docker-latest) (pull_request) Has been skipped
checks / integration tests (docker-stable) (pull_request) Has been skipped
to ebec0612c2
Some checks failed
cascade / debug (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
cascade / forgejo (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 6s
checks / validate pre-commit-hooks file (pull_request) Has been cancelled
checks / Build Forgejo Runner (pull_request) Has been cancelled
checks / validate mocks (pull_request) Has been cancelled
checks / runner exec tests (pull_request) Has been cancelled
checks / integration tests (docker-latest) (pull_request) Has been cancelled
checks / integration tests (docker-stable) (pull_request) Has been cancelled
2026-01-14 09:19:44 +00:00
Compare
klausfyhn force-pushed entry-point-handling-0 from ebec0612c2
Some checks failed
cascade / debug (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
cascade / forgejo (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 6s
checks / validate pre-commit-hooks file (pull_request) Has been cancelled
checks / Build Forgejo Runner (pull_request) Has been cancelled
checks / validate mocks (pull_request) Has been cancelled
checks / runner exec tests (pull_request) Has been cancelled
checks / integration tests (docker-latest) (pull_request) Has been cancelled
checks / integration tests (docker-stable) (pull_request) Has been cancelled
to bd6cb30214
All checks were successful
cascade / debug (pull_request_target) Has been skipped
cascade / forgejo (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 5s
checks / validate mocks (pull_request) Successful in 56s
checks / validate pre-commit-hooks file (pull_request) Successful in 55s
checks / Build Forgejo Runner (pull_request) Successful in 1m11s
checks / runner exec tests (pull_request) Successful in 58s
checks / integration tests (docker-latest) (pull_request) Successful in 13m47s
checks / integration tests (docker-stable) (pull_request) Successful in 16m17s
2026-01-14 09:20:17 +00:00
Compare
achyrva force-pushed entry-point-handling-0 from bd6cb30214
All checks were successful
cascade / debug (pull_request_target) Has been skipped
cascade / forgejo (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 5s
checks / validate mocks (pull_request) Successful in 56s
checks / validate pre-commit-hooks file (pull_request) Successful in 55s
checks / Build Forgejo Runner (pull_request) Successful in 1m11s
checks / runner exec tests (pull_request) Successful in 58s
checks / integration tests (docker-latest) (pull_request) Successful in 13m47s
checks / integration tests (docker-stable) (pull_request) Successful in 16m17s
to 5d2faa9cfa
Some checks failed
cascade / debug (pull_request_target) Has been skipped
cascade / forgejo (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 5s
checks / Build Forgejo Runner (pull_request) Failing after 16s
checks / integration tests (docker-stable) (pull_request) Has been skipped
checks / integration tests (docker-latest) (pull_request) Has been skipped
checks / runner exec tests (pull_request) Has been skipped
checks / validate mocks (pull_request) Failing after 23s
checks / validate pre-commit-hooks file (pull_request) Successful in 31s
2026-01-14 15:34:52 +00:00
Compare
achyrva force-pushed entry-point-handling-0 from 5d2faa9cfa
Some checks failed
cascade / debug (pull_request_target) Has been skipped
cascade / forgejo (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 5s
checks / Build Forgejo Runner (pull_request) Failing after 16s
checks / integration tests (docker-stable) (pull_request) Has been skipped
checks / integration tests (docker-latest) (pull_request) Has been skipped
checks / runner exec tests (pull_request) Has been skipped
checks / validate mocks (pull_request) Failing after 23s
checks / validate pre-commit-hooks file (pull_request) Successful in 31s
to a8e5f9c012
Some checks failed
cascade / forgejo (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 8s
checks / Build Forgejo Runner (pull_request) Successful in 28s
checks / validate mocks (pull_request) Successful in 29s
checks / validate pre-commit-hooks file (pull_request) Successful in 35s
checks / runner exec tests (pull_request) Successful in 34s
checks / integration tests (docker-latest) (pull_request) Failing after 1m6s
Integration tests for the release process / release-simulation (pull_request) Successful in 4m12s
checks / integration tests (docker-stable) (pull_request) Successful in 11m5s
2026-01-14 15:37:52 +00:00
Compare
Author
Contributor

@aahlenst wrote in #1236 (comment):

@achyrva wrote in #1236 (comment):

Should I make a separate PR as a prerequisite to the existing one? Or you have some other suggestions?

Options:

  • Split this PR into commits that can be reviewed individually, at least one for the refactoring and one for the new functionality.
  • Create a new PR for the refactoring. If the refactoring is required or at least helpful for this PR, rebase this PR onto the other and we will first work through the first PR. If the refactoring is not required or helpful for this PR, remove the refactoring from this PR and submit it separately.

From my point of view, all options are possible right now because the changes now look less overwhelming than before. But generally, I prefer PRs to be as small and focused as possible.

I split large commit into refactoring and functional part.

@aahlenst wrote in https://code.forgejo.org/forgejo/runner/pulls/1236#issuecomment-73131: > @achyrva wrote in #1236 (comment): > > > Should I make a separate PR as a prerequisite to the existing one? Or you have some other suggestions? > > Options: > > * Split this PR into commits that can be reviewed individually, at least one for the refactoring and one for the new functionality. > * Create a new PR for the refactoring. If the refactoring is required or at least helpful for this PR, rebase this PR onto the other and we will first work through the first PR. If the refactoring is not required or helpful for this PR, remove the refactoring from this PR and submit it separately. > > From my point of view, all options are possible right now because the changes now look less overwhelming than before. But generally, I prefer PRs to be as small and focused as possible. I split large commit into refactoring and functional part.
@ -201,20 +201,21 @@ func runActionImpl(step actionStep, actionDir string, remoteAction *remoteAction
logger.Debugf("executing remote job container: %s", containerArgs)
rc.ApplyExtraPath(ctx, step.getEnv())
Member

@achyrva Seems like you have reintroduced some changes to formatting, maybe your editor is playing tricks on you

@achyrva Seems like you have reintroduced some changes to formatting, maybe your editor is playing tricks on you
Member

I believe running make fmt before committing should help.

I believe running `make fmt` before committing should help.
achyrva force-pushed entry-point-handling-0 from 17826da950
Some checks failed
cascade / forgejo (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 14s
checks / Build Forgejo Runner (pull_request) Successful in 1m4s
checks / validate mocks (pull_request) Successful in 1m6s
checks / validate pre-commit-hooks file (pull_request) Successful in 1m6s
checks / runner exec tests (pull_request) Successful in 38s
Integration tests for the release process / release-simulation (pull_request) Successful in 5m53s
checks / integration tests (docker-latest) (pull_request) Successful in 13m16s
checks / integration tests (docker-stable) (pull_request) Failing after 15m14s
to a8e5f9c012
Some checks failed
cascade / forgejo (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 8s
checks / Build Forgejo Runner (pull_request) Successful in 28s
checks / validate mocks (pull_request) Successful in 29s
checks / validate pre-commit-hooks file (pull_request) Successful in 35s
checks / runner exec tests (pull_request) Successful in 34s
checks / integration tests (docker-latest) (pull_request) Failing after 1m6s
Integration tests for the release process / release-simulation (pull_request) Successful in 4m12s
checks / integration tests (docker-stable) (pull_request) Successful in 11m5s
2026-01-14 17:06:16 +00:00
Compare
achyrva force-pushed entry-point-handling-0 from a8e5f9c012
Some checks failed
cascade / forgejo (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 8s
checks / Build Forgejo Runner (pull_request) Successful in 28s
checks / validate mocks (pull_request) Successful in 29s
checks / validate pre-commit-hooks file (pull_request) Successful in 35s
checks / runner exec tests (pull_request) Successful in 34s
checks / integration tests (docker-latest) (pull_request) Failing after 1m6s
Integration tests for the release process / release-simulation (pull_request) Successful in 4m12s
checks / integration tests (docker-stable) (pull_request) Successful in 11m5s
to c807cfe20d
All checks were successful
cascade / debug (pull_request_target) Has been skipped
cascade / forgejo (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 6s
checks / Build Forgejo Runner (pull_request) Successful in 21s
checks / validate mocks (pull_request) Successful in 24s
checks / validate pre-commit-hooks file (pull_request) Successful in 31s
checks / runner exec tests (pull_request) Successful in 45s
checks / integration tests (docker-latest) (pull_request) Successful in 9m2s
checks / integration tests (docker-stable) (pull_request) Successful in 11m1s
2026-01-14 17:13:37 +00:00
Compare
klausfyhn force-pushed entry-point-handling-0 from c807cfe20d
All checks were successful
cascade / debug (pull_request_target) Has been skipped
cascade / forgejo (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 6s
checks / Build Forgejo Runner (pull_request) Successful in 21s
checks / validate mocks (pull_request) Successful in 24s
checks / validate pre-commit-hooks file (pull_request) Successful in 31s
checks / runner exec tests (pull_request) Successful in 45s
checks / integration tests (docker-latest) (pull_request) Successful in 9m2s
checks / integration tests (docker-stable) (pull_request) Successful in 11m1s
to 8d1661557d
Some checks failed
cascade / forgejo (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 5s
checks / Build Forgejo Runner (pull_request) Successful in 21s
checks / validate mocks (pull_request) Successful in 23s
checks / validate pre-commit-hooks file (pull_request) Successful in 30s
checks / runner exec tests (pull_request) Successful in 36s
checks / integration tests (docker-latest) (pull_request) Successful in 8m49s
checks / integration tests (docker-stable) (pull_request) Has been cancelled
2026-01-15 08:49:50 +00:00
Compare
klausfyhn force-pushed entry-point-handling-0 from 8d1661557d
Some checks failed
cascade / forgejo (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 5s
checks / Build Forgejo Runner (pull_request) Successful in 21s
checks / validate mocks (pull_request) Successful in 23s
checks / validate pre-commit-hooks file (pull_request) Successful in 30s
checks / runner exec tests (pull_request) Successful in 36s
checks / integration tests (docker-latest) (pull_request) Successful in 8m49s
checks / integration tests (docker-stable) (pull_request) Has been cancelled
to aa4c04217f
All checks were successful
cascade / debug (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
cascade / forgejo (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 8s
checks / Build Forgejo Runner (pull_request) Successful in 24s
checks / validate mocks (pull_request) Successful in 27s
checks / validate pre-commit-hooks file (pull_request) Successful in 33s
checks / runner exec tests (pull_request) Successful in 31s
checks / integration tests (docker-latest) (pull_request) Successful in 8m25s
checks / integration tests (docker-stable) (pull_request) Successful in 10m52s
2026-01-15 09:00:15 +00:00
Compare
Member

@achyrva I cleaned !1236 (commit cd15b880c6) up for white space changes but that resulted in me being the author of the commit, that was not my intention

@achyrva I cleaned https://code.forgejo.org/forgejo/runner/pulls/1236/commits/cd15b880c6c2ea67bcaf5364966bbac40832e3a1 up for white space changes but that resulted in me being the author of the commit, that was not my intention
Member

@mfenniak and @aahlenst This PR is ready for review I believe

@mfenniak and @aahlenst This PR is ready for review I believe
aahlenst left a comment
Member

Thanks a lot. That was much easier to review and the tests look good. I've left some comments for your consideration.

Thanks a lot. That was much easier to review and the tests look good. I've left some comments for your consideration.
@ -852,0 +863,4 @@
`msg="some super duper awesome cleanup has happened\n" dryrun=false job="docker-with-pre-post/local " jobID=local matrix="map[]" raw_output=true stage=Post`,
`msg=" ✅ Success - Post ./actions/docker-local-with-post-entrypoint" dryrun=false job="docker-with-pre-post/local " jobID=local matrix="map[]" stage=Post`,
// remote
`msg="docker image has prepared to do work\n" dryrun=false job=docker-with-pre-post/remote jobID=remote matrix="map[]" raw_output=true stage=Pre`,
Member

Is that the test for pre-entrypoint? If not, where is it?

In any case, we need some comments that explain where this text comes from. There should also be a mention somewhere in the test that pre-entrypoint isn't supported for actions stored in the same repository.

Is that the test for `pre-entrypoint`? If not, where is it? In any case, we need some comments that explain where this text comes from. There should also be a mention somewhere in the test that `pre-entrypoint` isn't supported for actions stored in the same repository.
klausfyhn marked this conversation as resolved
@ -0,0 +11,4 @@
- uses: https://data.forgejo.org/actions/checkout@v6
- uses: ./actions/docker-local-with-post-entrypoint
remote:
Member

Could could split this test? One with local and one with remote? As these tests produce large amounts of logs, smaller tests are easier to debug if something goes wrong.

Could could split this test? One with `local` and one with `remote`? As these tests produce large amounts of logs, smaller tests are easier to debug if something goes wrong.
klausfyhn marked this conversation as resolved
klausfyhn force-pushed entry-point-handling-0 from 681c747231
Some checks failed
cascade / forgejo (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 6s
checks / Build Forgejo Runner (pull_request) Successful in 37s
checks / validate mocks (pull_request) Successful in 39s
checks / validate pre-commit-hooks file (pull_request) Successful in 46s
checks / integration tests (docker-latest) (pull_request) Has been cancelled
Integration tests for the release process / release-simulation (pull_request) Has been cancelled
checks / integration tests (docker-stable) (pull_request) Has been cancelled
checks / runner exec tests (pull_request) Has been cancelled
to 13a4d8c93e
Some checks failed
cascade / debug (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
cascade / forgejo (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 8s
checks / Build Forgejo Runner (pull_request) Successful in 45s
checks / validate mocks (pull_request) Successful in 48s
checks / validate pre-commit-hooks file (pull_request) Successful in 50s
checks / runner exec tests (pull_request) Successful in 40s
checks / integration tests (docker-latest) (pull_request) Has been cancelled
Integration tests for the release process / release-simulation (pull_request) Has been cancelled
checks / integration tests (docker-stable) (pull_request) Has been cancelled
2026-01-16 11:43:36 +00:00
Compare
Member

@aahlenst your comments should have been resolved now

@aahlenst your comments should have been resolved now
@ -852,0 +859,4 @@
expectedLogMessages := []string{
// stage=Pre
// NOTE The pre step is not possible to run for a local actions, since the declartion is first available in the main stage after checkout
// TODO Create a warning if a user is triggering a local action with a pre-entrypoint
Member

@achyrva Could you have a look at this?

@achyrva Could you have a look at this?
achyrva force-pushed entry-point-handling-0 from 6a84d8aaa6
Some checks failed
cascade / forgejo (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 17s
checks / validate mocks (pull_request) Successful in 46s
checks / Build Forgejo Runner (pull_request) Successful in 54s
checks / validate pre-commit-hooks file (pull_request) Successful in 39s
checks / runner exec tests (pull_request) Successful in 1m1s
/ example-docker-compose (pull_request) Successful in 3m32s
example / docker-build-push-action-in-lxc (pull_request) Successful in 4m5s
Integration tests for the release process / release-simulation (pull_request) Successful in 5m10s
/ example-on-demand (pull_request) Successful in 5m39s
/ example-lxc-systemd (pull_request) Successful in 7m53s
checks / integration tests (docker-latest) (pull_request) Successful in 9m18s
checks / integration tests (docker-stable) (pull_request) Failing after 11m3s
to d20b02acc7
All checks were successful
cascade / debug (pull_request_target) Has been skipped
cascade / forgejo (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 5s
checks / validate pre-commit-hooks file (pull_request) Successful in 35s
checks / validate mocks (pull_request) Successful in 42s
checks / Build Forgejo Runner (pull_request) Successful in 42s
checks / runner exec tests (pull_request) Successful in 35s
checks / Build unsupported platforms (pull_request) Successful in 56s
checks / integration tests (docker-latest) (pull_request) Successful in 8m13s
checks / integration tests (docker-stable) (pull_request) Successful in 9m45s
2026-01-19 14:54:55 +00:00
Compare
Member

@achyrva I suggest you roll back the warning and make a separate PR. I have created forgejo/forgejo-actions-feature-requests#95 so we could have a discussion on how we would like to handle pre execution for local actions. This is not an issue for docker actions specifically

@achyrva I suggest you roll back the warning and make a separate PR. I have created https://code.forgejo.org/forgejo/forgejo-actions-feature-requests/issues/95 so we could have a discussion on how we would like to handle pre execution for local actions. This is not an issue for `docker` actions specifically
Author
Contributor

@klausfyhn wrote in #1236 (comment):

@achyrva I suggest you roll back the warning and make a separate PR. I have created forgejo/forgejo-actions-feature-requests#95 so we could have a discussion on how we would like to handle pre execution for local actions. This is not an issue for docker actions specifically

reverted

@klausfyhn wrote in https://code.forgejo.org/forgejo/runner/pulls/1236#issuecomment-74447: > @achyrva I suggest you roll back the warning and make a separate PR. I have created forgejo/forgejo-actions-feature-requests#95 so we could have a discussion on how we would like to handle pre execution for local actions. This is not an issue for `docker` actions specifically reverted
achyrva force-pushed entry-point-handling-0 from 43bd14fc50
Some checks failed
issue-labels / release-notes (pull_request_target) Successful in 6s
cascade / debug (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Successful in 5s
cascade / forgejo (pull_request_target) Successful in 3m58s
checks / integration tests (docker-latest) (pull_request) Successful in 9m51s
checks / Build Forgejo Runner (pull_request) Successful in 30s
checks / Build unsupported platforms (pull_request) Successful in 24s
checks / runner exec tests (pull_request) Successful in 33s
checks / validate mocks (pull_request) Successful in 42s
checks / validate pre-commit-hooks file (pull_request) Successful in 38s
checks / integration tests (docker-stable) (pull_request) Failing after 11m34s
to db8d43e5fc
All checks were successful
cascade / forgejo (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 6s
checks / Build Forgejo Runner (pull_request) Successful in 23s
checks / validate pre-commit-hooks file (pull_request) Successful in 30s
checks / validate mocks (pull_request) Successful in 31s
checks / Build unsupported platforms (pull_request) Successful in 18s
checks / runner exec tests (pull_request) Successful in 31s
checks / integration tests (docker-latest) (pull_request) Successful in 8m49s
checks / integration tests (docker-stable) (pull_request) Successful in 11m12s
2026-01-20 10:40:21 +00:00
Compare
achyrva force-pushed entry-point-handling-0 from db8d43e5fc
All checks were successful
cascade / forgejo (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Successful in 6s
checks / Build Forgejo Runner (pull_request) Successful in 23s
checks / validate pre-commit-hooks file (pull_request) Successful in 30s
checks / validate mocks (pull_request) Successful in 31s
checks / Build unsupported platforms (pull_request) Successful in 18s
checks / runner exec tests (pull_request) Successful in 31s
checks / integration tests (docker-latest) (pull_request) Successful in 8m49s
checks / integration tests (docker-stable) (pull_request) Successful in 11m12s
to b7d267a326
All checks were successful
checks / validate mocks (pull_request) Successful in 30s
checks / validate pre-commit-hooks file (pull_request) Successful in 33s
checks / Build Forgejo Runner (pull_request) Successful in 37s
checks / Build unsupported platforms (pull_request) Successful in 24s
checks / runner exec tests (pull_request) Successful in 33s
checks / integration tests (docker-latest) (pull_request) Successful in 8m40s
checks / integration tests (docker-stable) (pull_request) Successful in 10m39s
cascade / forgejo (pull_request_target) Has been skipped
cascade / debug (pull_request_target) Has been skipped
cascade / end-to-end (pull_request_target) Successful in 7s
issue-labels / release-notes (pull_request_target) Successful in 6s
2026-01-21 09:42:08 +00:00
Compare
Author
Contributor

@klausfyhn wrote in #1236 (comment):

@achyrva I suggest you roll back the warning and make a separate PR. I have created forgejo/forgejo-actions-feature-requests#95 so we could have a discussion on how we would like to handle pre execution for local actions. This is not an issue for docker actions specifically

I did it

@klausfyhn wrote in https://code.forgejo.org/forgejo/runner/pulls/1236#issuecomment-74447: > @achyrva I suggest you roll back the warning and make a separate PR. I have created forgejo/forgejo-actions-feature-requests#95 so we could have a discussion on how we would like to handle pre execution for local actions. This is not an issue for `docker` actions specifically I did it
Member

@aahlenst, @mfenniak and @viceice Is there anything missing or what could we further improve?

@aahlenst, @mfenniak and @viceice Is there anything missing or what could we further improve?
mfenniak approved these changes 2026-01-22 16:31:53 +00:00
mfenniak left a comment
Owner

Looks good to me. 👍 Thanks for making this contribution.

Looks good to me. 👍 Thanks for making this contribution.
mfenniak changed title from Add /pre- and /post-entrypoint handling to feat: add 'using: docker' action pre and post-entrypoint support 2026-01-22 16:33:34 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo/runner!1236
No description provided.