Ficha 02 · Workflow profissional, GitHub avançado
- Workflow
- Convenções
- Actions
- Segurança
Parte I · Convenções
Exercício 1 · Conventional commits (10 pts)
Reescreve estas mensagens de commit seguindo Conventional Commits, em português:
a) "corrigi o erro no login" b) "adicionei novo método de pagamento" c) "atualizei o readme" d) "refiz o modelo de utilizador" e) "corrigi gralhas"
Exercício 2 · Branch naming (10 pts)
Sugere nomes apropriados para branches em cada cenário:
a) Adicionar página de perfil de utilizador. b) Corrigir bug onde botão de submit não funciona. c) Atualizar versão do React. d) Reestruturar código de autenticação. e) Adicionar testes para módulo de pagamentos.
Parte II · GitHub avançado
Exercício 3 · GitHub Actions (10 pts)
Escreve workflow GitHub Actions para:
- Correr testes em cada push e PR.
- Testar em Node.js 22 e 24 (versões com suporte).
- Linter (ESLint).
- Build do projeto.
Exercício 4 · Issues e Projects (10 pts)
Como usar GitHub Issues + Projects para gerir projeto de software?
Parte III · Segurança
Exercício 5 · Dados expostos (10 pts)
A Rita, formadora, criou o repositório público gestao-turmas e, por engano, fez commit e push do ficheiro inscritos.csv, com nome, email e telefone de 40 formandos. Dois commits depois, reparou. Além disso, numa das branches existe um workflow .github/workflows/publicar.yml com um token de acesso escrito diretamente no ficheiro.
a) Indica, por ordem, o que deve fazer nas primeiras horas. b) Explica porque é que apagar o ficheiro num commit novo não resolve o problema. c) Que cuidados a mais existem por se tratar de dados pessoais? d) Como deve ser guardado o token do workflow? e) Que medidas evitam que volte a acontecer?
Exercício 6 · 2FA + SSH (10 pts)
Como configurar GitHub para máxima segurança?
Parte IV · Workflow
Exercício 7 · Resolver problema (10 pts)
Trabalhas numa equipa de 5. Há semanas que estás a fazer commits diretamente para a main, sem PRs. Várias vezes quebrou o build de outros. Como melhorar workflow?
Exercício 8 · Projeto prático (10 pts)
Cria no GitHub um pequeno projeto de demonstração para o teu portefólio. O repositório tem de ter:
README.mdque diga o que é, como se instala e como se usa..gitignoreadequado e ficheiroLICENSE.- Pelo menos três branches integradas por pull request, cada uma com descrição.
- Mensagens de commit em Conventional Commits.
- Um workflow do GitHub Actions que corra os testes em cada push e pull request.
- Duas issues fechadas por pull requests (
Closes #n). - Uma tag anotada
v1.0.0transformada em release, com notas.
Entrega a ligação do repositório e um parágrafo a explicar uma decisão que tomaste.
Parte V · Cliente gráfico e página pessoal
Exercício 9 · Cliente gráfico (10 pts)
O Tomás vai usar o GitHub Desktop no repositório da turma horarios-escola, que ainda não tem no computador. Explica como faz cada tarefa no cliente e indica o comando equivalente:
a) Trazer o repositório para o computador.
b) Criar a branch docs/horario-12a a partir da main e publicá-la no GitHub.
c) Anular um commit já enviado que apagou por engano uma linha do horário.
d) Saber se há commits novos no GitHub e trazê-los.
e) Abrir o pull request da branch.
Exercício 10 · Página pessoal no GitHub (10 pts)
A Beatriz acabou de criar a conta beatriz-lopes-dev no GitHub e quer ter um perfil apresentável e uma página pessoal publicada. Descreve:
a) Como cria o README do perfil.
b) Como publica uma página pessoal com o GitHub Pages usando o repositório beatriz-lopes-dev.github.io, e qual será o endereço.
c) Duas medidas de segurança que deve tomar na conta antes de a usar.
d) Um cuidado sobre o conteúdo que pode publicar.