зеркало из https://github.com/microsoft/AzureTRE.git
Increase E2E timeouts (#3252)
* Increase E2E timeouts * update devcontainer * fix * fix
This commit is contained in:
Родитель
2b356a6721
Коммит
e813221d15
|
@ -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}"
|
|
@ -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:
|
||||
|
|
|
@ -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) }}
|
||||
|
|
|
@ -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)
|
||||
|
|
Загрузка…
Ссылка в новой задаче