Vincent Van Ouytsel 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
2025-10-02 16:20:55 +02:00
2022-06-02 15:53:11 -04:00
2022-06-02 15:53:11 -04:00
2022-06-02 15:53:11 -04:00
2025-07-29 11:06:45 +02:00
2022-06-02 15:50:35 -04:00
2022-06-02 15:53:11 -04:00
2025-11-21 14:44:29 +01:00
2025-06-05 14:03:29 +02:00
2022-06-02 15:53:11 -04:00
2022-06-02 15:53:11 -04:00

Runner Container Hooks

The Runner Container Hooks repo provides a set of packages that implement the container hooks feature in the actions/runner. These can be used as is, or you can use them as a guide to implement your own hooks.

More information on how to implement your own hooks can be found in the adr. The examples folder provides example inputs for each hook.

Note

Thank you for your interest in this GitHub action, however, right now we are not taking contributions.

We continue to focus our resources on strategic areas that help our customers be successful while making developers' lives easier. While GitHub Actions remains a key part of this vision, we are allocating resources towards other areas of Actions and are not taking contributions to this repository at this time. The GitHub public roadmap is the best place to follow along for any updates on features were working on and what stage theyre in.

We are taking the following steps to better direct requests related to GitHub Actions, including:

  1. We will be directing questions and support requests to our Community Discussions area

  2. High Priority bugs can be reported through Community Discussions or you can report these to our support team https://support.github.com/contact/bug-report.

  3. Security Issues should be handled as per our security.md

We will still provide security updates for this project and fix major breaking changes during this time.

You are welcome to still raise bugs in this repo.

Background

Three projects are included in the packages folder

  • k8s: A kubernetes hook implementation that spins up pods dynamically to run a job. More details can be found in the readme
  • docker: A hook implementation of the runner's docker implementation. More details can be found in the readme
  • hooklib: a shared library which contains typescript definitions and utilities that the other projects consume

License

This project is licensed under the terms of the MIT open source license. Please refer to MIT for the full terms.

Maintainers

See the Codeowners

Support

Find a bug? Please file an issue in this repository using the issue templates.

Code of Conduct

See our Code of Conduct

Description
Runner Container Hooks for GitHub Actions
Readme MIT 5.4 MiB
Languages
TypeScript 96%
JavaScript 4%