Skip to content

Create release

Create release #39

Workflow file for this run

name: Create release
on:
workflow_dispatch:
inputs:
version:
description: 'Type of version to release'
type: choice
required: true
options:
- patch
- minor
- major
pre_release:
description: 'Is this a pre-release?'
type: boolean
required: true
default: false
concurrency: release-${{ inputs.version }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
create-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: git config
run: |
git config user.name "Release Bot"
git config user.email "no-reply@tiagoboeing.com"
- name: Extract branch name
run: echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV
- uses: actions/setup-node@v3
with:
node-version: 18
- run: npm ci
- name: Generate release
if: ${{ inputs.pre_release == false }}
run: npm run release -- --ci ${{ inputs.version }}
- name: Generate pre-release
if: ${{ inputs.pre_release == true }}
run: npm run release -- --ci pre${{ inputs.version }}
- name: Get generated version
id: get_version
uses: notiz-dev/github-action-json-property@release
with:
path: 'package.json'
prop_path: 'version'
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push Docker images
uses: docker/build-push-action@v3.2.0
with:
push: true
tags: tiagoboeing/bull-board:${{ steps.get_version.outputs.prop }},tiagoboeing/bull-board:latest
target: production