Skip to main content

Screwdriver Release: July 2024

By August 5, 2024Blog, Project

Contributed by Tiffany Kyi, Software Engineer, Yahoo | originally posted on screwdriver.cd

It’s summer! The Screwdriver team is pleased to announce our newest release which brings in new features and bug fixes across various components.

New Features

image
  • API
  • Skip execution of virtual jobs – A job can be marked as virtual by adding the annotation screwdriver.cd/virtualJob: true. These jobs will not be executed while processing the workflow for an event, but will proceed with SUCCESS status. These jobs will skip queueing and execution and builds of its downstream jobs will be immediately created to continue the processing of the workflow.
  • Get repository data from scmRepo without GitHub access – Before this change, extra calls were made to GitHub to fetch SCM repository information. After this change, the API now will pass scmRepo info directly in order to avoid extra GitHub calls. This has been implemented for webhooks only so far.
  • Pipeline template enhancements: Can customize image, settings, environment, and requires for jobs that already exist in pipeline template, Add new jobs that are not part of pipeline template in user yaml, Flatten shared steps to jobs in pipeline template, Pipeline template validator shows extended configs for job template, Pipeline template validator shows workflow graph
  • Store
  • Replace jwt expiration with a config and environment variable – The jwt expiration is currently 13h and is written directly in the source code. This makes it difficult for SD administrators to change to arbitrary values to suit their use cases. Now Screwdriver cluster admins can set the JWT expiration length using JWT_MAX_AGE.
  • Add handling for the Expect header at onPreAuth – To reduce unnecessary retries when uploading large files, Screwdriver will use the Expect: 100-continue header. The content length can be checked before the body is uploaded. Thus, the HTTP client (store-cli) can receive a 413 error earlier without unnecessary retries.

Bug Fixes

Internals

Compatibility List

In order to have these improvements, you will need these minimum versions:

Contributors

Thanks to the following contributors for making this feature possible:

Questions and Suggestions

We’d love to hear from you. If you have any questions, please feel free to reach out here. You can also visit us on Github and Slack.