* Increase E2E timeouts

* update devcontainer

* fix

* fix
This commit is contained in:
Tamir Kamara 2023-02-27 18:56:52 +02:00 коммит произвёл GitHub
Родитель 2b356a6721
Коммит e813221d15
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
6 изменённых файлов: 243 добавлений и 252 удалений

Просмотреть файл

@ -33,242 +33,246 @@
// this is used for SuperLinter
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}"
},
// Set *default* container specific settings.json values on container create.
"settings": {
"terminal.integrated.defaultProfile.linux": "bash",
"python.pythonPath": "/usr/local/bin/python",
"python.linting.enabled": true,
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"python.formatting.provider": "black",
"python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8",
"python.formatting.blackPath": "/usr/local/py-utils/bin/black",
"python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf",
"python.linting.banditPath": "/usr/local/py-utils/bin/bandit",
"python.linting.flake8Path": "/usr/local/py-utils/bin/flake8",
"python.linting.mypyPath": "/usr/local/py-utils/bin/mypy",
"python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle",
"python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle",
"python.linting.pylintPath": "/usr/local/py-utils/bin/pylint",
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"python.testing.pytestArgs": [
"api_app"
],
"files.associations": {
"*.terraform": "terraform"
},
"launch": {
"configurations": [
{
"name": "TRE API",
"type": "python",
"module": "uvicorn",
"request": "launch",
"args": [
"main:app",
"--reload",
"--host",
"::",
"--port",
"8000"
"customizations": {
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"terminal.integrated.defaultProfile.linux": "bash",
"python.pythonPath": "/usr/local/bin/python",
"python.linting.enabled": true,
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"python.formatting.provider": "black",
"python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8",
"python.formatting.blackPath": "/usr/local/py-utils/bin/black",
"python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf",
"python.linting.banditPath": "/usr/local/py-utils/bin/bandit",
"python.linting.flake8Path": "/usr/local/py-utils/bin/flake8",
"python.linting.mypyPath": "/usr/local/py-utils/bin/mypy",
"python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle",
"python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle",
"python.linting.pylintPath": "/usr/local/py-utils/bin/pylint",
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"python.testing.pytestArgs": [
"api_app"
],
"files.associations": {
"*.terraform": "terraform"
},
"launch": {
"configurations": [
{
"name": "TRE API",
"type": "python",
"module": "uvicorn",
"request": "launch",
"args": [
"main:app",
"--reload",
"--host",
"::",
"--port",
"8000"
],
"jinja": true,
"justMyCode": false,
"console": "integratedTerminal",
"preLaunchTask": "Copy_env_file_for_api_debug",
"cwd": "${workspaceFolder}/api_app"
},
{
"name": "E2E Extended",
"type": "python",
"request": "launch",
"module": "pytest",
"justMyCode": true,
"cwd": "${workspaceFolder}/e2e_tests/",
"preLaunchTask": "Copy_env_file_for_e2e_debug",
"args": [
"-m",
"extended",
"--verify",
"false"
]
},
{
"name": "E2E Extended AAD",
"type": "python",
"request": "launch",
"module": "pytest",
"justMyCode": true,
"cwd": "${workspaceFolder}/e2e_tests/",
"preLaunchTask": "Copy_env_file_for_e2e_debug",
"args": [
"-m",
"extended_aad",
"--verify",
"false"
]
},
{
"name": "E2E Shared Services",
"type": "python",
"request": "launch",
"module": "pytest",
"justMyCode": true,
"cwd": "${workspaceFolder}/e2e_tests/",
"preLaunchTask": "Copy_env_file_for_e2e_debug",
"args": [
"-m",
"shared_services",
"--verify",
"false"
]
},
{
"name": "E2E Performance",
"type": "python",
"request": "launch",
"module": "pytest",
"justMyCode": true,
"cwd": "${workspaceFolder}/e2e_tests/",
"preLaunchTask": "Copy_env_file_for_e2e_debug",
"args": [
"-m",
"performance",
"--verify",
"false"
]
},
{
"name": "E2E Smoke",
"type": "python",
"request": "launch",
"module": "pytest",
"justMyCode": true,
"cwd": "${workspaceFolder}/e2e_tests/",
"preLaunchTask": "Copy_env_file_for_e2e_debug",
"args": [
"-m",
"smoke",
"--verify",
"false"
]
},
{
"name": "E2E Airlock",
"type": "python",
"request": "launch",
"module": "pytest",
"justMyCode": true,
"cwd": "${workspaceFolder}/e2e_tests/",
"preLaunchTask": "Copy_env_file_for_e2e_debug",
"args": [
"-m",
"airlock",
"--verify",
"false"
]
},
{
"name": "Resource Processor",
"type": "python",
"request": "launch",
"program": "vmss_porter/runner.py",
"console": "integratedTerminal",
"preLaunchTask": "Install_resource_processor_dependencies",
"cwd": "${workspaceFolder}/resource_processor",
"envFile": "${workspaceFolder}/core/private.env",
"env": {
"PYTHONPATH": "."
}
},
{
"name": "Debug Python file",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"purpose": [
"debug-test"
]
},
{
"name": "Launch Edge (localhost)",
"type": "pwa-msedge",
"request": "launch",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}/ui/app"
},
{
"name": "Launch Chrome (localhost)",
"type": "pwa-chrome",
"request": "launch",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}/ui/app"
}
],
"jinja": true,
"justMyCode": false,
"console": "integratedTerminal",
"preLaunchTask": "Copy_env_file_for_api_debug",
"cwd": "${workspaceFolder}/api_app"
"compounds": []
},
{
"name": "E2E Extended",
"type": "python",
"request": "launch",
"module": "pytest",
"justMyCode": true,
"cwd": "${workspaceFolder}/e2e_tests/",
"preLaunchTask": "Copy_env_file_for_e2e_debug",
"args": [
"-m",
"extended",
"--verify",
"false"
]
},
{
"name": "E2E Extended AAD",
"type": "python",
"request": "launch",
"module": "pytest",
"justMyCode": true,
"cwd": "${workspaceFolder}/e2e_tests/",
"preLaunchTask": "Copy_env_file_for_e2e_debug",
"args": [
"-m",
"extended_aad",
"--verify",
"false"
]
},
{
"name": "E2E Shared Services",
"type": "python",
"request": "launch",
"module": "pytest",
"justMyCode": true,
"cwd": "${workspaceFolder}/e2e_tests/",
"preLaunchTask": "Copy_env_file_for_e2e_debug",
"args": [
"-m",
"shared_services",
"--verify",
"false"
]
},
{
"name": "E2E Performance",
"type": "python",
"request": "launch",
"module": "pytest",
"justMyCode": true,
"cwd": "${workspaceFolder}/e2e_tests/",
"preLaunchTask": "Copy_env_file_for_e2e_debug",
"args": [
"-m",
"performance",
"--verify",
"false"
]
},
{
"name": "E2E Smoke",
"type": "python",
"request": "launch",
"module": "pytest",
"justMyCode": true,
"cwd": "${workspaceFolder}/e2e_tests/",
"preLaunchTask": "Copy_env_file_for_e2e_debug",
"args": [
"-m",
"smoke",
"--verify",
"false"
]
},
{
"name": "E2E Airlock",
"type": "python",
"request": "launch",
"module": "pytest",
"justMyCode": true,
"cwd": "${workspaceFolder}/e2e_tests/",
"preLaunchTask": "Copy_env_file_for_e2e_debug",
"args": [
"-m",
"airlock",
"--verify",
"false"
]
},
{
"name": "Resource Processor",
"type": "python",
"request": "launch",
"program": "vmss_porter/runner.py",
"console": "integratedTerminal",
"preLaunchTask": "Install_resource_processor_dependencies",
"cwd": "${workspaceFolder}/resource_processor",
"envFile": "${workspaceFolder}/core/private.env",
"env": {
"PYTHONPATH": "."
}
},
{
"name": "Debug Python file",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"purpose": [
"debug-test"
]
},
{
"name": "Launch Edge (localhost)",
"type": "pwa-msedge",
"request": "launch",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}/ui/app"
},
{
"name": "Launch Chrome (localhost)",
"type": "pwa-chrome",
"request": "launch",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}/ui/app"
}
],
"compounds": []
},
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "Copy_env_file_for_api_debug",
"command": "./.devcontainer/scripts/consolidate_env.sh ${workspaceFolder} ${workspaceFolder}/api_app/.env",
"type": "shell"
},
{
"label": "Copy_env_file_for_e2e_debug",
"command": "./.devcontainer/scripts/consolidate_env.sh ${workspaceFolder} ${workspaceFolder}/e2e_tests/.env",
"type": "shell"
},
{
"label": "Install_resource_processor_dependencies",
"command": "pip install -r ./resource_processor/vmss_porter/requirements.txt",
"type": "shell"
},
{
"label": "Unit_tests",
"group": {
"kind": "test",
"isDefault": true
},
"command": "pytest",
"args": [
"--ignore=e2e_tests"
]
},
{
"label": "Smoke_tests",
"group": "test",
"command": "python",
"options": {
"cwd": "${workspaceFolder}/e2e_tests/"
},
"args": [
"-m",
"pytest",
"-m",
"smoke"
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "Copy_env_file_for_api_debug",
"command": "./.devcontainer/scripts/consolidate_env.sh ${workspaceFolder} ${workspaceFolder}/api_app/.env",
"type": "shell"
},
{
"label": "Copy_env_file_for_e2e_debug",
"command": "./.devcontainer/scripts/consolidate_env.sh ${workspaceFolder} ${workspaceFolder}/e2e_tests/.env",
"type": "shell"
},
{
"label": "Install_resource_processor_dependencies",
"command": "pip install -r ./resource_processor/vmss_porter/requirements.txt",
"type": "shell"
},
{
"label": "Unit_tests",
"group": {
"kind": "test",
"isDefault": true
},
"command": "pytest",
"args": [
"--ignore=e2e_tests"
]
},
{
"label": "Smoke_tests",
"group": "test",
"command": "python",
"options": {
"cwd": "${workspaceFolder}/e2e_tests/"
},
"args": [
"-m",
"pytest",
"-m",
"smoke"
]
}
]
}
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-python.python",
"ms-python.pylance",
"hashicorp.terraform",
"github.vscode-pull-request-github",
"getporter.porter-vscode",
"davidanson.vscode-markdownlint",
"editorconfig.editorconfig",
"mikestead.dotenv",
"humao.rest-client",
"timonwong.shellcheck",
"ms-azuretools.vscode-azurefunctions"
]
}
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-python.python",
"ms-python.pylance",
"hashicorp.terraform",
"github.vscode-pull-request-github",
"getporter.porter-vscode",
"davidanson.vscode-markdownlint",
"editorconfig.editorconfig",
"mikestead.dotenv",
"humao.rest-client",
"timonwong.shellcheck",
"ms-azuretools.vscode-azurefunctions"
],
"forwardPorts": [
8000
],

