Skip to content

Commit da6e906

Browse files
Merge from aws/aws-sam-cli/develop
2 parents 3748f12 + 6caefc9 commit da6e906

File tree

128 files changed

+1481
-379
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+1481
-379
lines changed

appveyor-iac-integration-ubuntu.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,20 @@ environment:
1111
- PYTHON_VERSION: '3.7'
1212
PYTHON_ARCH: '64'
1313
NOSE_PARAMETERIZED_NO_WARN: 1
14-
INSTALL_PY_36_PIP: 1
1514
INSTALL_PY_38_PIP: 1
1615
INSTALL_PY_39_PIP: 1
1716
APPVEYOR_CONSOLE_DISABLE_PTY: true
1817

1918
- PYTHON_VERSION: '3.8'
2019
PYTHON_ARCH: '64'
2120
NOSE_PARAMETERIZED_NO_WARN: 1
22-
INSTALL_PY_36_PIP: 1
2321
INSTALL_PY_37_PIP: 1
2422
INSTALL_PY_39_PIP: 1
2523
APPVEYOR_CONSOLE_DISABLE_PTY: true
2624

2725
- PYTHON_VERSION: '3.9'
2826
PYTHON_ARCH: '64'
2927
NOSE_PARAMETERIZED_NO_WARN: 1
30-
INSTALL_PY_36_PIP: 1
3128
INSTALL_PY_37_PIP: 1
3229
INSTALL_PY_38_PIP: 1
3330
APPVEYOR_CONSOLE_DISABLE_PTY: true
@@ -61,26 +58,22 @@ install:
6158
- sh: "sudo apt install maven"
6259
- sh: "mvn --version"
6360

64-
- sh: "sudo apt-get -y install python3.6"
6561
- sh: "sudo apt-get -y install python3.7"
6662
- sh: "sudo apt-get -y install python3.8"
6763
- sh: "sudo apt-get -y install python3.9 python3.9-venv"
6864

6965
- sh: "which python3.8"
7066
- sh: "which python3.7"
71-
- sh: "which python3.6"
7267
- sh: "which python3.9"
7368

7469
- sh: "PATH=$PATH:/usr/bin/python3.9:/usr/bin/python3.8:/usr/bin/python3.7"
7570
- sh: "curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py"
76-
- sh: "curl https://bootstrap.pypa.io/pip/3.6/get-pip.py -o get-pip-36.py"
7771

7872
- sh: "sudo apt-get -y install python3-distutils"
7973
- sh: "sudo apt-get -y install python3.9-distutils"
8074
- ps: "If ($env:INSTALL_PY_39_PIP) {python3.9 get-pip.py --user}"
8175
- ps: "If ($env:INSTALL_PY_38_PIP) {python3.8 get-pip.py --user}"
8276
- ps: "If ($env:INSTALL_PY_37_PIP) {python3.7 get-pip.py --user}"
83-
- ps: "If ($env:INSTALL_PY_36_PIP) {python3.6 get-pip-36.py --user}"
8477

8578
# get testing env vars
8679
- sh: "sudo apt install -y jq"

appveyor-ubuntu.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ environment:
3131
PYTHON_ARCH: '64'
3232
RUN_SMOKE: 1
3333
NOSE_PARAMETERIZED_NO_WARN: 1
34-
INSTALL_PY_36_PIP: 1
3534
INSTALL_PY_38_PIP: 1
3635
INSTALL_PY_39_PIP: 1
3736
APPVEYOR_CONSOLE_DISABLE_PTY: true
@@ -41,7 +40,6 @@ environment:
4140
PYTHON_ARCH: '64'
4241
RUN_SMOKE: 1
4342
NOSE_PARAMETERIZED_NO_WARN: 1
44-
INSTALL_PY_36_PIP: 1
4543
INSTALL_PY_37_PIP: 1
4644
INSTALL_PY_39_PIP: 1
4745
APPVEYOR_CONSOLE_DISABLE_PTY: true
@@ -51,7 +49,6 @@ environment:
5149
PYTHON_ARCH: '64'
5250
RUN_SMOKE: 1
5351
NOSE_PARAMETERIZED_NO_WARN: 1
54-
INSTALL_PY_36_PIP: 1
5552
INSTALL_PY_37_PIP: 1
5653
INSTALL_PY_38_PIP: 1
5754
APPVEYOR_CONSOLE_DISABLE_PTY: true
@@ -85,17 +82,13 @@ install:
8582
- sh: "./aws_cli/bin/python -m pip install awscli"
8683
- sh: "PATH=$(echo $PWD'/aws_cli/bin'):$PATH"
8784

