An open API service indexing awesome lists of open source software.

https://github.com/michael-rubel/artisan-release-command

An opinionated release process with Laravel Artisan Console.
https://github.com/michael-rubel/artisan-release-command

artisan artisan-command laravel looking-for-contributors php

Last synced: 7 months ago
JSON representation

An opinionated release process with Laravel Artisan Console.

Awesome Lists containing this project

README

          

# Artisan Release Command
[![tests](https://github.com/michael-rubel/artisan-release-command/actions/workflows/tests.yml/badge.svg)](https://github.com/michael-rubel/artisan-release-command/actions/workflows/tests.yml)
[![infection](https://github.com/michael-rubel/artisan-release-command/actions/workflows/infection.yml/badge.svg)](https://github.com/michael-rubel/artisan-release-command/actions/workflows/infection.yml)
[![backward-compat](https://github.com/michael-rubel/artisan-release-command/actions/workflows/backward-compat.yml/badge.svg)](https://github.com/michael-rubel/artisan-release-command/actions/workflows/backward-compat.yml)
[![phpstan](https://github.com/michael-rubel/artisan-release-command/actions/workflows/phpstan.yml/badge.svg)](https://github.com/michael-rubel/artisan-release-command/actions/workflows/phpstan.yml)

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](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)

## Installation
Install the package using composer:
```bash
composer require michael-rubel/artisan-release-command --dev
```

Publish the config if you need to customize the command:
```bash
php artisan vendor:publish --tag="artisan-release-command-config"
```

## Usage
Setup the GitHub Actions workflow trigger with the following parameters:

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

Or alternatively:
```yaml
on:
release:
types:
- created
```

Create a versioning file, for example:
```php