GithubHelp home page GithubHelp logo

dry-rb / devtools Goto Github PK

View Code? Open in Web Editor NEW
9.0 5.0 7.0 352 KB

Shared tools, configuration and maintenance automation for dry-rb repos

Home Page: https://dry-rb.org

Ruby 57.78% HTML 23.49% Shell 18.73%
ruby dry-rb

devtools's Introduction

devtools

Common tools and configs used in dry-rb projects

Release workflow

The release workflow is triggered from ci builds that are triggered by tag creation. Before creating and pushing a new tag, remember to:

  • ensure that the version is updated in the version.rb file
  • ensure that the latest changelog entry corresponds to the current version
  • ensure that the latest changelog entry has the correct release date

!! IMPORTANT release workflow will only pass if the tag creator is a member of the core team on GitHub and the commit that created the tag is signed and verified by GitHub

Keeping CHANGELOG.md up to date

Use the following syntax in your commit messages to have CHANGELOG.md automatically updated in dry-rb repos:

Updating latest version that already exists in the CHANGELOG.md

I added a feature

[changelog]

added: "New feature was added (@gh-handle)"

Targetting a specific version in the CHANGELOG.md

I added a feature

[changelog]

version: 3.1.2
added: "New feature was added (@gh-handle)"

if the version doesn't exist, it will be added for you

Adding multiple entries

Bump to 3.1.2

[changelog]

version: 3.1.2
added: "New feature was added (@gh-handle)"
fixed: "Something was broken and it was fixed (@gh-handle)"
changed: "Something else was changed too (@gh-handle)"

Adding many items under the same entry

Bump to 3.1.2

[changelog]

version: 3.1.2
fixed:
- "this bug (@gh-handle)"
- "that bug (@gh-handle)"

Adding release date and summary

Bump to 3.1.2

[changelog]

version: 3.1.2
summary: "This release is great"

Adding unreleased version

To add or update unreleased version simply set version: unreleased ie:

Add a feature

[changelog]

version: unreleased
summary: "This release will be great"
added: a feature!

Cherry-pick doc patches

When a doc patch is sent the bot can cherry-pick it into version branches. Use the following syntax in merge commits:

docsite:release-1.2
docsite:release-1.3

The example above patches release-1.2 and release-1.3 branches. Don't forget the PR should be based on main.

devtools's People

Contributors

flash-gordon avatar jodosha avatar lime avatar olleolleolle avatar robhanlon22 avatar solnic avatar timriley avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

devtools's Issues

Add support for shared README.md templates

devtools can provide a shared README.md.erb template that is rendered within individual project repositories as README.md. This way we'll be able to easily keep all READMEs up-to-date and consistent across all the projects.

Here's a rough idea how this could work:

  1. dry-rb/devtools provides shared/templates/README.md.erb
  2. a ruby script is added to devtools, ie scripts/generate-readme which relies on a local data file data/meta.yml where required information is stored
  3. in sync_configs workflow (which is run within individual project repos), the scripts/generate-readme is executed that updates existing README.md file

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.