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.
.github
na raiz do projeto caso ela não exista..github
criar uma pasta chamada workflows
caso ela não exista.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
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
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