88-
- sh: "sudo apt-get -y install python3.6"
89-
- sh: "sudo apt-get -y install python2.7"
9085
- sh: "sudo apt-get -y install python3.7"
9186
- sh: "sudo apt-get -y install python3.8"
9287
- sh: "sudo apt-get -y install python3.9 python3.9-dev python3.9-venv"
9388

9489
- sh: "which python3.8"
9590
- sh: "which python3.7"
96-
- sh: "which python3.6"
9791
- sh: "which python3.9"
98-
- sh: "which python2.7"
9992

10093
- sh: "PATH=$PATH:/usr/bin/python3.9:/usr/bin/python3.8:/usr/bin/python3.7"
10194
- sh: "curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py"
@@ -106,7 +99,6 @@ install:
10699
- ps: "If ($env:INSTALL_PY_39_PIP) {python3.9 get-pip.py --user}"
107100
- ps: "If ($env:INSTALL_PY_38_PIP) {python3.8 get-pip.py --user}"
108101
- ps: "If ($env:INSTALL_PY_37_PIP) {python3.7 get-pip.py --user}"
109-
- ps: "If ($env:INSTALL_PY_36_PIP) {python3.6 get-pip-36.py --user}"
110102

111103
# update ca-certificates which causes failures with newest golang library
112104
- sh: "sudo apt-get install --reinstall ca-certificates"

appveyor-windows-build-python.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ install:
3939
- "C:\\Python39\\python.exe -m pip freeze"
4040
- "refreshenv"
4141
- ps: "mkdir -Force C:\\tmp"
42-
- "SET PATH=%PYTHON_HOME%;%PATH%;C:\\Python36-x64;C:\\Python27-x64;C:\\Python38;C:\\Python39"
42+
- "SET PATH=%PYTHON_HOME%;%PATH%;C:\\Python38;C:\\Python39"
4343
- "echo %PYTHON_HOME%"
4444
- "echo %PATH%"
4545
- "python --version"
@@ -52,8 +52,6 @@ install:
5252
- "python -m pip install --upgrade setuptools wheel virtualenv"
5353

5454
# Upgrade pip in each python
55-
- "C:\\Python27\\python.exe -m pip install --upgrade pip"
56-
- "C:\\Python36-x64\\python.exe -m pip install --upgrade pip"
5755
# python is python3.7
5856
- "python -m pip install --upgrade pip"
5957
- "C:\\Python38\\python.exe -m pip install --upgrade pip"

appveyor.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ environment:
1515
PYTHON_ARCH: '64'
1616
RUN_SMOKE: 1
1717
NOSE_PARAMETERIZED_NO_WARN: 1
18-
INSTALL_PY_36_PIP: 1
1918
INSTALL_PY_38_PIP: 1
2019
INSTALL_PY_39_PIP: 1
2120
AWS_S3: 'AWS_S3_37'
@@ -27,7 +26,6 @@ environment:
2726
PYTHON_ARCH: '64'
2827
RUN_SMOKE: 1
2928
NOSE_PARAMETERIZED_NO_WARN: 1
30-
INSTALL_PY_36_PIP: 1
3129
INSTALL_PY_37_PIP: 1
3230
INSTALL_PY_39_PIP: 1
3331
AWS_S3: 'AWS_S3_38'
@@ -39,7 +37,6 @@ environment:
3937
PYTHON_ARCH: '64'
4038
RUN_SMOKE: 1
4139
NOSE_PARAMETERIZED_NO_WARN: 1
42-
INSTALL_PY_36_PIP: 1
4340
INSTALL_PY_37_PIP: 1
4441
INSTALL_PY_38_PIP: 1
4542
AWS_S3: 'AWS_S3_39'
@@ -158,28 +155,22 @@ for:
158155
- sh: "./aws_cli/bin/python -m pip install awscli"
159156
- sh: "PATH=$(echo $PWD'/aws_cli/bin'):$PATH"
160157

