Граф коммитов

34 Коммитов

Автор SHA1 Сообщение Дата
WenyiQ 7c7949376d update conf 2021-08-12 22:51:18 -07:00
WenyiQ 0e91cf8ef8 add pep8-naming 2021-08-09 09:23:14 -07:00
Chi Song 72b108ed68 add rstcheck and snooty-lextudio package for rst 2021-07-22 21:49:05 -07:00
Chi Song 7310675ca4 update checking packages.
After installed the types-retry, it still prompts the type errors. Add
"type: ignore" to suppress it.
2021-07-22 21:49:05 -07:00
WenyiQ ca4178662b add denpendencies 2021-07-12 19:17:43 -07:00
Chi Song e1ebdfc38c Azure upgrade compute sdk 2021-07-07 16:51:54 -07:00
Sonia Sharma 8c22a15972 Add posix property to get os release version in semver valid format 2021-06-22 16:35:52 -07:00
Gustavo Lima Chaves 4def6672c5 ⬆️ [poetry] Update
Gotta love it when typing-extensions gets updated--more checking! :)
2021-05-18 12:00:19 -07:00
Divyansh 3b6fdbeb86 Add function to create container in azure storage 2021-04-14 12:53:58 +08:00
Gustavo Lima Chaves a5268694be poetry: update mypy to version "^0.812"
This version has more power on type assertions, and we can get rid of
a bunch of "# type: ignore" entries. My theory is that they point a
newer release of Typeshed (https://github.com/python/typeshed), so
that we have more type annotations available.

Real mistakes have been caught with this update, BTW.
2021-03-30 13:40:21 +08:00
Chi Song cfbdbdf24a upgrade packages to latest
1. Verified with azure deployment, and passed.
2. Removed protalocker, because the pywin32 is still here.
3. add python-dateutil, which is used but be retired by azure packages.
   in our code, search for `dateutil` can find where it is used.
4. not upgrade mypy, because its returns conflict errors on a
   `__init__.py` file and a directory. It breaks experience in vscode.
2021-03-26 17:42:36 +08:00
LiliDeng 35c97d57de
Fix multiple process access the same log file issue. (#1232) 2021-03-18 18:14:28 +08:00
Gustavo Lima Chaves de56244648 poetry: remove pre-release depedencies 2021-03-18 14:02:07 +08:00
Gustavo Lima Chaves 6202d5de34 Poetry: bring in pygobject dependency
azure-mgmt-*'s dependency on pygobject should not rely on external
provisioning, so have Poetry track it.
2021-03-18 14:02:07 +08:00
Chi Song afbadd5a8b Add pluggy for extensible methods
pluggy is designed to support pluggable interface. It will be used on
environment information first. Any may be used by Feature also.

It's different with current subclasses.py. subclasses supports schema,
and instances can be created dynamically.
2021-03-11 18:29:18 +08:00
Chi Song b1d547ed9d add pytest-html dependency to create html report 2021-02-28 11:12:45 +08:00
Chi Song db45c8d9b4 switch to assertpy package
assertpy package is more popular and powerful, so switch to it.

It doesn't support typing, but it's important to experience, so add it.
2021-02-23 12:59:54 +08:00
Chi Song f92834fc58 upgrade and clean up dependencies. 2021-02-03 08:43:51 +08:00
Chi Song 273bf3363c set timeout to spawn process
the func-timeout use a new thread to run function. So it can be stopped.
2021-01-28 17:21:27 +08:00
Chi Song 6d39968054 create storage account outside of arm template
There are concurrent issues on Azure deployment script count.
If too many deployments in progress in subscription level,
 the old scripts may not able to deleted on time.
Deploy storage account outside of template to workaround it.
2020-11-10 01:45:56 -08:00
Chi Song 79aaee71bf Support to accept terms for gallery images
Some gallery images need to accept term, then it can be deployed.
And when deploying, they need plan information. Implement progress
like LISAv2 to query and accept terms, if it's necessary. As
azure-mgmt-marketplaceordering isn't compatible with latest
azure-identity, so add cred_wrapper to workaround it.

1. Add azure-mgmt-marketplaceordering package to support terms.
2. Query plan for gallery image deployment.
3. add cred_wrapper for azure-identity compatibility.
4. Add plan in arm_template.
2020-11-04 16:52:16 +08:00
Chi Song 447011b1e7 remove unittest.TestCase
as we have different suite/case definition as unittest, it's confusing
to use assertions in unittest. So use the separated asserts package.
2020-10-26 09:42:34 +08:00
Andrew Schwartzmeyer 300121735a Explicitly update developer tool packages
Biggest change is the move to Black 20.8b1. W503 is now disabled by
default, and since we control the versions of the tools we use, we can
safely update our configuration.
2020-09-23 17:36:41 -07:00
Chi Song 0c86e5a4de add support for code coverage 2020-09-17 07:32:15 +08:00
Chi Song 9c67a64149 support deploy azure environment, and refactoring
1. support azure deployment and add arm template.
2. remove envs, use constants to pass variables like path.
3. add clone to copy from runbook to actual environment.
4. refine runner to delete env on failure.
5. refine schema to support listable validator, and rich configs.
6. other minor improvements.
2020-09-01 10:02:58 +08:00
Chi Song 145877ff63 use strong type schema, init azure platform code
1. use dataclasses as base schema, dataclasses_json for serialization,
   and marshmallow for validation.
2. remove yaml format schema, add python schema.
3. use strong type to replace dict based code.
4. add platform schema and node schema for platform extension.
5. add _initialize for platform
6. init azure platform code.
7. other small improvements.
2020-08-26 14:10:23 +08:00
Chi Song ecef2c9ffb Implement test case selector
1. add testselector to deal with criteria and apply settings
2. improve logging to support ut.
3. remove TestSuiteData class, as it doesn't need.
4. add ut in github action.
5. other minor improvements.
2020-08-19 11:58:03 +08:00
Chi Song db1170f433 Add schema validation
1. add cerberus to validate schema.
2. remove full.yml, and add schema.yml as schema
3. fix schema due to new schema
2020-08-19 11:58:03 +08:00
Chi Song efd52b62a1 replace singleton to global object
1. global object is more pythonic implementation, so change it.
2. Config is not used widely, so remove singleton.
2020-08-19 11:58:03 +08:00
Chi Song 09e060b84b refactoring code for process
1. use spurplus to get unique interface for local and remote processes
2. rename executable to tool
3. other minor changes
2020-08-10 11:54:31 +08:00
Chi Song b824e63d7b change to a better singleton pattern. 2020-08-06 15:00:39 +08:00
Andrew Schwartzmeyer e305e6d843 Configure black, flake8, and isort to work together
As recommended by Black:
https://github.com/psf/black/blob/master/docs/compatible_configs.md
2020-08-05 14:08:49 -07:00
Andrew Schwartzmeyer 2fb082bd37 Add flake8-black package
So that `black --check` is run automatically by `flake8`.
2020-08-05 13:58:32 -07:00
Andrew Schwartzmeyer 7da16cb5d8 Setup pyproject.toml with Poetry toolchain
I ran `poetry init` using the cross-platform Python packaging,
dependency management, and virtual environment management tool Poetry:
https://python-poetry.org/

The chosen version follows Semantic Versioning: https://semver.org/,
with the Python specific pre-release versioning suffix ‘.dev1’:
https://packaging.python.org/guides/distributing-packages-using-setuptools/#choosing-a-versioning-scheme

Since this is “LISAv3” it seemed appropriate to set our version to
‘3.0.0.dev1’, “the first development release of LISAv3.”

I pinned Python to version 3.8, as we will always use a Poetry provided
Python and not depend on a system’s packaged Python version. This will
avoid many headaches. I added Chi’s existing dependencies from
‘requirements.txt’, and then added my suggested development
dependencies:

- black, the opinionated code formatter
- flake8 (and integrations), the semantic analyzer
- isort, the import sorter
- mypy, the static type checker
- python-language-server (and integrations), the de facto LSP server
- rope, to provide completions and renaming to pyls

While Microsoft is developing their own LSP servers, they do not
integrate with the existing ecosystem of tools, and their latest tool,
Pyright, simply does not support ‘pyproject.toml’. Since pyls is used
far more widely, and supports every editor, we will use this.

Finally, I updated the readme with instructions on how to use this
toolchain, and deleted the outdated bootstrap files.
2020-08-04 02:13:07 -07:00