fix: Removendo sudo e add ubuntu-22.04 no workflow para tentar executar github actions novamente #16
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Pipeline Testes Automatizados Web Front ServeRest Playwright | |
# executa o workflow toda vez que for realizado um push ou pull-request no repositório | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
# permite também executar esse workflow manualmente na aba "Actions" do GitHub | |
workflow_dispatch: | |
jobs: | |
playwright-chrome: | |
# agente de execução/runner | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Passo 1 - Obter cópia do código-fonte do repositório | |
uses: actions/checkout@v4 | |
- name: Passo 2 - Redirecionar os conteúdos de "secrets.USUARIO_ENV", para os fixtures "usuario.json", etc | |
run: echo '${{ secrets.USUARIO_ENV }}' > ./tests/support/fixtures/usuario.json | |
- name: Passo 3 - Instalar node versão 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Passo 4 - Instalar dependências do projeto | |
# forçar, mesmo tendo possíveis conflitos, a instalação das dependências do projeto do arquivo "package.json" | |
run: npm install --force | |
- name: Passo 5 - Instalar navegadores do Playwright | |
run: npx playwright install --with-deps | |
- name: Passo 6 - Executar testes automatizados Web no navegador chrome em modo headless (2º plano) em um ambiente de produção e Gerar os resultados dos testes | |
run: npm run test | |
- name: Passo 7 - Armazenar os resultados dos testes em screenshots e vídeos | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
# expressão condicional para que sempre seja executado independentemente dos resultados dos steps anteriores | |
with: | |
name: playwright-screenshots-videos-chrome | |
path: ./test-results | |
# armazena por 30 dias | |
retention-days: 30 | |
- name: Passo 8 - Armazenar os resultados dos testes em report html | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: playwright-report-html-chrome | |
path: ./playwright-report | |
retention-days: 30 | |
playwright-firefox: | |
# esse job "playwright-firefox" somente é executado se o job anterior "playwright-chrome" for executado com sucesso | |
needs: playwright-chrome | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Passo 1 - Obter cópia do código-fonte do repositório | |
uses: actions/checkout@v4 | |
- name: Passo 2 - Redirecionar os conteúdos de "secrets.USUARIO_ENV", para os fixtures "usuario.json", etc | |
run: echo '${{ secrets.USUARIO_ENV }}' > ./tests/support/fixtures/usuario.json | |
- name: Passo 3 - Instalar node versão 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Passo 4 - Instalar dependências do projeto | |
run: npm install --force | |
- name: Passo 5 - Instalar navegadores do Playwright | |
run: npx playwright install --with-deps | |
- name: Passo 6 - Executar testes automatizados Web no navegador firefox em modo headless (2º plano) em um ambiente de produção e Gerar os resultados dos testes | |
run: npm run test:ff | |
- name: Passo 7 - Armazenar os resultados dos testes em screenshots e vídeos | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: playwright-screenshots-videos-firefox | |
path: ./test-results | |
retention-days: 30 | |
- name: Passo 8 - Armazenar os resultados dos testes em report html | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: playwright-report-html-firefox | |
path: ./playwright-report | |
retention-days: 30 |