Skip to content

Latest commit

 

History

History
35 lines (30 loc) · 4.52 KB

CHANGELOG.md

File metadata and controls

35 lines (30 loc) · 4.52 KB

CircleCI Runner Init Changelog

This document serves to keep track of all changes made to the Runner init images and agents. Please follow the guidelines below while adding an entry:

  • Each code change that is not related to tests or CI/CD should have its own entry under the Edge section.
  • Every entry should include the pull request number associated with the change.
  • Internal changes with no visible or functional impact on users should be marked as 'Internal'.

By following these guidelines, we can easily determine which changes should be included in the public changelog located at https://circleci.com/changelog/runner/. Thank you for your contribution!

Edge

  • #54 [INTERNAL] Forward signals from the task orchestrator (PID 1) to the custom command.
  • #48 [INTERNAL] Supplement task agent errors with stderr and an action to check logs.
  • #43 [INTERNAL] Don't exit with an error if the orchestrator has been interrupted.
  • #42 [INTERNAL] Correctly configure user's home directory when switching users to execute task-agent.
  • #39 [INTERNAL] Fix init command matching on startup
  • #37 [INTERNAL] Refactored command execution structure within the orchestrator and ensured cleanup of the child process group spawned by the task agent.
  • #36 [INTERNAL] Integrate the runner API client in the task orchestrator. This enables retrying or reporting infrastructure failures as appropriate.
  • #33 [INTERNAL] Start signing the init images and manifests using Cosign.
  • #32 [INTERNAL] Implement an HTTP client for the runner API to allow the orchestrator to retry or fail tasks directly in the future.
  • #31 [INTERNAL] Wait on the task context finishing to stop the process reaper since the parent context can get cancelled first.
  • #30 [INTERNAL] Add init-like behaviour (reaping child subprocesses to prevent them from becoming zombie processes) to the task orchestrator.
  • #28 [INTERNAL] Pass orchestrator configuration through an environment variable from a Kubernetes Secret. This variable is stripped from the environment that is passed to the task agent command to prevent token leakage in the task environment.
  • #27 [INTERNAL] Handle shutdown of a task with a termination grace period.
  • #25 [INTERNAL] Implement the ability to execute a task and a custom entrypoint.
  • #24 [INTERNAL] Add checksum validation of the task token to help detect transmission errors.
  • #18 [INTERNAL] Set up the initial base for orchestrator's run-task command. This includes adding a health check server and the configuration required to execute task agent.
  • #17 [INTERNAL] Build server images.
  • #16 [INTERNAL] Add an acceptance test framework and cases for the init command. In addition, some changes were made to the CLI configuration to account for limitations on positional arguments of the ex test runner.
  • #14 [INTERNAL] Implement the init script as a mode of the orchestrator. This allows for the use of scratch for a minimal base image.
  • #13 [INTERNAL] Use GoReleaser for building and pushing the images and manifests.
  • #12 [INTERNAL] Use GoReleaser for building the binaries.
  • #11 [INTERNAL] Download task agent binaries directly via the Dockerfile.
  • #10 [INTERNAL] Set up linting tools, initiated a changelog, and performed other configurations in preparation for the orchestration agent.