Skip to content

A collection of reusable GitHub Actions to automate the analyzer release process. This toolbox offers modular automations to reduce manual work for squads, handling tasks like changelog generation, version bumps, and release publishing. These actions help teams focus on code quality by simplifying workflows.

License

Notifications You must be signed in to change notification settings

SonarSource/release-github-actions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

release-github-actions

A centralized collection of reusable GitHub Actions designed to streamline and automate every stage of the analyzer release process. This repository serves as a versatile toolbox, offering modular automations to eliminate manual, repetitive steps and reduce friction across squads managing analyzer projects. Whether standardizing changelog generation, automating version bumps, handling release publishing, or coordinating cross-repository tasks, these actions help teams back away from cumbersome workflows and focus more on code quality. Pick and combine the automations best suited for your analyzer’s unique release requirements, and easily extend the toolbox to cover new scenarios as they arise.

Available Actions

Action Description
Check Releasability Status Checks the releasability status and extracts the version if successful
Create Integration Ticket Creates a Jira integration ticket with a custom summary and links it to another existing ticket
Create Jira Release Ticket Automates the creation of an "Ask for release" ticket in Jira
Create Jira Version Creates a new version in a Jira project, with the ability to automatically determine the next version number
Get Jira Release Notes Fetches Jira release notes and generates the release notes URL for a given project and version
Get Jira Version Extracts a Jira-compatible version number from a release version by formatting it appropriately for Jira
Get Release Version Extracts the release version from the repox status on a specified branch
Lock Branch Locks or unlocks a branch by modifying the lock_branch setting in branch protection rules
Notify Slack on Failure Sends a Slack notification when a job fails
Publish GitHub Release Publishes a GitHub Release with notes fetched from Jira or provided directly
Release Jira Version Releases a Jira version and creates the next one
Update Analyzer Updates an analyzer version in SonarQube or SonarCloud and creates a pull request
Update Release Ticket Status Updates the status of a Jira release ticket and can change its assignee
Update Rule Metadata Automates updating rule metadata across all supported languages using the rule-api tooling

Available Workflows

Workflow Description
Automated Release Workflow Orchestrates the end-to-end release across Jira and GitHub, with optional integration tickets and analyzer PRs

Claude Code Skills

This repository includes Claude Code skills for automating common tasks related to release workflows. Skills are instruction files (.claude/skills/<skill-name>/SKILL.md) that teach Claude Code how to perform specific tasks, using YAML frontmatter for metadata followed by detailed instructions.

Available Skills

Skill Description
automated-release-setup Set up automated release workflow for SonarSource analyzer projects

Usage

In this repository (automatic)

Skills in .claude/skills/ are automatically discovered by Claude Code when you work in this repository. Simply ask Claude Code to perform the task:

  • "Set up automated release workflow"
  • "Configure automated release for this project"
  • "Help me create the release automation workflows"

Or use the slash command: /automated-release-setup

In other repositories (manual installation)

To use these skills in other repositories, you can either download them or symlink them.

Option 1: Download and Install Manually

# Create the skills directory if it doesn't exist
mkdir -p .claude/skills/automated-release-setup

# Download the skill
curl -o .claude/skills/automated-release-setup/SKILL.md \
  https://raw.githubusercontent.com/SonarSource/release-github-actions/master/.claude/skills/automated-release-setup/SKILL.md

Option 2: Clone and Symlink

  1. Clone this repository (if you haven't already):

    git clone https://github.com/SonarSource/release-github-actions.git
  2. Create a symlink to the skill directory in your target repository:

    mkdir -p .claude/skills
    ln -s /path/to/release-github-actions/.claude/skills/automated-release-setup \
      .claude/skills/automated-release-setup

Updating Skills

# If installed via curl
curl -o .claude/skills/automated-release-setup/SKILL.md \
  https://raw.githubusercontent.com/SonarSource/release-github-actions/master/.claude/skills/automated-release-setup/SKILL.md

# If installed via symlink, just pull the latest changes
cd /path/to/release-github-actions
git pull

Creating New Skills

  1. Create a new directory under .claude/skills/ with your skill name
  2. Add a SKILL.md file with YAML frontmatter (name, description) followed by the skill instructions
  3. Update this README to include your skill in the "Available Skills" table
  4. Submit a pull request
---
name: my-skill-name
description: >
  Trigger description explaining when Claude Code should activate this skill.
  Include example phrases like "set up X", "configure Y", etc.
---

# Skill Title

Detailed instructions for Claude Code to follow...

Development

Update Action Versions Workflow

The repository includes an update-action-versions workflow that creates a pull request to update all internal action references to use a specific commit or the latest version from the master branch. This workflow scans all action.yml files in the repository and updates any references to SonarSource/release-github-actions actions to point to the specified reference, ensuring consistency across all actions when updates are made to shared components.

About

A collection of reusable GitHub Actions to automate the analyzer release process. This toolbox offers modular automations to reduce manual work for squads, handling tasks like changelog generation, version bumps, and release publishing. These actions help teams focus on code quality by simplifying workflows.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 13

Languages