Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
trybe-tech-ops committed Mar 9, 2022
0 parents commit f6cb33e
Show file tree
Hide file tree
Showing 27 changed files with 3,026 additions and 0 deletions.
11 changes: 11 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# This is a comment.
# Each line is a file pattern followed by one or more owners.

# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
# * @global-owner1 @global-owner2


* @tryber/pr-locker
83 changes: 83 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
on:
workflow_dispatch:
inputs:
dispatch_token:
description: 'Token that authorize the dispatch'
required: true
head_sha:
description: 'Head commit SHA that dispatched the workflow'
required: true
pr_author_username:
description: 'Pull Request author username'
required: true
pr_number:
description: 'Pull Request number that dispatched the workflow'
required: true

jobs:
evaluator:
runs-on: self-hosted
steps:
- name: Fetch project repository
uses: actions/checkout@v2

- name: Fetch Blocked Files Checkout action
uses: actions/checkout@v2
with:
repository: betrybe/blocked-files-checkout-action
ref: v2
token: ${{ secrets.GIT_HUB_PAT }}
path: .github/actions/blocked-files-checkout

- name: Fetch Flake8 linter
uses: actions/checkout@v2
with:
repository: betrybe/flake8-linter-action
ref: v1.3
token: ${{ secrets.GIT_HUB_PAT }}
path: .github/actions/flake8-linter

- name: Fetch PyTest evaluator
uses: actions/checkout@v2
with:
repository: betrybe/pytest-evaluator-action
ref: v4
token: ${{ secrets.GIT_HUB_PAT }}
path: .github/actions/pytest-evaluator

- name: Fetch Store evaluation
uses: actions/checkout@v2
with:
repository: betrybe/store-evaluation-action
ref: v4
token: ${{ secrets.GIT_HUB_PAT }}
path: .github/actions/store-evaluation

- name: Setup NodeJS
uses: actions/[email protected]
with:
node-version: '12'

- name: Restore protected files
uses: ./.github/actions/blocked-files-checkout
with:
restore_branch: 'main'

- name: Run Flake8 linter
uses: ./.github/actions/flake8-linter
with:
token: ${{ secrets.GITHUB_TOKEN }}
pr_number: ${{ github.event.inputs.pr_number }}

- name: Run PyTest evaluation
id: evaluator
uses: ./.github/actions/pytest-evaluator
with:
pr_author_username: ${{ github.event.inputs.pr_author_username }}

- name: Run Store evaluation
uses: ./.github/actions/store-evaluation
with:
evaluation-data: ${{ steps.evaluator.outputs.result }}
environment: staging
pr-number: ${{ github.event.inputs.pr_number }}
144 changes: 144 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# Created by https://www.toptal.com/developers/gitignore/api/python
# Edit at https://www.toptal.com/developers/gitignore?templates=python

### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
pytestdebug.log

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/
doc/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
pythonenv*

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# profiling data
.prof

# End of https://www.toptal.com/developers/gitignore/api/python
89 changes: 89 additions & 0 deletions .trybe/requirements.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
{
"requirements": [
{
"identifier": "test_enqueue_deve_adicionar_um_valor_a_fila",
"description": "1.1 - Será validado que o método `enqueue` deve adicionar um valor a fila, modificando seu tamanho",
"bonus": false
},
{
"identifier": "test_dequeue_deve_remover_um_valor_a_fila",
"description": "1.2 - Será validado que o método `dequeue` deve remover o elemento a mais tempo na fila, modificando seu tamanho",
"bonus": false
},
{
"identifier": "test_search_deve_buscar_um_valor_a_partir_de_um_indice",
"description": "1.3 - Será validado que o método `search` deve buscar um valor na lista à partir de um índice",
"bonus": false
},
{
"identifier": "test_search_com_indice_invalido",
"description": "1.4 - Será validado que o método `search` deve lançar uma exceção quando o índice for inválido",
"bonus": false
},
{
"identifier": "test_validar_importar_noticias_com_sucesso",
"description": "2.1 - Será validado que ao executar o método `txt_importer` deve retornar uma estrutura contendo as linhas do arquivo",
"bonus": false
},
{
"identifier": "test_validar_importar_com_extencao_invalida",
"description": "2.2 - Será validado que ao executar o método `txt_importer` com um arquivo TXT que não exista, deve ser exibida a mensagem: `Arquivo {path_file} não encontrado`",
"bonus": false
},
{
"identifier": "test_validar_importar_com_arquivo_nao_existente",
"description": "2.3 - Será validado que ao executar o método `txt_importer` com uma extensão diferente de `.txt`, deve ser exibida uma mensagem: `Formato inválido`",
"bonus": false
},
{
"identifier": "test_validar_funcao_process_ignorando_mesmo_nome",
"description": "3.1 - Será validado que ao executar a função `process` com o mesmo nome a execução deverá ser ignorada",
"bonus": false
},
{
"identifier": "test_validar_funcao_process_com_sucesso",
"description": "3.2 - Será validado que ao executar a função `process` com sucesso deverá retornar mensagem via `stdout`",
"bonus": false
},
{
"identifier": "test_remover_arquivo_com_sucesso",
"description": "4.1 - Será validado que ao executar a função `remove` com sucesso deverá retornar mensagem via `stdout`",
"bonus": false
},
{
"identifier": "test_remover_arquivo_inexistente",
"description": "4.2 - Será validado que ao executar a função `remove` um arquivo inexistente deverá retornar a mensagem `Não há elementos`",
"bonus": false
},
{
"identifier": "test_validar_funcao_file_metadata_com_sucesso",
"description": "5.1 - Será validado que ao executar a função `file_metadata` com sucesso deverá retornar mensagem via `stdout`",
"bonus": false
},
{
"identifier": "test_validar_funcao_file_metadata_com_posicao_invalida",
"description": "5.2 - Será validado que ao executar a função `file_metadata` com posição inválida deverá retornar a mensagem `Posição inválida`",
"bonus": false
},
{
"identifier": "test_validar_funcao_exists_word_com_sucesso",
"description": "6.1 - Será validado que ao executar a função `exists_word` com sucesso deverá retornar a mensagem",
"bonus": false
},
{
"identifier": "test_validar_funcao_exists_word_sem_palavra_existente",
"description": "6.2 - Será validado que ao executar a função `exists_word` com palavra inexistente deverá retornar uma lista vazia",
"bonus": false
},
{
"identifier": "test_validar_search_by_word_com_sucesso",
"description": "7.1 - Será validado que ao executar a função `search_by_word` com sucesso deverá retornar a mensagem",
"bonus": false
},
{
"identifier": "test_validar_search_by_word_com_palavra_inexistente",
"description": "7.2 - Será validado que ao executar a função `search_by_word` com palavra inexistente deverá retornar uma lista vazia",
"bonus": false
}
]
}
Loading

0 comments on commit f6cb33e

Please sign in to comment.