Skip to content

shabados/actions

Repository files navigation

Shabad OS Actions

GitHub actions to facilitate Shabad OS release process guidelines.

Release Release Next

Actions

  • Setup Git Identity: sets up the Git user name and email address.
  • Semantic Version Bump: figures out and bumps version based on commit history, supporting a sensible prerelease scheme.
  • Generate Changelog: generates and commits the latest CHANGELOG.md based on conventional commits.
  • Integrate Commits: integrates commits made by CI into the main branch by pushing and building them to an integration branch and merging when the checks go green.
  • Publish Branch: releases the current working directory as a release branch.
  • Publish Docker: Builds and publishes the supplied context to DockerHub and GitHub packages.
  • Publish npm: Publishes the current working directory to npm and GitHub packages.
  • Publish Github: Creates a GitHub release, and uploads any supplied assets to the release.
  • Wait for Green: Waits until the status checks for a given ref have passed.

Usage

Actions are all stored in subfolders, and released through branches. You can pin down the version, if desired.

Version examples:

  • release/next - prereleases
  • release/v2.0.0-next.2 - exactly 2.0.0-next.2
  • release/latest - latest stable
  • release/v1 - all 1.x.x
  • release/v1.1 - all 1.1.x
  • release/v1.1.1 - exactly 1.1.1

An action can be referenced as per the example below:

# example-workflow.yml

name: Continuous Integration

on: [push]

jobs:
  bump-version:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: shabados/actions/bump-version@release/v1