Link da documentação do github actions: https://docs.github.com/pt/actions

Passo a passo sobre como configurar o github actions em um novo projeto.

  1. Criar uma pasta chamada .github na raiz do projeto caso ela não exista.
  2. Dentro da pasta .github criar uma pasta chamada workflows caso ela não exista.
  3. Dentro da pasta workflows criar um arquivo com a extensão ci-package.yml
name: Build and Deploy Package

on:
  workflow_dispatch:
  push:
    branches: ['name_branch']
		tags:
			- '*'

env:
  NODE_VERSION: 13

jobs:
  test-unit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Use Node.js ${{ env.NODE_VERSION }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ env.NODE_VERSION }}
      - run: npm install
      - run: npm run test:unit --if-present

  build:
    needs: [test-unit]
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Use Node.js ${{ env.NODE_VERSION }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ env.NODE_VERSION }}
      - run: npm ci
      - run: npm run lint --if-present
      - run: npm run build --if-present

  publish:
    name: "Publish to GitHub Packages"
    needs: [build]
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Upload
        uses: actions/setup-node@v1
        with:
          node-version: ${{ env.NODE_VERSION }}
          registry-url: <https://npm.pkg.github.com/>
          scope: "@octadesk-tech"
      - run: npm ci
      - run: npm publish
        env: 
          NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Versionamento

  1. versão Maior(MAJOR): quando fizer mudanças incompatíveis na API,
  2. versão Menor(MINOR): quando adicionar funcionalidades mantendo compatibilidade, e
  3. versão de Correção(PATCH): quando corrigir falhas mantendo compatibilidade.

Rótulos adicionais para pré-lançamento(pre-release) e metadados de construção(build) estão disponíveis como extensão ao formato MAJOR.MINOR.PATCH.

# yaml
tags:
	- '*'

#package.json
"version": "0.1.0"

#command
npm version major|minor|path

Nome do workflow

Esse é o nome que será exibido no GitHub para identificar o workflow.

name: GPR Publish

Definindo a condição para a execução do workflow

Essa configuração instrui o workflow a ser executado apenas quando houver um Pull Request ou um Push na branch master.

on:
  pull_request:
    branches: [$default-branch] # master or main
  push:
    branches:
      - master