Lambdacd Versions Save

a library to define a continuous delivery pipeline in code

0.5.6

8 years ago
  • Improvements:
    • Added lambdacd.steps.support/capture-output to simplify working with stdout in build-steps (#60)

    • Added lambdacd.steps.support/chaining, a more flexible and powerful variant of the existing chain macro. (#39) It supports injecting args and ctx at random places and, together with capture-output, also allows for easy debugging:

      (chaining {} {}
        (some-step injected-args injected-ctx)
        ; prints the foo value that's returned by some-step and is injected into some-other-step
        (print "foo-value:" (:foo injected-args)) 
        (some-other-step injected-args injected-ctx))
      

      This change also DEPRECATES lambdacd.steps.support/chain which will be removed in subsequent releases.

  • Bug fixes:
    • :global values can now be overwritten by later stages in the pipeline (#61)

0.5.5

8 years ago
  • Improvements:
    • UI: redesigned build history:
      • added information on when the build was triggered (#52)
      • added information when a build was retriggered
readme-screenshot

0.5.4

8 years ago
  • Improvements:
    • UI: Display Pipeline-Name in title tag of UI if configured.
    • UI: Prettier favicon (thanks @alphaone for this)
    • UI: Jump to most recent build if none given
  • Bug fixes:
    • Fix bug that led to wrong first-updated-at timestamps when retriggering children of container-steps (#56, flosell/lambdacd-cctray#3)
    • UI: fix bug that led to console output being refreshed all the time, making selecting text hard (#53)
    • UI: fix bug that broke UI in Firefox 41 (#57)
  • Breaking Changes:
    • LambdaCD now requires Clojure 1.7

0.5.3

8 years ago
  • Improvements:
    • Adding with-git-branch that always checks out the latest commit on a particular branch (as opposed to with-git which checks out a revision given in args or the master branch in case nothing is given) (#46) (thanks @exload for this)
    • UI: Further improvements to scrolling behavior with long pipelines
  • Bug fixes:
    • Fix a bug that lead to the fact that container steps that were the only children of another container step would not be shown in the UI (#47)

0.5.2

8 years ago
  • Improvements:
    • UI: display the name of the pipeline if config contains a value for :name
    • UI: make sure build history doesn't shrink when pipeline content is very long
    • UI: make sure long pipeline output doesn't spill over the visible width
    • UI: remove alert after clicking the manual trigger

0.5.1

8 years ago
  • Improvements:
    • Made :display-type :container the default for container steps, no longer throwing incomprehensible exceptions when display-type declarations are forgotten (#43)

    • Now supporting steps with parameters in the pipeline:

      (defn mk-pipeline-def [{repo-uri :repo-uri test-command :test-command}]
        `(
           wait-for-manual-trigger
           (with-repo ~repo-uri
                      (run-tests ~test-command)
                      publish)))
      
    • Polished the UI

0.2.0

8 years ago
  • Recording start and update timestamps for every build step
  • Cleanup old endpoints: /api/pipeline and /api/pipeline-state
  • Improve retriggering: Create a new pipeline-run instead of overwriting existing builds
  • Make bash-step killable
  • Breaking Changes:
    • removed core/mk-pipeline as a method to initialize the pipeline. Replaced with a more flexible core/assemble-pipeline and a few single functions that take over things like running the pipeline and providing ring-handlers to access the pipeline. For details, see examples.

0.5.0

8 years ago
  • Improvements:
    • UI: add support for :details field in step-results to display details about a build step result and link to more detailed information (e.g. test reports) (#37)
    • UI: packaged icon font instead of relying on external CDN
    • UI: added vendor prefixes in CSS to improve browser support (esp. Firefox and Safari)
    • Extracted common functions from internal.default-pipeline-state so they can be reused in other persistence components (#38)
    • Generalized pipeline-state-updater to be started by assemble-pipeline and pushes updates to any pipeline-state component that is configured (#38)
    • support alternative pipeline-state component in assemble-pipeline (#40)
    • fixed bug where either didn't kill remaining steps after finishing
    • REST api endpoint /api/builds/<buildnumber>/ now returns status 404 in case the build does not exist instead of returning a half empty data-structure (#42)
  • API changes:
    • Remove deprecated access to the internal pipeline-state through :state in the result of assemble-pipeline
    • Remove deprecated :step-results-channel
    • pipeline-state-updater now started by assemble-pipeline (see above), pipeline-state component should no longer start their own update mechanism (#38)

0.4.3

8 years ago

Housekeeping release: Contains mostly cleanup under the hood and changes to APIs for advanced users. If you are using custom control-flow steps, runners, persistence mechanisms or other advanced features, make sure you look through the changes and upgrade as future releases will remove deprecated functionality.

  • Improvements:
    • Now providing events :step-result-updated and :step-finished on event-bus for use by other components like runners and persistence components
    • Clarified interface for core/execute-step
  • API changes:
    • The :step-results-channel is now deprecated, unsupported and will be removed in subsequent releases. Use the new :step-result-updated event and filter on :step-id to receive updates from child-steps while they run.
    • (ui-server/ui-for pipeline-def pipeline-state ctx) is now deprecated and will be removed in subsequent releases. Use (ui-server/ui-for pipeline) instead.
    • Direct access to the pipeline-state atom, e.g. through :state in the result of assemble-pipeline is now deprecated and will be removed in subsequent releases. Use the event-bus or access the state through the PipelineStateComponent protocol instead.
    • Removed default-pipeline-state/notify-when-no-first-step-is-active. Use the new events (see above) to be notified about changes to the state of the pipeline

0.4.2

8 years ago
  • Improvements:
    • Increased time between git-polls in git/wait-for-git and git/wait-for-details to 10 seconds and made that value configurable with an optional parameter :ms-between-polls, e.g.

      (git/wait-with-details ctx some-repo-uri "master" :ms-between-polls 60000)
      
    • Added a feature to kill running steps on user request (#31)