161-
- sh: "sudo apt-get -y install python3.6"
162-
- sh: "sudo apt-get -y install python2.7"
163158
- sh: "sudo apt-get -y install python3.7"
164159
- sh: "sudo apt-get -y install python3.8"
165160
- sh: "sudo apt-get -y install python3.9"
166161

167162
- sh: "which python3.8"
168163
- sh: "which python3.7"
169-
- sh: "which python3.6"
170164
- sh: "which python3.9"
171-
- sh: "which python2.7"
172165

173166
- sh: "PATH=$PATH:/usr/bin/python3.9:/usr/bin/python3.8:/usr/bin/python3.7"
174167
- sh: "curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py"
175-
- sh: "curl https://bootstrap.pypa.io/pip/3.6/get-pip.py -o get-pip-36.py"
176168

177169
- sh: "sudo apt-get -y install python3-distutils"
178170
- sh: "sudo apt-get -y install python3.9-distutils"
179171
- ps: "If ($env:INSTALL_PY_39_PIP) {python3.9 get-pip.py --user}"
180172
- ps: "If ($env:INSTALL_PY_38_PIP) {python3.8 get-pip.py --user}"
181173
- ps: "If ($env:INSTALL_PY_37_PIP) {python3.7 get-pip.py --user}"
182-
- ps: "If ($env:INSTALL_PY_36_PIP) {python3.6 get-pip-36.py --user}"
183174

184175
# update ca-certificates which causes failures with newest golang library
185176
- sh: "sudo apt-get install --reinstall ca-certificates"

designs/_template.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@ Design
5353
of your implementation, relationships* *between components, constraints,
5454
etc.*
5555

56-
`.samrc` Changes
56+
``samconfig.toml`` Changes
5757
----------------
5858

5959
*Explain the new configuration entries, if any, you want to add to
60-
.samrc*
60+
`samconfig.toml`*
6161

6262
Security
6363
--------
@@ -78,7 +78,7 @@ connection secured**
7878
**Are you reading/writing to a temporary folder? If so, what is this
7979
used for and when do you clean up?**
8080

81-
**How do you validate new .samrc configuration?**
81+
**How do you validate new `samconfig.toml` configuration?**
8282

8383
What is your Testing Plan (QA)?
8484
===============================

