GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — rail - Overview

@rail rail Follow
More
  • Overview
  • Repositories
  • Projects
  • Packages
  • Stars
@rail
rail
Follow
View rail's full-sized avatar

Rail Aliiev rail

Follow
60 followers · 1 following
  • @cockroachdb
  • ON, Canada
  • 12:00 (UTC -05:00)

Achievements

Achievement: YOLOAchievement: Pair Extraordinairex3Achievement: QuickdrawAchievement: Pull Sharkx4

Achievements

Achievement: YOLOAchievement: Pair Extraordinairex3Achievement: QuickdrawAchievement: Pull Sharkx4

Organizations

@cockroachdb @cockroachlabs
More
  • Overview
  • Repositories
  • Projects
  • Packages
  • Stars
rail/README.md

Release Schedule Planner

Plan release trains, share the dates, export to your calendar.

Visit: www.rail.sh

What it does

Pick a first GA date and a cadence, list the milestones that lead up to each release, and the planner lays out every release on a timeline and in a table.

  • Milestones are offsets from GA: "Branch cut −6 weeks", "RC1 −4 weeks", "First patch +2 weeks".
  • Release names come from a template. {YYYY}, {YY}, and {MM} come from the GA date, {N} is the nth release that year, and {SEQ} is a running number. Edit a name in the table to override it.
  • Presets cover an RC train, a calendar-versioned biannual release, and a simple monthly release.

Date rules

A date that lands on a weekend or inside a blackout (a holiday freeze, say) moves to the nearest earlier working day. Moved dates are marked ↶ with the original date and the reason. Dates are calendar dates, so your timezone never shifts them.

Sharing and exports

  • Copy link: the whole schedule lives in the URL, so a link reproduces it exactly. Nothing is stored on a server.
  • Download .ics: every milestone becomes an all-day calendar event. As long as the first GA date stays the same, re-importing an updated schedule updates the same events in calendars that support it.
  • Copy as Markdown: a table ready for a GitHub issue, a wiki page, or Slack.

Development

Plain HTML, CSS, and JavaScript modules. No dependencies, no build step.

  • planner.js: schedule math, validation, link encoding, .ics and Markdown output (no DOM)
  • app.js: the page
  • test/planner.test.js: tests for planner.js

Run the tests (Node 24+):

npm test

Preview locally. ES modules need HTTP, so opening index.html directly won't work:

python3 -m http.server 8000

Then open http://localhost:8000.


Made by @rail

Popular repositories Loading

  1. lvm-init lvm-init Public

    Python

  2. ec2-dns ec2-dns Public

    Python

  3. funsize_presentation funsize_presentation Public

    Forked from hakimel/reveal.js

    The HTML Presentation Framework

    JavaScript

  4. pulse-notify-js pulse-notify-js Public

    Simple release promotion notifier written in JS

    JavaScript

  5. slides-sf-2017 slides-sf-2017 Public

  6. nixos-configs-blog nixos-configs-blog Public

    Nix

Something went wrong, please refresh the page to try again.
If the problem persists, check the GitHub status page or contact support.

Uh oh!

There was an error while loading. Please reload this page.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.