michael-rubel/artisan-release-command

Artisan command to create a GitHub release of your code.
1,240 15
Install
composer require michael-rubel/artisan-release-command
Latest Version:2.0.2
PHP:^8.1
Laravel:10 · 11
License:MIT
Last Updated:Nov 5, 2025
Links: GitHub  ·  Packagist
Maintainer: michael-rubel

Artisan Release Command

tests infection backward-compat phpstan

Artisan command to create a GitHub release of your code.

Prerequisites

  • GitHub Actions
  • GitHub CLI
  • Access to a version file (Linux permissions).

The package requires PHP 8.1 or higher and Laravel 10.8 or higher.

#StandWithUkraine

SWUbanner

Installation

Install the package using composer:

composer require michael-rubel/artisan-release-command --dev

Publish the config if you need to customize the command:

php artisan vendor:publish --tag="artisan-release-command-config"

Usage

Setup the GitHub Actions workflow trigger with the following parameters:

on:
  push:
    tags:
      - '[0-9]+.[0-9]+.[0-9]+'

Or alternatively:

on:
  release:
    types:
      - created

Create a versioning file, for example:

<?php

namespace App;

abstract class Service
{
    /**
     * App version.
     */
    final public const VERSION = '0.0.1';
}

Note: the version file should always contain a VERSION constant for the command to work. You can configure the constant name in the configuration file if you want to name it for example "APP_VERSION"

The command will bump version based on the SemVer 2.0 type you'll provide.

php artisan release {type}

It will pick the latest release you have in the versioning file, bump it a step further and push the change to the remote repository using your current Git setup. Make sure you're authorized to perform basic operations on your repository.

For example:

php artisan release major

Available options: major, minor, patch

Default value: patch

After the version is pushed, it will create a release using GitHub CLI and provide auto-generated notes.

Beta release

Creates the pre-release based on the given version type:

php artisan release major --beta

If you had 0.0.1 in your version file, after this command it will be 1.0.0-beta, and the release will be marked as "pre-release" on GitHub (deployment won't be triggered if you use [0-9]+.[0-9]+.[0-9]+ pattern in GitHub Actions).

Testing

composer test

License

The MIT License (MIT). Please see License File for more information.

Related Packages

tomshaw/laravel-calendar-table

A Laravel calendar table database migration and console command.

62,686 8
robinfranssen/analyzelocale

This scans your laravel project for used locale keys that aren't translated by y...

21,209 25
nicksynev/make-observer-command

Artisan command for creating Observer classes in Laravel

15,791 9
vcoder7/ltools

Laravel helper tools

2,748 1
larrymckuydee/artisan-command-extra

Provide more commands for more wholesome artisan experience

1,683 0

Version History

Version Released PHP Laravel License
2.0.2 ^8.1 ^10.8|^11.0 MIT
2.0.1 ^8.1 ^10.8|^11.0 MIT
2.0.0 ^8.1 ^10.8 MIT
1.1.0 ^8.1 ^10.8 MIT
1.0.0 ^8.1 ^10.8 MIT