f8e1cae677
Reduce the amount of data copied to the workflow pod ( #293 )
...
* run script copies back only runner file commands
* wip
* fix
* fmt
* user volume mount
* try doing only file commands
* typo
* remove _temp_pre
* Update packages/k8s/src/hooks/run-script-step.ts
Co-authored-by: Copilot <[email protected] >
* Update packages/k8s/src/hooks/run-script-step.ts
Co-authored-by: Copilot <[email protected] >
* better escape
* no useless escapes
---------
Co-authored-by: Copilot <[email protected] >
2025-12-10 21:49:35 +01:00
1f60eaf940
Bump glob from 10.4.5 to 10.5.0 in /packages/k8s ( #278 )
...
Bumps [glob](https://github.com/isaacs/node-glob ) from 10.4.5 to 10.5.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md )
- [Commits](https://github.com/isaacs/node-glob/compare/v10.4.5...v10.5.0 )
---
updated-dependencies:
- dependency-name: glob
dependency-version: 10.5.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-27 16:34:01 +01:00
zarko-a and GitHub
3f829eef9e
Fix event.json not being copied to /github/workflow in kubernetes-novolume mode ( #287 )
...
In run-script-step, the _temp directory was being copied to the workflow pod,
but the _github_home and _github_workflow directories were not being moved
from their temporary location to the /github directory structure where they
are expected by GitHub Actions.
This caused event.json to be missing at /github/workflow/event.json, breaking
actions that depend on GITHUB_EVENT_PATH.
The fix adds a setup step that copies _github_home and _github_workflow from
/__w/_temp/ to /github/ after copying the temp directory to the pod, matching
the behavior of run-container-step and prepareJobScript.
Uses cp -r instead of symlinks to avoid symlink validation errors when copying
files back from the pod to the runner.
2025-11-26 11:47:19 +01:00
011ffb284e
Fix workingDir permissions issue by creating it within init container ( #283 )
...
* Fix workingDir permissions issue by creating it within init container
* Apply suggestion from @Copilot
Co-authored-by: Copilot <[email protected] >
* rework init commands
---------
Co-authored-by: Copilot <[email protected] >
2025-11-26 11:46:47 +01:00
Vincent Van Ouytsel and GitHub
0951cc73e4
Improve validation checks after copying ( #285 )
...
* fix: calculate hash again after failure
The hash from the source is calculated only once. The source hash is
checked with the destination hash, but if the destination hash does not
match, the destination match is calculated again.
The problem is that if the source hash is incorrect, the check will keep
failing because the source hash is never re-calculated.
Now, in the event that the hashes do not match, the hash of the source
and the destination are calculated again.
* fix: use size instead of block size
Previously the %b parameter was used with stat. This displays the block
size of the file. We noticed that in some cases the block size of the
source and the destination file could be slightly different. Since the
source and target run in different containers, they can have different
block sizes defined. If the block size did not match, the hash would also not match, even if
the file content would be exactly the same.
With this change, the block size is no longer used. Instead the actual
size in bytes of the file is listed.
2025-11-24 16:14:02 +01:00
Nikola Jokic and GitHub
15e808935c
Allow non-root container ( #264 )
...
* Allow non-root container
* format
* add lint:fix and fix lint errors
* fix tests and volume mounts
2025-11-21 14:44:29 +01:00
vvanouytsel-trendminer and GitHub
ad9cb43c31
feat: check if required binaries are present ( #272 )
...
* feat: check if required binaries are present
Previously the necessary binaries were copied over using the runner
container. This lead to issues in case your main container was using the
musl libc implementation.
Instead of copying over any binaries, the initContainer now checks if
the required binaries are present in the main container.
* feat: get rid of the init container
* fix: add _runner_file_commands
* fix: do not fail if _runner_file_commands does not exist
It seems that for container actions this directory does not exist.
2025-11-10 15:01:40 +01:00
zarko-a and GitHub
2934de33f8
Sort 'find' output before hashing for consistency ( #267 )
...
* Sort 'find' output before hashing for consistency across different platforms
* fix style issues
2025-11-04 12:06:36 +01:00
Jiang Long and GitHub
ea25fd1b3e
Change command to remove sudo to fix fs-init inital container ( #263 )
...
* Change command to copy externals instead of move
* fix: using only mv, remove sudo
2025-10-21 15:47:08 +02:00
c03a5fb3c1
Prepare 0.8.0 release and bump dependencies once more ( #256 )
...
* Prepare 0.8.0 release and bump dependencies once more
* Update releaseNotes.md
Co-authored-by: Copilot <[email protected] >
---------
Co-authored-by: Copilot <[email protected] >
2025-10-04 11:53:55 +02:00
96c35e7cc6
Remove dependency on the runner's volume ( #244 )
...
* bump actions
* experiment using init container to prepare working environment
* rm script before continuing
* fix
* Update packages/k8s/src/hooks/run-script-step.ts
Co-authored-by: Copilot <[email protected] >
* leverage exec stat instead of printf
* npm update
* document the new constraint
---------
Co-authored-by: DenisPalnitsky <[email protected] >
2025-10-02 16:23:07 +02:00
9a858922c8
Bump form-data from 4.0.3 to 4.0.4 in /packages/k8s ( #239 )
...
Bumps [form-data](https://github.com/form-data/form-data ) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/form-data/form-data/releases )
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md )
- [Commits](https://github.com/form-data/form-data/compare/v4.0.3...v4.0.4 )
---
updated-dependencies:
- dependency-name: form-data
dependency-version: 4.0.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-29 11:24:01 +02:00
Nikola Jokic and GitHub
589414ea69
Bump all dependencies ( #234 )
...
* Bump all dependencies
* build and reformat
* lint
* format
2025-07-29 11:06:45 +02:00
Nikola Jokic and GitHub
375992cd31
Expose CI=true and GITHUB_ACTIONS env variables ( #215 )
...
* Expose CI=true and GITHUB_ACTIONS env variables
* fmt
* revert the prettier and finish this
* revert package-lock.json
2025-04-17 12:08:32 +02:00
Nikola Jokic and GitHub
aae800a69b
bump node in tests to node 22 since node14 is quite old ( #216 )
...
* bump node in tests to node 22 since node14 is quite old
* change test contsants
2025-04-16 15:57:59 +02:00
e47f9b8af4
Bump jsonpath-plus from 10.1.0 to 10.3.0 in /packages/k8s ( #213 )
...
Bumps [jsonpath-plus](https://github.com/s3u/JSONPath ) from 10.1.0 to 10.3.0.
- [Release notes](https://github.com/s3u/JSONPath/releases )
- [Changelog](https://github.com/JSONPath-Plus/JSONPath/blob/main/CHANGES.md )
- [Commits](https://github.com/s3u/JSONPath/compare/v10.1.0...v10.3.0 )
---
updated-dependencies:
- dependency-name: jsonpath-plus
dependency-version: 10.3.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-15 14:25:32 +02:00
Grant Buskey and GitHub
ef2229fc0b
feat(k8s): add /github/home to containerAction mounts and surface createSecretForEnvs errors #181 ( #198 )
...
* feat: add /github/home to containerAction mounts #181
* fix: add debug logging for failed secret creations #181
2025-04-14 14:12:51 +02:00
Andre Klärner and GitHub
88dc98f8ef
k8s: start logging from the beginning ( #184 )
2025-04-14 14:03:05 +02:00
Joan Miquel Luque and GitHub
b388518d40
feat(k8s): Use pod affinity when KubeScheduler is enabled #201 ( #212 )
...
Signed-off-by: Joan Miquel Luque Oliver <[email protected] >
2025-04-14 13:36:21 +02:00
7afb8f9323
Bump cross-spawn from 7.0.3 to 7.0.6 in /packages/k8s ( #196 )
...
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn ) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md )
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6 )
---
updated-dependencies:
- dependency-name: cross-spawn
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 16:51:12 +01:00
120636d3d7
Bump ws from 7.5.8 to 7.5.10 in /packages/k8s ( #192 )
...
Bumps [ws](https://github.com/websockets/ws ) from 7.5.8 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases )
- [Commits](https://github.com/websockets/ws/compare/7.5.8...7.5.10 )
---
updated-dependencies:
- dependency-name: ws
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-06 11:41:28 -05:00
8eed1ad1b6
Bump jsonpath-plus and @kubernetes/client-node in /packages/k8s ( #187 )
...
Bumps [jsonpath-plus](https://github.com/s3u/JSONPath ) to 10.1.0 and updates ancestor dependency [@kubernetes/client-node](https://github.com/kubernetes-client/javascript ). These dependencies need to be updated together.
Updates `jsonpath-plus` from 9.0.0 to 10.1.0
- [Release notes](https://github.com/s3u/JSONPath/releases )
- [Changelog](https://github.com/JSONPath-Plus/JSONPath/blob/main/CHANGES.md )
- [Commits](https://github.com/s3u/JSONPath/compare/v9.0.0...v10.1.0 )
Updates `@kubernetes/client-node` from 0.22.0 to 0.22.2
- [Release notes](https://github.com/kubernetes-client/javascript/releases )
- [Changelog](https://github.com/kubernetes-client/javascript/blob/master/CHANGELOG.md )
- [Commits](https://github.com/kubernetes-client/javascript/compare/0.22.0...0.22.2 )
---
updated-dependencies:
- dependency-name: jsonpath-plus
dependency-type: indirect
- dependency-name: "@kubernetes/client-node"
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-06 10:34:45 -05:00
7b404841b2
Bump braces from 3.0.2 to 3.0.3 in /packages/k8s ( #188 )
...
Bumps [braces](https://github.com/micromatch/braces ) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md )
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3 )
---
updated-dependencies:
- dependency-name: braces
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-06 10:34:16 -05:00
Oliver Radwell and GitHub
ee10d95fd4
Bump kubernetes/client-node from 0.18.1 to 0.22.0 ( #182 )
2024-11-05 13:22:04 -05:00
Nikola Jokic and GitHub
ca4ea17d58
Skip writing extension containers in output context file ( #154 )
2024-06-19 11:49:43 +02:00
ed70e2f8e0
Bump tar from 6.1.11 to 6.2.1 in /packages/k8s ( #156 )
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 6.1.11 to 6.2.1.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v6.1.11...v6.2.1 )
---
updated-dependencies:
- dependency-name: tar
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-18 17:35:16 +02:00
Katarzyna and GitHub
99efdeca99
Mount /github/workflow to docker action pods ( #137 )
...
* Mount /github/workflow to docker action pods, the same way as for container job pods
* Adjust tests
2024-03-14 12:36:27 +01:00
bb09a79b22
Bump jose from 4.11.4 to 4.15.5 in /packages/k8s ( #142 )
...
Bumps [jose](https://github.com/panva/jose ) from 4.11.4 to 4.15.5.
- [Release notes](https://github.com/panva/jose/releases )
- [Changelog](https://github.com/panva/jose/blob/v4.15.5/CHANGELOG.md )
- [Commits](https://github.com/panva/jose/compare/v4.11.4...v4.15.5 )
---
updated-dependencies:
- dependency-name: jose
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 12:33:36 +01:00
7223e1dbb2
Use ACTIONS_RUNNER_CONTAINER_HOOK_TEMPLATE to extend service containers ( #134 )
...
https://github.com/actions/runner-container-hooks/issues/132
Co-authored-by: Katarzyna Radkowska <[email protected] >
2024-02-20 16:19:29 +01:00
af27abe1f7
Read logs also from failed child (container job/container action) pod ( #135 )
...
Co-authored-by: Katarzyna Radkowska <[email protected] >
2024-02-20 12:01:11 +01:00
50e14cf868
Switch exec pod promise to reject on websocket error ( #127 )
...
* Switch exec pod promise to reject on websocket error
* Fix incorrectly resolved merge conflict
* Apply suggestions from code review
Co-authored-by: Ferenc Hammerl <[email protected] >
---------
Co-authored-by: Ferenc Hammerl <[email protected] >
2024-02-05 14:40:15 +01:00
Nikola Jokic and GitHub
921be5b85f
Fix is alpine check using shlex ( #130 )
2024-02-05 09:50:51 +01:00
Nikola Jokic and GitHub
0cce49705b
Try to get response body message and log entire error response in debug mode ( #123 )
2023-12-15 13:01:04 +01:00
Nikola Jokic and GitHub
c093f87779
Docker and K8s: Fix shell arguments when split by the runner ( #115 )
...
* Docker: Fix shell arguments when split by the runner
* Add shlex to k8s hook as well
2023-11-20 15:09:36 +01:00
Wout Van De Wiel and GitHub
90a6236466
Add option to use the kubernetes scheduler for workflow pods ( #111 )
...
* Add option to use kube scheduler
This should only be used when rwx volumes are supported or when using a single node cluster.
* Add option to set timeout for prepare job
If the kube scheduler is used to hold jobs until sufficient resources are available,
then prepare job needs to wait for a longer period until the workflow pod is running.
This timeout will mostly need an increase in cases where many jobs are triggered
which together exceed the resources available in the cluster.
The workflows can then be gracefully handled later when sufficient resources become available again.
* Skip name override warning when names match or job extension
* Add guard for positive timeouts with a warning
* Write out ReadWriteMany in full
2023-10-31 12:51:09 +01:00
496287d61d
Bump @babel/traverse from 7.18.2 to 7.23.2 in /packages/k8s ( #110 )
...
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse ) from 7.18.2 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse )
---
updated-dependencies:
- dependency-name: "@babel/traverse"
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 09:36:40 +02:00
Nikola Jokic and GitHub
4cdcf09c43
Implement yaml extensions overwriting the default pod/container spec ( #75 )
...
* Implement yaml extensions overwriting the default pod/container spec
* format files
* Extend specs for container job and include docker and k8s tests in k8s
* Create table tests for docker tests
* included warnings and extracted append logic as generic
* updated merge to allow for file read
* reverted back examples and k8s/tests
* reverted back docker tests
* Tests for extension prepare-job
* Fix lint and format and merge error
* Added basic test for container step
* revert hooklib since new definition for container options is received from a file
* revert docker options since create options are a string
* Fix revert
* Update package locks and deps
* included example of extension.yaml. Added side-car container that was missing
* Ignore spec modification for the service containers, change selector to
* fix lint error
* Add missing image override
* Add comment explaining merge object meta with job and pod
* fix test
2023-09-25 11:49:03 +02:00
Nikola Jokic and GitHub
5107bb1d41
Escape backtick in writeEntryPointScript ( #101 )
2023-08-28 10:27:20 +02:00
669ec6f706
Bump word-wrap from 1.2.3 to 1.2.4 in /packages/k8s ( #89 )
...
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap ) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases )
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4 )
---
updated-dependencies:
- dependency-name: word-wrap
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-25 13:26:57 +02:00
Nikola Jokic and GitHub
8b83223a2b
Add limitation and throw if an entrypoint is not specified for container step ( #77 )
2023-07-17 11:02:03 +02:00
Arthur Baars and GitHub
c37c5ca584
k8s: handle $ symbols in environment variable names and values ( #74 )
...
* Add test cases
* Handle $ symbols in environment variable names and values
2023-04-18 15:14:10 +02:00
6dbb0b61b7
Ensure response consist no matter having ports or not. ( #70 )
...
* Ensure responseconsist no matter having ports or not.
* Update packages/k8s/src/hooks/prepare-job.ts
Co-authored-by: Nikola Jokic <[email protected] >
---------
Co-authored-by: Nikola Jokic <[email protected] >
2023-03-20 10:11:19 +01:00
10c6c0aa70
Bump cacheable-request and @kubernetes/client-node in /packages/k8s ( #66 )
...
Removes [cacheable-request](https://github.com/jaredwray/cacheable-request ). It's no longer used after updating ancestor dependency [@kubernetes/client-node](https://github.com/kubernetes-client/javascript ). These dependencies need to be updated together.
Removes `cacheable-request`
Updates `@kubernetes/client-node` from 0.16.3 to 0.18.1
- [Release notes](https://github.com/kubernetes-client/javascript/releases )
- [Changelog](https://github.com/kubernetes-client/javascript/blob/master/CHANGELOG.md )
- [Commits](https://github.com/kubernetes-client/javascript/commits )
---
updated-dependencies:
- dependency-name: cacheable-request
dependency-type: indirect
- dependency-name: "@kubernetes/client-node"
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-02 11:28:06 +01:00
Nikola Jokic and GitHub
d735152125
Exit from run k8s not allowing promise rejection ( #65 )
...
* Exit from run k8s not allowing promise rejection
* Unused case removed k8s
2023-02-14 11:30:16 +01:00
ae31f04223
removed equal sign from env buffer, added defensive guard against the key ( #62 )
...
* removed equal sign from env buffer, added defensive guard against the key
* Update packages/k8s/src/k8s/utils.ts
Co-authored-by: John Sudol <[email protected] >
* Update packages/k8s/src/k8s/utils.ts
Co-authored-by: Ferenc Hammerl <[email protected] >
* fix format
---------
Co-authored-by: John Sudol <[email protected] >
Co-authored-by: Ferenc Hammerl <[email protected] >
2023-02-09 17:11:16 +01:00
7754cb80eb
Bump http-cache-semantics from 4.1.0 to 4.1.1 in /packages/k8s ( #63 )
...
Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics ) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/kornelski/http-cache-semantics/releases )
- [Commits](https://github.com/kornelski/http-cache-semantics/compare/v4.1.0...v4.1.1 )
---
updated-dependencies:
- dependency-name: http-cache-semantics
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-09 14:54:32 +01:00
Nikola Jokic and GitHub
ae432db512
docker and k8s: read from stdin inside try catch block ( #49 )
...
There might be situation where reading from standard input fails. In
that case, we should encapsulate that exception within the try catch
block to avoid unhandeled Promise rejection exception and provide more
information about the error
2023-01-23 12:46:47 +01:00
4448b61e00
Fix service port mappings when input is undefined, null, or empty ( #60 )
...
* fix: service without ports defined
* fix port mappings when ports are undefined,null or empty
* fix
Co-authored-by: Ronald Claveau <[email protected] >
2023-01-06 11:54:52 +01:00
5b597b0fe2
Bump json5 from 2.2.1 to 2.2.3 in /packages/k8s ( #57 )
...
Bumps [json5](https://github.com/json5/json5 ) from 2.2.1 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases )
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md )
- [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3 )
---
updated-dependencies:
- dependency-name: json5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 11:05:05 +01:00
73914b840c
fix: naming for services & service entrypoint ( #53 )
...
* rename to container
* fix container image name bug
* fix entrypoint bug
* bump patch version
* formatting
* fix versions in package-lock
* add test
* revert version bump
* added check + test for args as well
* formatting
* remove cscode launch.json
* expand example json
* wrong version, revert to correct one
* correct lock
* throw error on invalid image definition
* change falsy check
* Update packages/k8s/src/k8s/utils.ts
Co-authored-by: Ferenc Hammerl <[email protected] >
Co-authored-by: Ferenc Hammerl <[email protected] >
2023-01-06 10:22:41 +01:00