screwdriver-cd/screwdriver

An open source build platform designed for continuous delivery.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 9 minutes ago
Added to GitGenius on May 28th, 2022
Created on May 23rd, 2016
Open Issues & Pull Requests: 55 (+0)
Number of forks: 174
Total Stargazers: 1,045 (+0)
Total Subscribers: 60 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1583.5 days
Mean response time: 1440.5 days
90th percentile: 2654.5 days
Tracked items: 734

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 94% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "api" is answered fastest, typically in under an hour, while "need more info" waits about 75 months. Only 2% of issues opened in the past year have been closed. Three people close 97% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 47
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 316 days
Stale 30+ days: 45
Stale 90+ days: 44

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • feature (350)
  • bug (286)
  • ui (261)
  • user experience (87)
  • workflow (64)
  • help wanted (50)
  • need more info (44)
  • good first issue (38)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Screwdriver is an open source build platform written in JavaScript designed for continuous delivery and continuous integration. The project originated as a hack for simplified Jenkins interfacing at Yahoo in 2012, but was rebuilt from scratch in 2016 as an open source project when Jenkins proved unstable at scale. The platform is executor and SCM-agnostic, allowing users to choose plugins that suit their needs or build custom ones.

The platform supports three datastore options through Sequelize: Postgres, MySQL, and SQLite. For execution environments, users can choose between Kubernetes, Docker, or Nomad. Source control management integrations are available for GitHub, GitLab, and Bitbucket, providing flexibility in how teams manage their code repositories.

Installation options range from building from source to using prebuilt Docker images. The project provides an in-a-box script that brings up an entire Screwdriver instance locally including the UI, API, and log store. For production deployments, a Helm chart is available that bootstraps the complete Screwdriver ecosystem along with an nginx ingress controller. The platform requires Node v12.0.0 or higher and either Kubernetes or Docker as prerequisites.

Configuration is handled through a combination of default settings defined in config files, with the ability to override defaults using local.yaml files or environment variables. The project includes comprehensive testing infrastructure with unit tests and functional tests, though developers may encounter memory issues when running the full test suite and can adjust their environment accordingly. Functional testing leverages repositories forked from the screwdriver-cd-test organization.

The codebase is licensed under the BSD 3-Clause license and maintains CII Best Practices certification.