step-runner

command module
v0.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 9, 2025 License: MIT Imports: 7 Imported by: 0

README

Step Runner

Step Runner is an RFC implementation for GitLab Steps, a CI/CD feature to define and use reusable components within a single job execution context. See HOWTO.md for usage.

Project status

Step Runner is currently an experimental feature. It can be tested in GitLab CI/CD jobs but should not be used for production workloads yet.

Contributing

Contributions are welcome, see CONTRIBUTING.md for more details.

Project License

You can view this projects license in LICENSE.

Release

During the experimental phase all changes to main are automatically built as a Docker image and tagged in the container repository as v0. So any workflows referencing the image always use the latest version of the code, and behavior could change at any time. See HOWTO.md for an example of how to test the Step Runner in a job by using the container image.

Binary Downloads

Pre-compiled binaries for multiple platforms are available for download from the releases page.

For GitLab Runner injection (recommended):

  • GitLab Runner will use the Docker images listed in each release for automatic platform selection
  • Requires FF_USE_NATIVE_STEPS and for the executor to support it (currently only docker and docker-autoscaler)

For manual installation:

  • Download the appropriate binary for your platform from the "Binary Downloads" section of each release
  • Windows binaries include the .exe extension
  • All other platforms use standard executable naming

Supported platforms include Windows, Linux, macOS, and FreeBSD across multiple architectures (amd64, arm64, 386, arm, s390x, ppc64le).

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
ci
run
dist
integration_test
steps/copy_file command
steps/echo command
steps/exit command
steps/greeting command
steps/sleep command
pkg
api
api/client/basic
package basic implements a low-level client for the step-runner gRPC service with a (more or less) 1:1 mapping to the raw gRPC API.
package basic implements a low-level client for the step-runner gRPC service with a (more or less) 1:1 mapping to the raw gRPC API.
api/client/extended
package extended implements a well-behaved, higher-level client for the step-runner gRPC service.
package extended implements a well-behaved, higher-level client for the step-runner gRPC service.
api/internal/jobs
package jobs implements
package jobs implements
api/internal/streamer/file
package file implements the Streamer interface backed by a file buffer.
package file implements the Streamer interface backed by a file buffer.
api/internal/variables
package variables implements a type and functions to handle CI job variables as described in https://docs.gitlab.com/ee/ci/variables.
package variables implements a type and functions to handle CI job variables as described in https://docs.gitlab.com/ee/ci/variables.
api/service
package service implements the gRPC API declared in ../../../proto/step.proto
package service implements the gRPC API declared in ../../../proto/step.proto
di
internal/syncmap
syncmap implements a simple generic, synchronized map.
syncmap implements a simple generic, synchronized map.
testutil/oci module
schema
v1

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL