Overview of Our Workflow

  • Updated on 16th Jan 2025

📚 Part 2 of 3 in Update and Release

  1. Update and Release
  2. Overview of Our Workflow
  3. Next post

Inputs to a weekly release

    ---

config:
  look: handDrawn
  theme: forest
---

flowchart LR
    C1@{ shape: sm-circ, label: "Start" }
    P10@{ shape: rect, label: "Development" }
    I10@{ shape: docs, label: "Development PRs" }
    P20@{ shape: rect, label: "Dependency 
Checks" } I20@{ shape: docs, label: "Dependency PRs" } P30@{ shape: rect, label: "CI Test
& Review " } I30@{ shape: doc, label: "Updated Repo" } P40@{ shape: rect, label: "Release" } I40@{ shape: docs, label: "Published Release" } C2@{ shape: framed-circle, label: "Stop" } C1 --> P10 --> I10 --> P30 --> I30 --> P40 --> I40 --> C2 C1 --> P20 --> I20 --> P30

The diagram describes the processes, outputs and inputs through the release process that contribute to building and, ultimately, releasing a new version of the software.

The development and dependency check processes create pull requests to facilitate the CI testing and review. Once passed, the changes are merged into the main branch.

CircleCI triggers the release process weekly on the main branch, updates the version numbers, and publishes the release.

Schedule of weekly workflow

    ---

config:
  look: handDrawn
  theme: forest
  displayMode: compact
---

gantt
    title Update and Release Cycle
    dateFormat YYYY-MM-DD
    tickInterval 1day
    todayMarker off
    axisFormat %d
section Dev
        Cycle starts :active,  milestone, m1, 2025-01-01, 2m
        Development         :active, dev, 2025-01-01, 5d
section Dep
        Dependency Updates  :active, dep, 2025-01-05, 1d
section Pub
        Release             :active, after dev and dep, 1d
        Risk                :                           1d
        Cycle Ends : active,  milestone, m2, 2025-01-08, 4m

The gantt chart shows the schedule of the release cycle. The development phase starts on day 1 on the cycle and and ends on day 5. The dependency updates are scheduled for day 5 and the release workflow runs on day 6.

The final day of the seven day cycle is for rest (or remediation is required).

For most of the libraries and tools under development day one starts at the beginning of the week on Monday. However, some weeks are shifted to account for dependencies, particularly the packaging of the docker container for CI which is released on Tuesdays to update with the tools as release in the previous week's work.


📝 Series Navigation