Просмотреть файл

@ -1,18 +0,0 @@
#!/bin/bash
set -o errexit
set -o pipefail
set -o nounset
# Uncomment this line to see each command for debugging (careful: this will show secrets!)
# set -o xtrace
mkdir -p "${PORTER_HOME}/runtimes"
curl -fsSLo "${PORTER_HOME}/porter" "${PORTER_MIRROR}/${PORTER_VERSION}/porter-linux-amd64"
chmod +x "${PORTER_HOME}/porter"
ln -s "${PORTER_HOME}/porter" "${PORTER_HOME}/runtimes/porter-runtime"
"${PORTER_HOME}/porter" mixin install exec --version "${PORTER_VERSION}"
"${PORTER_HOME}/porter" mixin install terraform --version "${PORTER_TERRAFORM_MIXIN_VERSION}"
"${PORTER_HOME}/porter" mixin install az --version "${PORTER_AZ_MIXIN_VERSION}"
"${PORTER_HOME}/porter" plugin install azure --version "${PORTER_AZURE_PLUGIN_VERSION}"
chown -R "${USERNAME}" "${PORTER_HOME}"

4
.github/workflows/deploy_tre.yml поставляемый
Просмотреть файл

@ -5,8 +5,8 @@ name: Deploy Azure TRE
on: # yamllint disable-line rule:truthy
schedule:
# 1am each night https://crontab.guru/#0_1_*_*_*
- cron: "0 1 * * *"
# midnight every day https://crontab.guru/#0_0_*_*_*
- cron: "0 0 * * *"
push:
branches: [main]
workflow_dispatch:

