halfpipe

package module
v0.0.0-...-98afe0f Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2026 License: BSD-3-Clause Imports: 5 Imported by: 0

README

Hello!

This is the friendly Halfpipe CLI. Try it out :)

Friendly Halfpipe CLI huh?

Yeah, it takes a small YAML schema and renders a complete Concourse pipeline for you

How does it work? This README is kinda slim...

All documentation and further information can be found here

Ah! That's cool, can I use it in my company?

In theory yes, but there is some Springer Nature specific stuff in here. With that said nothing is stopping us from extracting those bits, submit a issue! :)

How do I test and build?

Halfpipe is built with Go and uses Make for running tests, compiling etc.

make

CI

The main pipeline is in Concourse

It runs the build script on every commit to main.

We also use GitHub Actions for dependabot and CodeQL scanning

Updating Dependencies

go

dependabot will raise PRs. Alternatively, to manually update all deps:

make update-deps
GitHub actions

For third party actions we use in halfpipe rendered workflows - dependabot will raise PRs but these are just informational, we have to manually update the halfpipe actions renderer.

make update-actions

Releasing

Releasing is triggered by manually bumping the version (major, minor or patch) in Concourse. Binaries are built for different platforms and published to artifactory. The halfpipe cli checks artifactory for a newer release and updates itself. A GitHub release is also created.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Controller

type Controller interface {
	Process(man manifest.Manifest) (Response, error)
	DefaultAndMap(man manifest.Manifest) (updated manifest.Manifest, err error)
}

func NewController

func NewController(defaulter defaults.Defaults, mapper mapper.Mapper, linters []linters.Linter, renderer Renderer) Controller

type Renderer

type Renderer interface {
	Render(manifest manifest.Manifest) (string, error)
}

type Response

type Response struct {
	ConfigYaml  string
	Project     project.Data
	LintResults linters.LintResults
	Platform    manifest.Platform
	Manifest    manifest.Manifest
}

func (Response) String

func (r Response) String() string

Jump to

Keyboard shortcuts

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