Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.33.0 #1583

Merged
merged 45 commits into from
Nov 25, 2019
Merged

Release v0.33.0 #1583

merged 45 commits into from
Nov 25, 2019

Conversation

sanathkr
Copy link
Contributor

Issue #, if available:

Description of changes:

Checklist:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

sriram-mv and others added 30 commits November 22, 2019 17:06
* feat: sam deploy without aws cli pre-installed

- Not breaking parameter overrides formats
- still requires refactoring and error handling

* feat: new click types for deploy parameters

* feat: show changeset and stack events

- needs refactoring

* refactor: move deploy classes to lib

- wire up command.py for `sam deploy`
- move deploy specific exceptions to inherit from UserException

* rebase: latest from `sam package` port

* feat: decorator for printing tables

- `sam deploy` now has tables while showcasing the changeset and
  showcasing events happening during deploy.

* fix: wrap text on resource status column on `sam deploy`

- fixed unit tests
- linting fixes
- doc strings
- further unit tests and integration tests need to be added.

* fix: cleaner text formatting for tables

* tests: add unit tests for full suite of `sam deploy`

* tests: add integration tests for `sam deploy`

* tests: regression test suite for `sam deploy`

- exercise all command line parameters for `aws` and `sam`

* fix: deploy command now showcases stack outputs

* fix: address comments

* fix: return stack outputs from `get_stack_outputs`

* fix: width margins on table prints

* fix: address comments

- add retries
- more regression testing
- remove types for capabilities

* tests: tests for pprint of tables

* usability: add table headers

- show cases Add, Modify, Delete with +, * and -
* design: sam-app-config

- an app level configuration that provides parameter pass throughs for
  sam cli commands

* design: move config file location to project root

* design: add open questions

* fix: add `identifiers` to use configuration file.

* fix: address comments

- todo add more scope

* fix: address future and scope

* phases: implementation phases

* fix: add docs section for samconfig
* feat: configuration file for sam cli commands

- add passthroughs to the CLI command line interface via a configuration
  file
- local defaults are set at: `.aws-sam/samconfig.toml`
- This commit contains code copied and modified from https://github.com/phha/click_config_file/blob/master/click_config_file.py under MIT license

* fix: add identifier name argument instead of configuration files.

* rework: change command key construction logic

- descope environment variables
- move samconfig.toml back to project root

* docstring: TomlProvider class

* fix: allow spaces on certain deploy options

* fix: REGEX for parameter overrides

* fix: infer config path name from ctx

* fix: set abs path to `ctx.config_path`

* fix: set dirname for config_path not template file name.
* feat: beginnings of package and deploy together

* fix: plumb through configuration

- need to add additional parameters over from package.

* fix: conditional check to print text on package during deploy

* fix: exceptions for `package`

* lint: local variables rule

- `samcli/commands/deploy/command.py` has high number of local
  variables, because of the nature of command, it has high number
  of arguments.
* WIP: Managed S3 Stack

* Managed S3 Bucket Command With Tests

Missing: Integration with config files. We may also want to move some of
the echo commands to debug logging.

* Setup Design Doc

* Setup Design Document

* Rename  to  and remove CLI interface

* Fix lint errors

* Adding metadata to stack

* fixing black formatting
* feat: colors for deploy command

* lint: fixes
- fix location of samconfig.toml
- fix unit tests
- unit tests for samconfig
- additional unit tests for deploy
- change to normal dict, for click to understand defaults
- remove debug traceback
- interactive improvements
- if parameters are present on the tempalte, ask for parameters
- change sam build output text
* UX Improvements

* Reformatting with Black

* Reformatting and Test Upgrade
* fix: always showcase deploy args

* fix: set arguments on package during deploy guided
* fix: parameter override prompts during guided deploy

* tests: unit tests for not saving secure params during guided deploy
* Add Exception Handling for Client Misconfiguration

* Import Botocore Exceptions

* Change Client Exception Heirarchy

Remaining work is to add tests for this case.

* Add Unit Test for Bootstrap Client Failures
- deployment s3 bucket is specific to the region it was created in.
  cfn/lambda requires code to be packaged within the same region as
  where the stack is to be deployed. When such a case is encountered
  prompt to use `sam deploy --guided`
- integration tests for `sam deploy` and `sam deploy --guided`
- fix for regression tests
- `stack-name` is required
- additional error cases for when a s3 bucket is needed to be looked up
  during `sam deploy`
- move parameter prompts logic to its own function
awood45 and others added 14 commits November 22, 2019 17:06
* Reduce Deployment Output on Buckets

* Change Indentation

* Change LOG to click echo

* Change Import Order for Linter
* bugfixes: `stack-name` is required on deploy

- providing non standard capabilities gives an appropriate error message
- add s3 prefix to be the stack name during guided deploy

* fix: help text on parameter overrides

* fix: add `serverlessrepo` access to managed stack

* fix: address comments

* fix: usability fixes

* fix: parameter defaults are casted to string

* fix: unit tests on bootstrap
* test: Verify samconfig is accessible to all CLI commands

* fix cases where comma vs space needs to be delimiter

* adding few more unit tests

* adding unit tests for all commands

* fix linter

* Adding tests for overriding args thru config, CLI args, and envvars

* Fixing a minor UX issue when sam template is invalid

* fixing mock imports
* fix: add version to `samconfig.toml` file

- support version key, any float is okay.
- if a config file is present and the version key is missing, we do not
  process it.
- if a config file is missing, thats fine. this check does not get in
  the way.
- validation logic to determine if a SAM CLI version is compatible can
  be written later.

* bugfix: do not continously read everytime a samconfig.put is called
* fix: managed stack

- always catch ClientError and BotoCoreError
- on windows, create temporary files with delete=False, otherwise it
  results in a PermissionDeniedError

* fix: dont mask inbuilt `file`
- add sleeps in between deploy integration and regression tests.
* fix: move tests to a `static` bucket solution

- s3 bucket is created is appropriate permissions and exposed via
  environment variable.
- serverlessrepo.amazonaws.com has access to the static s3 bucket.

* integ-tests: create s3 bucket if BYOB bucket doesnt exist
@sriram-mv sriram-mv self-requested a review November 23, 2019 21:14
sriram-mv
sriram-mv previously approved these changes Nov 23, 2019
* refactor: move all process.wait to process.communicate

* Fix layer integ tests

* Strip before spliting string
@jfuss jfuss merged commit dc6f42f into master Nov 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants