Voltar ao trabalho selecionado

DISSERTAÇÃO DE MESTRADO · 2025

Immersive CI/CD

Uma fábrica VR para explorar históricos de execução do GitHub Actions.

Cada workflow torna-se um piso, cada execução um bloco numa linha temporal e cada job um bloco menor contido na execução.

Fábrica virtual com vários pisos, workflows, execuções, jobs e portais temporais
Vista completa da fábrica com pisos, execuções, jobs, marcadores temporais e portais de compressão de tempo.
CONTEXTO
Dissertação individual · FEUP
FUNÇÃO
Design · engenharia · avaliação
RESULTADO
17/20 · 20 participantes
STACK
Unity · C# · OpenXR · API GitHub

O problema

O GitHub Actions é eficaz para inspecionar uma execução, mas torna difícil ver tempo, sobreposição, hierarquia e falhas em vários workflows. A dissertação explorou se uma representação espacial poderia apoiar essa perspetiva global.

O que esteve a meu cargo

  • Integrei a API REST do GitHub Actions e snapshots JSON locais através de uma abstração comum.
  • Modelei workflows, execuções e jobs e gerei proceduralmente a fábrica a partir da hierarquia e dos timestamps.
  • Criei navegação VR, painéis de informação, seleção de pisos, lupa e escala do mundo.
  • Adicionei estados visuais e áudio espacial suplementar para falhas.
  • Desenhei, realizei e analisei um estudo contrabalançado com 20 participantes.

Destaques de engenharia

01

Tempo no espaço 3D

Mapeei uma origem temporal comum ao eixo Z e a duração ao comprimento dos blocos, alinhando todos os pisos.

02

Pistas concorrentes

Usei atribuição greedy first-fit para mostrar intervalos sobrepostos lado a lado e reutilizar espaço nos sequenciais.

03

Tempo inativo comprimido

Detetei períodos sem atividade e substituí grandes distâncias por portais identificados.

Como funciona o modelo visual

Altura
Um piso separado por workflow
Profundidade
Tempo, com atividade antiga mais distante
Largura
Pistas paralelas para intervalos sobrepostos
Contenção
Hierarquia workflow → execução → job

Dos dados à cena interativa

Cada workflow torna-se um piso, cada execução um bloco numa linha temporal e cada job um bloco menor contido na execução.

  1. 01API REST GitHub Actions ou JSON local
  2. 02Abstração de fornecedores
  3. 03Modelo de workflows, execuções e jobs
  4. 04Cena Unity procedural
  5. 05Interação XR e áudio espacial

Equilibrar visão global e detalhe

A fábrica torna padrões temporais e estados visíveis entre workflows, mas aumenta o custo de consultar jobs individuais. Navegação direta, painéis, lupa e escala do mundo ajudam, embora o estudo tenha mostrado que a interface convencional continuou mais rápida para detalhe.

Lupa VR a ampliar a etiqueta de um piso de workflow
A lupa torna legíveis etiquetas distantes sem perder o contexto envolvente.
Painel VR com informação de uma execução falhada
Ao apontar para uma execução, abre-se um painel com estado, tempos, tentativa e resumo dos jobs.
Paleta de estados em condições típicas e simuladas de visão da cor
A paleta de estados sob simulações comuns de visão da cor.

Pistas visuais de estado

Os estados de sucesso, em execução e falha usam uma hierarquia azul, amarela e vermelha. Analisei a paleta através de simulações comuns de visão da cor, mas não a validei com participantes com deficiência de visão da cor.

Avaliação

Vinte participantes, sobretudo estudantes e graduados de engenharia informática da FEUP, utilizaram ambas as interfaces. Três tarefas compararam tempo e sucesso; uma quarta isolou o áudio espacial.

Participante do estudo com headset e comandos VR enquanto o protótipo aparece num portátil
Participante a utilizar o protótipo durante o estudo comparativo na FEUP.
Tarefa / medidaGitHubVR
Navegação temporal84,82 s18,22 s
Identificação de execução falhada119,58 s13,17 s
Identificação de job falhado8,04 s16,16 s
Usabilidade média56,3878,0

O que aprendi

  • A visão espacial e a consulta convencional resolvem partes diferentes do problema.
  • Concorrência inferida pelo tempo não equivale a dependências declaradas.
  • O áudio funcionou apenas como pista suplementar: 13 de 20 participantes concluíram a tarefa só com som.
  • A amostra académica, o dataset fixo e as tarefas curtas limitam a generalização.

O que mostrou a avaliação

Neste estudo com 20 participantes, a VR foi mais rápida na navegação temporal e identificação de falhas ao nível da execução; o GitHub Actions foi mais rápido na consulta detalhada de jobs. O resultado aponta para forças complementares. A dissertação recebeu 17/20.

UnityC#OpenXRXR Interaction ToolkitUniversal Render PipelineAPI REST GitHub ActionsUnityWebRequestJSON local
Voltar ao trabalho selecionado