Skip to content

Releases: buildkite/go-pipeline

v0.13.2

23 Sep 23:22
v0.13.2
b2bf441
Compare
Choose a tag to compare

v0.13.2 (2024-09-24)

Full Changelog

Fixed

  • Bump github.com/buildkite/interpolate from 0.1.3 to 0.1.4 #50 (@dependabot[bot])
    • This fixes an issue with nested escaped interpolations.

v0.13.1

05 Sep 05:39
96fda20
Compare
Choose a tag to compare

v0.13.1 (2024-09-05)

Full Changelog

Fixed

Dependencies

  • Bump github.com/oleiade/reflections from 1.0.1 to 1.1.0 #46 (@dependabot[bot])

v0.13.0

02 Sep 00:44
09eb8d4
Compare
Choose a tag to compare

Added

  • Add support for crypto.Signer when signing and verifying signatures by @wolfeidau in #48

Full Changelog: v0.12.0...v0.13.0

v0.12.0

28 Aug 22:05
176ba77
Compare
Choose a tag to compare

Changed

  • Add a checksum of to the payload debugging to detect binary differences by @wolfeidau in #47

New Contributors

Full Changelog: v0.11.0...v0.12.0

v0.11.0

26 Aug 05:04
3d59172
Compare
Choose a tag to compare

Fixed

  • Canonicalise empty env/plugins/matrix to nil for sign/verify by @DrJosh9000 in #45

Internal

  • Bump github.com/lestrrat-go/jwx/v2 from 2.1.0 to 2.1.1 by @dependabot in #44
  • Bump github.com/buildkite/interpolate from 0.1.2 to 0.1.3 by @dependabot in #43

Full Changelog: v0.10.0...v0.11.0

v0.10.0

26 Jun 22:26
5e62e6c
Compare
Choose a tag to compare

v0.10.0 (2024-06-25)

Full Changelog

⚠️ This release has some breaking changes to the signature subpackage.

All the following functions now take as their first param a context.Context, as well as the following changes.

The signature of signature.Sign function has changed to no longer take env map[string]string but instead use signature.WithEnv(env) as an option.

-func Sign(key jwk.Key, env map[string]string, sf SignedFielder) (*pipeline.Signature, error)
+func Sign(_ context.Context, key jwk.Key, sf SignedFielder, opts ...Option) (*pipeline.Signature, error)

The signature of signature.Verify function has also changed to take signature.WithEnv(env) as an option instead of env map[string]string.

-func Verify(s *pipeline.Signature, keySet jwk.Set, env map[string]string, sf SignedFielder)
+func Verify(ctx context.Context, s *pipeline.Signature, keySet jwk.Set, sf SignedFielder, opts ...Option) error

The signature of signature.SignSteps function has also changed to take signature.WithEnv(env) as an option instead of env map[string]string.

-func SignSteps(s pipeline.Steps, key jwk.Key, env map[string]string, repoURL string)
+func SignSteps(ctx context.Context, s pipeline.Steps, key jwk.Key, repoURL string, opts ...Option) error

Added

The following were added to the signature subpackage.

func WithEnv(env map[string]string) Option
func WithLogger(logger Logger) Option
func WithDebugSigning(debugSigning bool) Option
  • WithLogger enables logging public key thumbprints when signing and verifying steps
  • WithDebugSigning will enable debugging for signing steps. When this is enabled, along with WithLogger, will log step payloads before they are signed to assist in debugging verification failures
    • This is intended for development purposes
    • During step upload using signing this will log step payloads to the jobs log which could leak secrets to those with access to your Buildkite build page ⚠️
    • During step verification at the start of all signed jobs this will log the step payloads to the agent log

Removed

-func SignPipeline(p *pipeline.Pipeline, key jwk.Key, repo string) error

Call SignSteps instead.

Changed

  • (Described above) Log public key fingerprint in debug, log step payload in signing-debug #39 (@patrobinson)
  • Bump github.com/lestrrat-go/jwx/v2 from 2.0.21 to 2.1.0 #40 (@dependabot[bot])
  • Bump github.com/buildkite/interpolate from 0.0.0-20200526001904-07f35b4ae251 to 0.1.2 #38 (@dependabot[bot])

v0.9.0

26 Apr 01:48
9839142
Compare
Choose a tag to compare

v0.9.0 (2024-04-26)

Full Changelog

⚠️ This release has some breaking changes.

the signature of the pipeline.(*Pipeline).Interpolate method has changed to require an extra argument:

func (p *Pipeline) Interpolate(interpolationEnv InterpolationEnv, preferRuntimeEnv bool) error

This allows us to re-introduce the behaviour of the runtime environment taking precedence if this flag is set to true.

Added

v0.8.0

23 Apr 06:33
c34b985
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.7.0...v0.8.0

v0.7.0

17 Apr 03:38
01954f4
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.6.0...v0.7.0

v0.6.0

09 Apr 00:25
1c8eae3
Compare
Choose a tag to compare

What's Changed

  • Update Go to 1.22 by @moskyb in #32
  • Add cache settings block to pipeline.CommandStep by @moskyb in #33

Full Changelog: v0.5.1...v0.6.0