7
.github/workflows/deploy_tre_branch.yml поставляемый
Просмотреть файл

@ -19,6 +19,11 @@ on: # yamllint disable-line rule:truthy
type: environment
default: CICD
required: true
e2eProcesses:
description: The number of E2E processes/tests running in parallel
type: string
default: "1"
required: false
# This will prevent multiple runs of this entire workflow.
# We should NOT cancel in progress runs as that can destabilize the environment.
@ -58,7 +63,7 @@ jobs:
prHeadSha: ${{ github.sha }}
e2eTestsCustomSelector: ${{ github.event.inputs.e2eTestsCustomSelector }}
environmentName: ${{ github.event.inputs.environment }}
E2E_TESTS_NUMBER_PROCESSES: 1
E2E_TESTS_NUMBER_PROCESSES: ${{ fromJSON(github.event.inputs.e2eProcesses) }}
secrets:
AAD_TENANT_ID: ${{ secrets.AAD_TENANT_ID }}
ACR_NAME: ${{ format('tre{0}', needs.prepare-not-main.outputs.refid) }}

2
.github/workflows/deploy_tre_reusable.yml поставляемый
Просмотреть файл

@ -760,7 +760,7 @@ jobs:
runs-on: ubuntu-latest
environment: ${{ inputs.environmentName }}
needs: [deploy_shared_services, register_bundles, register_user_resource_bundles]
timeout-minutes: 240
timeout-minutes: 300
steps:
- name: Checkout
uses: actions/checkout@v3

Просмотреть файл

@ -108,7 +108,7 @@ create_airlock_notifier_properties = {
@pytest.mark.shared_services
@pytest.mark.timeout(40 * 60)
@pytest.mark.timeout(50 * 60)
@pytest.mark.parametrize("template_name", shared_service_templates_to_create)
async def test_create_shared_service(template_name, verify) -> None:
await disable_and_delete_shared_service_if_exists(template_name, verify)