kimseungbin / tag-and-release

A GitHub repository demonstrating automated releases using semantic versioning and a custom JavaScript GitHub Action. This project automates the tagging and release process, ensuring consistent version control and streamlined workflows.
BSD Zero Clause License
0 stars 0 forks source link

Tag and Release

This repository demonstrates how to automate the release process using semantic versioning and GitHub Actions. It provides a simple and effective way to manage versioned releases, ensuring consistent version control and streamlined workflows. By leveraging a custom JavaScript GitHub Action, this project helps you automate the creation of GitHub Releases based on tagged versions.

Features

Label Checker

This application will manage semantic versioning labels (major, minor, and patch) for issues and pull requests. These labels are essential for determining version bumps and maintaining consistent release workflow.

Planned features include:

Default Label Configuration

The following labels are automatically managed:

Label Description Color
major Breaking Changes #d73a4a
minor New Features #2ea44f
patch Bug fixes and patches #0969da

Usage

Note: Automatic label checking is currently under development. Please refer to issue #7 for implementation status and planned features. The label checker runs automatically when tag-and-release action is run.

Tools used

Vite

Vitest

Used Vitest instead of Jest for out-of-box TypeScript support. Jest alone can't handle dependencies like octokit and even with ts-jest, it required additional configurations. Whereas Vitest can run tests without any specific configurations.

Prerequisites

Installation

Usage

Setting Up the Repository

Tagging a Release

Workflow Overview

Semantic Versioning Guide

Contributing

License