designs/root_help_text_design.md

Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
AWS SAM CLI: Root command help test Design
2+
==========================================
3+
4+
What is the problem?
5+
--------------------
6+
7+
Currently AWS SAM CLI's root command help text does not showcase a coherent story on how to develop a serverless application.
8+
9+
Current state of the world as of v1.71.0
10+
11+
```
12+
Usage: sam [OPTIONS] COMMAND [ARGS]...
13+
14+
AWS Serverless Application Model (SAM) CLI
15+
16+
The AWS Serverless Application Model extends AWS CloudFormation to provide a
17+
simplified way of defining the Amazon API Gateway APIs, AWS Lambda
18+
functions, and Amazon DynamoDB tables needed by your serverless application.
19+
You can find more in-depth guide about the SAM specification here:
20+
https://github.com/awslabs/serverless-application-model.
21+
22+
Options:
23+
--debug Turn on debug logging to print debug message generated by SAM
24+
CLI and display timestamps.
25+
--version Show the version and exit.
26+
--info
27+
-h, --help Show this message and exit.
28+
29+
Commands:
30+
init Init an AWS SAM application.
31+
validate Validate an AWS SAM template.
32+
build Build your Lambda function code
33+
local Run your Serverless application locally for quick development...
34+
package Package an AWS SAM application.
35+
deploy Deploy an AWS SAM application.
36+
delete Delete an AWS SAM application and the artifacts created by sam
37+
deploy.
38+
logs Fetch logs for a function
39+
publish Publish a packaged AWS SAM template to the AWS Serverless
40+
Application Repository.
41+
traces Fetch AWS X-Ray traces
42+
sync Sync a project to AWS
43+
pipeline Manage the continuous delivery of the application
44+
```
45+
46+
What will be changed?
47+
---------------------
48+
49+
The help text should showcase the stages in the lifecycle of development in a serverless application.
50+
51+
```
52+
Usage: sam [OPTIONS] COMMAND [ARGS]...
53+
54+
AWS Serverless Application Model (SAM) CLI
55+
56+
The AWS Serverless Application Model extends AWS CloudFormation to provide a
57+
simplified way of defining the Amazon API Gateway APIs, AWS Lambda
58+
functions, and Amazon DynamoDB tables needed by your serverless application.
59+
You can find more in-depth guide about the SAM specification here:
60+
https://github.com/awslabs/serverless-application-model.
61+
62+
63+
Commands:
64+
65+
*Create an App!*
66+
67+
init Init an AWS SAM application
68+
69+
*Develop your app!*
70+
71+
build Build your Lambda Function code
72+
local Run your serverless function locally
73+
validate Validate an AWS SAM template
74+
sync (NEW) Sync a project to AWS
75+
76+
*Deploy your app!*
77+
78+
package Package an AWS SAM application
79+
deploy Deploy an AWS SAM application
80+
81+
*Monitor your app!*
82+
83+
logs Fetch logs for a function
84+
traces Fetch AWS X-Ray traces
85+
86+
*And More!*
87+
88+
delete Delete an AWS SAM application and the artifacts created by sam deploy.
89+
list (NEW) Get local and deployed state of serverless application.
90+
pipeline Manage the continuous delivery of the application
91+
publish Publish a packaged AWS SAM template to AWS Serverless Application Repository for sharing.
92+
93+
94+
Global Options:
95+
--debug Turn on debug logging to print debug message generated by SAM
96+
CLI and display timestamps.
97+
--version Show the version and exit.
98+
--info
99+
-h, --help Show this message and exit.
100+
```
101+
102+
103+
Success criteria for the change
104+
-------------------------------
105+
106+
* The success criteria for the change is less time spent on the help text to understand which part of the lifecycle a particular command operates in.
107+
* Increased confidence that the tool will help the user move in the right direction for their application.
108+
109+
Out-of-Scope
110+
------------
111+
* Changes in the sub-command help text.
112+
113+
114+
User Experience Walkthrough
115+
---------------------------
116+
117+
Implementation
118+
==============
119+
120+
CLI Changes
121+
-----------
122+
123+
CLI interface will remain the same.
124+
125+
### Breaking Change
126+
127+
N/A
128+
129+
Design
130+
------
131+
132+
There will be a separate implementation PR to showcase the changes, but it will use `click` to override commands options and help text.
133+
134+
`samconfig.toml` Changes
135+
----------------
136+
137+
N/A
138+
139+
Security
140+
--------
141+
142+
**What new dependencies (libraries/cli) does this change require?**
143+
144+
* No new dependencies
145+
146+
**What other Docker container images are you using?**
147+
148+
N/A
149+
150+
**Are you creating a new HTTP endpoint? If so explain how it will be
151+
created & used**
152+
153+
N/A
154+
155+
**Are you connecting to a remote API? If so explain how is this
156+
connection secured**
157+
158+
N/A
159+
160+
**Are you reading/writing to a temporary folder? If so, what is this
161+
used for and when do you clean up?**
162+
163+
N/A
164+
165+
**How do you validate new samconfig.toml configuration?**
166+
167+
N/A
168+
169+
What is your Testing Plan (QA)?
170+
===============================
171+
172+
Goal
173+
----
174+
175+
Pre-requesites
176+
--------------
177+
178+
Test Scenarios/Cases
179+
--------------------
180+
181+
Expected Results
182+
----------------
183+
184+
Pass/Fail
185+
---------
186+
187+
Documentation Changes
188+
=====================
189+
190+
Open Issues
191+
============
192+
193+
Task Breakdown
194+
==============
195+
196+
- \[x\] Send a Pull Request with this design document
197+
- \[ \] Build the command line interface
198+
- \[ \] Build the underlying library
199+
- \[ \] Unit tests
200+
- \[ \] Functional Tests
201+
- \[ \] Integration tests
202+
- \[ \] Run all tests on Windows
203+
- \[ \] Update documentation

0 commit comments

Comments
 (0)