GitHub Actions Test

Teste de criação de workflow para renderizar e publicar relatório em Quarto Markdown
Data de Publicação

2 de maio de 2024

1 Exemplo de Actions com R

Para usar o Actions junto com Quarto e R é necessário utilizar o renv para que as dependências sejam instaladas pelo workflow.

library(ggplot2)

data <- AirPassengers

df <- data.frame(y = as.matrix(data), date = (time(data)))

ggplot(df, aes(date, y)) +
  geom_line() + 
  geom_point(size = 1) +
  geom_smooth()

2 Configuração do workflow YAML

# Nome do workflow
name: Render and Publish

# Evento que ativa o workflow (trigger)
# Neste caso, cada push para a main
on:
  push:
    branches:
      - main

# Permissões necessárias para manipular a branch gh-pages
permissions:
  contents: write
  pages: write

# Criação dos jobs
jobs:

  # Nome
  build-deploy:
  
    # OS que o runner vai operar, ubuntu é o mais comum
    runs-on: ubuntu-latest
    
    # Etapas do job
    steps:
    
      # Primeiramente, acessar o repositório
      - name: Checkout repo
        uses: actions/checkout@v4
      
      # Instalar o Quarto e o tinytex para output em PDF
      - name: Set up Quarto
        uses: quarto-dev/quarto-actions/setup@v2
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tinytex: true
      
      # Checar a versão do Quarto
      - run: |
          quarto --version
          
      # Instalar o R
      - name: Install R
        uses: r-lib/actions/setup-r@v2
        with:
          r-version: '4.3.1'
      
      # Instalar pacotes do R com base no renv
      - name: Install R packages
        uses: r-lib/actions/setup-renv@v2
        with:
          cache-version: 1
      
      # Publicar para a branch gh-pages   
      - name: Publish to GitHub Pages (and render) 
        uses: quarto-dev/quarto-actions/publish@v2
        with:
          target: gh-pages
          path: github-actions.qmd
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}