Skip to content

Commit

Permalink
chore: Update feature branch (#5555)
Browse files Browse the repository at this point in the history
* chore: use amazon ecr credential helper in windows appveyor (#5446)

* chore: bump version to 1.90.0 (#5448)

* fix: Handler path mapping for layer-wrapped esbuild functions (#5450)

* fix: Layer wrapping esbuild function handlers

* Remove unused import

* Use nodejs18 in tests

* fix: fix macos reproducable task and gh actions (#5455)

* feat(sync): support build-image option (#5441)

* feat(sync): support build-image option

* chore: adding build image option on help option

* fix: Avoid Certain Depedendency Version (#5460)

* Avoid broken click version

* Pin boto3 and jsonschema

* Update reproducible reqs

* Ignore deprecation warnings in pytest

* Pin jsonschema

* Fix broken e2e test (#5459)

* add pip check after all pip install in pyinstaller scripts (#5463)

* add pip check after all pip install in pyinstaller scripts

* update pyinstaller build scripts to explicitly print executed commands

* chore: fix typo in help text of `pipeline bootstrap` (#5467)

* chore: update aws-sam-translator to 1.71.0 (#5462)

Co-authored-by: GitHub Action <action@github.com>

* chore(deps): bump cryptography from 41.0.0 to 41.0.1 in /requirements (#5473)

Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.0 to 41.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/41.0.0...41.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: E2E test can't find esbuild binary (#5476)

* fix(invoke): Write in UTF-8 string instead of bytes (#5427)

* Revert "Revert "fix(invoke): Write in UTF-8 string instead of bytes. (#5232)" (#5401)"

This reverts commit 7b7c54c59ad15ad90fd558d640daefa5142115d7.

* Add typing and fix issues found in the reverted commit

* Update of comments

* handle pr feedback

---------

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>

* feat: Add remote invoke implementation for step functions (#5458)

* Added remote invoke implementation for step functions

* Added type hints and changed datetime conversion

* Add unit tests

* Updated logic for supported services

* Removed step functions from supported services

* Updated method doc string

* Address comments

* Add a unit test for checking supported executors

* Remove Any typing and replace with specific type

* fix: use images.build rather than low level build API to catch errors (#5399)

* fix: use container.build rather than low level build API to catch errors

* use specific exception type rather than catching all

* fix unit tests

* add unit tests

* add integration tests

* fix messaging

* Swap params

* Relax document version check for authorizers (#5477)

* fix: use StringIO instead of BytesIO with StreamWriter (#5485)

* fix: use stringio in ECRUploader

* add typing for inner stream instance

* chore: Update dependabot config (#5491)

* feat: Support YAML file formats for config files (#5469)

* feat: Abstract SamConfig (#5208)

* Abstract SamConfig and decouple TOML logic

* Fix documentation and comments

* Generalize exception for FileManager

* Remove FileManager logic to its own file

* Fix bug in setting a default FileManager

* Implement requested changes
This includes additional logging messages, as well as explicitly requiring file extensions

* Include supported extensions in log call

* Implement requested changes

* Update docstrings

* Refactor changes to preserve TOML comments

* Allow file document to update properly

* Remove duplicate data
Since TOMLDocument wraps a Python dictionary anyway, we don't need the separate information

* Add put comment for FileManager

* Implement requested changes

* Format files according to standard

* Implement helper method for dict-like to TOMLDocument

---------

Co-authored-by: Leonardo Gama <leogama@amazon.com>

* feat: Add YAML config file option (#5253)

* Abstract SamConfig and decouple TOML logic

* Fix documentation and comments

* Generalize exception for FileManager

* Remove FileManager logic to its own file

* Fix bug in setting a default FileManager

* Implement requested changes
This includes additional logging messages, as well as explicitly requiring file extensions

* Include supported extensions in log call

* Implement requested changes

* Update docstrings

* Refactor changes to preserve TOML comments

* Allow file document to update properly

* Remove duplicate data
Since TOMLDocument wraps a Python dictionary anyway, we don't need the separate information

* Add put comment for FileManager

* Implement requested changes

* Format files according to standard

* Implement helper method for dict-like to TOMLDocument

* Implement YamlFileManager

* Redefine YAML locally in class

* Update YAML-cast method

* Format correctly

---------

Co-authored-by: Leonardo Gama <leogama@amazon.com>

* feat: Add JSON config file option (#5264)

* Add JsonFileManager

* Implement requested changes

* Remove unused line in test

---------

Co-authored-by: Leonardo Gama <leogama@amazon.com>

* chore: Refactor TomlProvider to ConfigProvider (#5273)

Also, update docstrings to be in NumPy/SciPy format

Co-authored-by: Leonardo Gama <leogama@amazon.com>

* feat: Add hierarchy for samconfig filetypes (#5297)

* Add hierarchy for samconfig default filetypes

* Formatting and fixing tests

* Implement requested changes

* Fix logic to properly allow default name

* Fix linting issue

* Fix failing Windows test

* Update default config name in guided config

---------

Co-authored-by: Leonardo Gama <leogama@amazon.com>

* feat: Track config file extension (#5315)

* Add tracker for config file extensions

* Repair broken integration tests

* Clean up metric sort logic

* Implement requested changes

* Add Event unit tests

* Fix formatting

---------

Co-authored-by: Leonardo Gama <leogama@amazon.com>

* feat: Add and fix samconfig integration tests (#5371)

* Add samconfig integration tests

* Add config checks to guided deploy integration tests

* Fix failing integration test on Windows

* *Actually* fix failing Windows integration test

* Implement requested changes

* Fix logging imports

* Implement requested changes

* Fix bug comparing ParameterSource enum

---------

Co-authored-by: Leonardo Gama <leogama@amazon.com>

* feat: Fix message when no config file is found (#5394)

* Fix message when no config file found

* Formatting

---------

Co-authored-by: Leonardo Gama <leogama@amazon.com>

* chore: Rebase config project to develop (#5406)

* fix: fix the hardcoded number of stages printed in logs. (#5210)

* feat: Linking Authorizers to Lambda functions using the invocation URI (#5196)

* Link authorizer to lambda function invoke URI

* Updated doc string

* Updated exception messages back

* Added check for one element in reference list

* Updated empty ref list check to not block

* Updated log message

* Fix long line lint error

---------

Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* chore(deps-dev): bump parameterized from 0.8.1 to 0.9.0 in /requirements (#5214)

Bumps [parameterized](https://github.com/wolever/parameterized) from 0.8.1 to 0.9.0.
- [Changelog](https://github.com/wolever/parameterized/blob/master/CHANGELOG.txt)
- [Commits](https://github.com/wolever/parameterized/compare/v0.8.1...v0.9.0)

---
updated-dependencies:
- dependency-name: parameterized
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump filelock from 3.10.7 to 3.12.0 in /requirements (#5213)

Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.10.7 to 3.12.0.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.10.7...3.12.0)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump attrs from 22.2.0 to 23.1.0 in /requirements (#5212)

Bumps [attrs](https://github.com/python-attrs/attrs) from 22.2.0 to 23.1.0.
- [Release notes](https://github.com/python-attrs/attrs/releases)
- [Changelog](https://github.com/python-attrs/attrs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python-attrs/attrs/compare/22.2.0...23.1.0)

---
updated-dependencies:
- dependency-name: attrs
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: update SAM CLI with latest App Templates commit hash (#5211)

* feat: updating app templates repo hash with (a34f563f067e13df3eb350d36461b99397b6cda6)

* dummy change to trigger checks

* revert dummy commit

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* fix: fix failing Terraform integration test cases (#5218)

* fix: fix the failing terraform integration test cases

* fix: fix the resource address while accessing the module config resources

* fix: fix checking the experimental log integration test cases

* chore: bump version to 1.85.0 (#5226)

* chore: use the SAR Application created in testing accounts (#5221)

* chore: update aws_lambda_builders to 1.32.0 (#5215)

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* feat: Added linking Gateway Method to Lambda Authorizer (#5228)

* Added linking method to authorizer

* Fixed docstring spelling mistake

---------

Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* feat: Return early during linking if no destination resources are found (#5220)

* Returns during linking if no destination resources are found

* Updated comment to correctly reflect state

* Cleaned extra word

---------

Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* chore: Strengthen wording on "no Auth" during deploy (#5231)

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>
Co-authored-by: Sriram Madapusi Vasudevan <3770774+sriram-mv@users.noreply.github.com>

* feat: Link Lambda Authorizer to Rest API (#5219)

* Link RestApiId property for Lambda Authorizers

* Updated docstring

* Format files

---------

Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* feat: updating app templates repo hash with (9ee7db342025a42023882960b23ebfcde1d87422) (#5242)

Co-authored-by: GitHub Action <action@github.com>

* fix: handle edge cases with function sync flow in sam sync command (#5222)

* fix: handle special cases for function sync flow

* update with unit tests

* add integration tests

* set ADL to false

* fix update file methods

* address comments

* address comments to instantiate FunctionBuildInfo in the beginning

* chore: Upgrade Mac installer to Py3.11 (#5223)

* chore: Upgrade Mac installer to Py3.11

* Remove python in mac installer build process

* Update hardcoded python version in build-mac.sh

---------

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>

* feat: updating app templates repo hash with (66f4a230d1c939a0c3f7b5647710c694c3a486f7) (#5245)

Co-authored-by: GitHub Action <action@github.com>

* Revert "chore: Upgrade Mac installer to Py3.11 (#5223)" (#5252)

This reverts commit 5954042d0bced7fea329c06930f021915ed9b746.

* fix: add 3.11 to classifiers and upgrade Docker (#5225)

* fix: add 3.11 to classifiers

- update dependencies, need to nail down the versions.

* Pin dev dependencies and handle excluding folders for mypy

* Remove unneeded type: ignores

* Fix name-match mypy errors

* Fix empty-body error from mypy

* Fix mypy errors by ignoring and get pytest to run/pass

* Force mypy to not fail hopefully

* Remove unneeded assignment

* Update pinned requirements file

---------

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>
Co-authored-by: Jacob Fuss <32497805+jfuss@users.noreply.github.com>

* fix: fix build and deploy SAR integration test cases (#5244)

* fix: fix build SAR integration test cases

* add comments to the UpdatableSARTemplate class usage.

* fix black check

* chore(deps): bump markupsafe from 2.1.2 to 2.1.3 in /requirements (#5257)

Bumps [markupsafe](https://github.com/pallets/markupsafe) from 2.1.2 to 2.1.3.
- [Release notes](https://github.com/pallets/markupsafe/releases)
- [Changelog](https://github.com/pallets/markupsafe/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/markupsafe/compare/2.1.2...2.1.3)

---
updated-dependencies:
- dependency-name: markupsafe
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump pydantic from 1.10.7 to 1.10.8 in /requirements (#5258)

Bumps [pydantic](https://github.com/pydantic/pydantic) from 1.10.7 to 1.10.8.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v1.10.8/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v1.10.7...v1.10.8)

---
updated-dependencies:
- dependency-name: pydantic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: Add click command for cloud invoke command (#5238)

* Add custom click option for cloud invoke called parameter

* Added more error handling to executors and updated output-format enum to use auto

* Add new CLI command for cloud invoke

* Update samcli/commands/remote_invoke/invoke/cli.py

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* Update samcli/commands/remote_invoke/invoke/cli.py

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* Update samcli/commands/remote_invoke/cloud.py

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* Update samcli/cli/types.py

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* Address feedback

* Moved all command options to be handled by click configuration

* Updated validation function doc-string

* Updated debug logs in types.py

* Changed remote_invoke dir to cloud and updated log level for validation

* Address feedback

---------

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* chore(deps-dev): bump boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray] (#5256)

Bumps [boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray]](https://github.com/youtype/mypy_boto3_builder) from 1.26.131 to 1.26.146.
- [Release notes](https://github.com/youtype/mypy_boto3_builder/releases)
- [Commits](https://github.com/youtype/mypy_boto3_builder/commits)

---
updated-dependencies:
- dependency-name: boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray]
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* pin pytest-metadata to avoid its breaking change (#5261)

* chore: update aws_lambda_builders to 1.33.0 (#5262)

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Daniel Mil <84205762+mildaniel@users.noreply.github.com>

* chore: Add python3.11 to canaries (#5263)

* chore: Add python3.11 to canaries

* Remove python3.9

* Artifact export for GraphQLApi (#5250)

* Artifact export for GraphQLApi

* format

* docstrings

* fix unit tests

* fix mypy issues

* improve search method signature

* chore: bump version to 1.86.0 (#5266)

* fix: add constant str for enums to support deepcopy operation (#5265)

* fix: add constant str for enums to support deepcopy operation

* add unit tests

* formatting

* update automated updates gha to force restart of status checks (#5269)

* integration tests for graphql resource package (#5271)

* Revert "fix: add 3.11 to classifiers and upgrade Docker (#5225)"

This reverts commit b51d6617340853d891469ff7a4dcc5bb88175389.

* chore: bump version to 1.86.1

* chore: Upgrade Docker-py/ Support Py3.11 for running tests (#5279)

* fix: add 3.11 to classifiers and upgrade Docker (#5225)

* fix: add 3.11 to classifiers

- update dependencies, need to nail down the versions.

* Pin dev dependencies and handle excluding folders for mypy

* Remove unneeded type: ignores

* Fix name-match mypy errors

* Fix empty-body error from mypy

* Fix mypy errors by ignoring and get pytest to run/pass

* Force mypy to not fail hopefully

* Remove unneeded assignment

* Update pinned requirements file

---------

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>
Co-authored-by: Jacob Fuss <32497805+jfuss@users.noreply.github.com>

* chore: Force version on docker and allow unit test to run when docker not running

In order for the docker.from_env() not to fail when docker is not installed/running,
we force the min version on client creation. This was the default behavior in 4.X of
docker-py but not longer in the latest version.

---------

Co-authored-by: Sriram Madapusi Vasudevan <3770774+sriram-mv@users.noreply.github.com>
Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>

* test: GHA to Execute Test without Docker Running (#5290)

* test: Test without Docker running

* Add build test

* Run install

* Remove success condition

* Add continue on error

* Add continue on error

* Separate tests

* Fix test name

* Require new test

* Address comments

* Attempt to parameterize for windows

* Attempt to parameterize for windows

* Attempt to parameterize for windows

* Set samdev in environment

* Move skip to top of test class

* fix: remove ruby3.2 from preview runtimes (#5296)

* fix: remove ruby3.2 from preview runtimes

* update {} with set()

* Fix: Force docker version to match 4.2's default version (#5305)

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>

* chore: cleanup appveyor definitions for not running jobs which is already run with GHA & add docker info/version commands (#5306)

* chore: remove redundant tests and setup from appveyor definitions

* add/update docker info and docker version commands

* add 3.11 and macos to GHAs

* add some explanations to Windows section

* fix: Fix failing tests on Python3.11 (#5317)

* chore(deps): bump cryptography from 39.0.2 to 41.0.0 in /requirements (#5251)

* chore(deps): bump cryptography from 39.0.2 to 41.0.0 in /requirements

Bumps [cryptography](https://github.com/pyca/cryptography) from 39.0.2 to 41.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/39.0.2...41.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump pyopenssl version to support newer cryptography lib

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lucas <12496191+lucashuy@users.noreply.github.com>
Co-authored-by: Jacob Fuss <32497805+jfuss@users.noreply.github.com>
Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* add sleep between close and reopen (#5320)

* GraphQLApi support for `sam deploy` (#5294)

* GraphQLApi support for `sam deploy`

* unit tests and format fixes

* fix: Update Arn parsing logic and fix some edge cases/bug fixes for remote invoke (#5295)

* Fix some edge cases and bug fixes for remote invoke and update Arn parsing logic

* Address feedback

* Add unit test for s3 with no region/accoint_id provided

* Renamed command to sam remote invoke

* chore: update aws_lambda_builders to 1.34.0 (#5343)

* chore: update aws_lambda_builders to 1.34.0

* Update base.txt

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* test: test building npm and Typescript projects using external manifest file. (#5283)

* test: test building npm and Typescript projects using external manifest file.

* fix mypy issues

* remove node 12.x, and add the new node versions

* run make format

* chore(deps-dev): bump ruff from 0.0.261 to 0.0.272 in /requirements (#5337)

Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.261 to 0.0.272.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.261...v0.0.272)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump pytest-cov from 4.0.0 to 4.1.0 in /requirements (#5335)

Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 4.0.0 to 4.1.0.
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: pytest-cov
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: add lambda streaming support for remote invoke (#5307)

* feat: support response streaming with remote invoke

* add invoker and mappers

* Update output formatting of stream response

* add unit tests

* fix formatting

* Add docs

* address comments

* formatting

* move is_function_invoke_mode_response_stream into lambda invoke executors and add/update string constants

* chore: bump version to 1.87.0

* Revert app templates gha (#5356)

* Revert "add sleep between close and reopen (#5320)"

This reverts commit 5be690c88d580cfeee7731f549c75ed7543f47c5.

* Revert "update automated updates gha to force restart of status checks (#5269)"

This reverts commit deb212bc21eda2be0290e9a30f296aa74331e6c3.

* refactor: make remote invoke reactive to display results as soon as they are available (#5359)

* refactor: make remote invoke reactive to display results as soon as they are available

* addressed the comments

* refactor init_clients in sam delete (#5360)

* refactor init_clients in sam delete

* remove unused line

* use client_provider

* fix broken tests

* Update samcli/commands/delete/delete_context.py

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* add telemetry

* fix format

---------

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* chore: update aws-sam-translator to 1.69.0 (#5370)

Co-authored-by: GitHub Action <action@github.com>

* feat: sam remote invoke help text and UX fixes (#5366)

* Improve remote invoke help text and fix some UX bugs

* Updated help text for parameter option

* Updated test class name

* Updated test method name

* Updated help text for output-format and event-file

* Address feedback

* Updated help text for parameter option

* Changed --output-format name to output and the values to text/json

* Handle empty event for lambda and read from stdin when - is passed for event-file

* chore: temporary pin python version to 3.7.16 (#5384)

* chore: temporary pin python version to 3.7.16

* fix github action syntax error

* Updated cfn-lint to support ruby3.2 in validate (#5375)

* Remove unneeded test cases (#5374)

* Remove unneeded test cases

* Removing the two integ test cases as there is already coverage in unit test for cases that no region is specified

* feat: updating app templates repo hash with (67f28fd83477e0e15b394f995afb33b2053b4074) (#5362)

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* test: Integration tests for remote invoke on regular lambda functions (#5382)

* Created base integ glass for remote invoke tests

* Add integration tests for invoking lambda functions

* make black

* Moved tearDownClass to base class

* Removed tearDown class from inherited classes and updated lambda fn timeout

* Remove the check to skip appveyor tests on master branch

* feat: Make remote invoke command available (#5381)

* Enabled remote invoke command and updated docs link

* Created base integ glass for remote invoke tests

* Added end2end integ tests for remote invoke

* make black

* Moved tearDownClass to base class

* Remove the check to skip appveyor tests on master branch

* test: Remote invoke integration tests for response stream configured lambda functions  (#5383)

* Created base integ glass for remote invoke tests

* Add integration tests for invoking response streaming lambda fns

* make black

* Moved tearDownClass to base class

* Moved tearDownClass method to base class and removed architectures from template file

* Remove the check to skip appveyor tests on master branch

* chore: bump version to 1.88.0 (#5393)

* chore: fix issues with appveyor ubuntu setup #5395

* chore: remove deprecated runtime dotnetcore3.1 (#5091)

* chore: remove deprecated runtime dotnetcore3.1

* apply pr comments

* fix(invoke): Write in UTF-8 string instead of bytes. (#5232)

* fix(invoke): Write in UTF-8 string instead of bytes.

It appears that we were using sys.stdout.buffer to support python2
and python3 at the same time. Switching to just write to sys.stdout
allows us to write a utf-8 encoding string. When using sys.stdout.buffer,
we can only write bytes and I couldn't get the correct UTF8 encoded
string to print correctly.

* Fix ruff errors

* Update log_streamer.py to remove encoding

* More updates to make everything work better in general

* Fix with ruff again

* Explictingly write to stream for building images

* More patching writes

* More patching

* Fix long line

* Use mock over io.string

* More fixing of tests

* Assert mock instead of data directly

* More small edits in test

* Verify through calls instead of value

* run make black

* Fix when we flush to match pervious behavior and output

* add integration tests

* run make black

---------

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>
Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* Revert "fix(invoke): Write in UTF-8 string instead of bytes. (#5232)" (#5401)

This reverts commit 97104eac05c47aec1c7db62cb98cd050c7656d3d.

* Add sanity check script and use it in pyinstaller GHA (#5400)

* Add sanity check script and use it in pyinstaller GHA

* set pipefail in sanity-check.sh

* Make CI_OVERRIDE a global env var in the GHA workflow

* setup go in GHA

* disable telemetry

* Update script to check binary existence and to fix an issue in go build

* Resolve changes

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>
Co-authored-by: Lucas <12496191+lucashuy@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Jacob Fuss <32497805+jfuss@users.noreply.github.com>
Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>
Co-authored-by: Sriram Madapusi Vasudevan <3770774+sriram-mv@users.noreply.github.com>
Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>
Co-authored-by: Wing Fung Lau <4760060+hawflau@users.noreply.github.com>
Co-authored-by: hnnasit <84355507+hnnasit@users.noreply.github.com>
Co-authored-by: Daniel Mil <84205762+mildaniel@users.noreply.github.com>
Co-authored-by: Slava Senchenko <sencslav@amazon.com>
Co-authored-by: Leonardo Gama <leogama@amazon.com>

* Disable JSON file extension support (#5426)

Co-authored-by: Leonardo Gama <leogama@amazon.com>

* feat: Repair and refine tests (#5431)

* Fix failing integration test

* Add FileManager check for array param

---------

Co-authored-by: Leonardo Gama <leogama@amazon.com>

* chore: Update feat/config-files branch with changes from develop (#5466)

* fix: fix the hardcoded number of stages printed in logs. (#5210)

* feat: Linking Authorizers to Lambda functions using the invocation URI (#5196)

* Link authorizer to lambda function invoke URI

* Updated doc string

* Updated exception messages back

* Added check for one element in reference list

* Updated empty ref list check to not block

* Updated log message

* Fix long line lint error

---------

Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* chore(deps-dev): bump parameterized from 0.8.1 to 0.9.0 in /requirements (#5214)

Bumps [parameterized](https://github.com/wolever/parameterized) from 0.8.1 to 0.9.0.
- [Changelog](https://github.com/wolever/parameterized/blob/master/CHANGELOG.txt)
- [Commits](https://github.com/wolever/parameterized/compare/v0.8.1...v0.9.0)

---
updated-dependencies:
- dependency-name: parameterized
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump filelock from 3.10.7 to 3.12.0 in /requirements (#5213)

Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.10.7 to 3.12.0.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.10.7...3.12.0)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump attrs from 22.2.0 to 23.1.0 in /requirements (#5212)

Bumps [attrs](https://github.com/python-attrs/attrs) from 22.2.0 to 23.1.0.
- [Release notes](https://github.com/python-attrs/attrs/releases)
- [Changelog](https://github.com/python-attrs/attrs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python-attrs/attrs/compare/22.2.0...23.1.0)

---
updated-dependencies:
- dependency-name: attrs
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: update SAM CLI with latest App Templates commit hash (#5211)

* feat: updating app templates repo hash with (a34f563f067e13df3eb350d36461b99397b6cda6)

* dummy change to trigger checks

* revert dummy commit

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* fix: fix failing Terraform integration test cases (#5218)

* fix: fix the failing terraform integration test cases

* fix: fix the resource address while accessing the module config resources

* fix: fix checking the experimental log integration test cases

* chore: bump version to 1.85.0 (#5226)

* chore: use the SAR Application created in testing accounts (#5221)

* chore: update aws_lambda_builders to 1.32.0 (#5215)

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* feat: Added linking Gateway Method to Lambda Authorizer (#5228)

* Added linking method to authorizer

* Fixed docstring spelling mistake

---------

Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* feat: Return early during linking if no destination resources are found (#5220)

* Returns during linking if no destination resources are found

* Updated comment to correctly reflect state

* Cleaned extra word

---------

Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* chore: Strengthen wording on "no Auth" during deploy (#5231)

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>
Co-authored-by: Sriram Madapusi Vasudevan <3770774+sriram-mv@users.noreply.github.com>

* feat: Link Lambda Authorizer to Rest API (#5219)

* Link RestApiId property for Lambda Authorizers

* Updated docstring

* Format files

---------

Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* feat: updating app templates repo hash with (9ee7db342025a42023882960b23ebfcde1d87422) (#5242)

Co-authored-by: GitHub Action <action@github.com>

* fix: handle edge cases with function sync flow in sam sync command (#5222)

* fix: handle special cases for function sync flow

* update with unit tests

* add integration tests

* set ADL to false

* fix update file methods

* address comments

* address comments to instantiate FunctionBuildInfo in the beginning

* chore: Upgrade Mac installer to Py3.11 (#5223)

* chore: Upgrade Mac installer to Py3.11

* Remove python in mac installer build process

* Update hardcoded python version in build-mac.sh

---------

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>

* feat: updating app templates repo hash with (66f4a230d1c939a0c3f7b5647710c694c3a486f7) (#5245)

Co-authored-by: GitHub Action <action@github.com>

* Revert "chore: Upgrade Mac installer to Py3.11 (#5223)" (#5252)

This reverts commit 5954042d0bced7fea329c06930f021915ed9b746.

* fix: add 3.11 to classifiers and upgrade Docker (#5225)

* fix: add 3.11 to classifiers

- update dependencies, need to nail down the versions.

* Pin dev dependencies and handle excluding folders for mypy

* Remove unneeded type: ignores

* Fix name-match mypy errors

* Fix empty-body error from mypy

* Fix mypy errors by ignoring and get pytest to run/pass

* Force mypy to not fail hopefully

* Remove unneeded assignment

* Update pinned requirements file

---------

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>
Co-authored-by: Jacob Fuss <32497805+jfuss@users.noreply.github.com>

* fix: fix build and deploy SAR integration test cases (#5244)

* fix: fix build SAR integration test cases

* add comments to the UpdatableSARTemplate class usage.

* fix black check

* chore(deps): bump markupsafe from 2.1.2 to 2.1.3 in /requirements (#5257)

Bumps [markupsafe](https://github.com/pallets/markupsafe) from 2.1.2 to 2.1.3.
- [Release notes](https://github.com/pallets/markupsafe/releases)
- [Changelog](https://github.com/pallets/markupsafe/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/markupsafe/compare/2.1.2...2.1.3)

---
updated-dependencies:
- dependency-name: markupsafe
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump pydantic from 1.10.7 to 1.10.8 in /requirements (#5258)

Bumps [pydantic](https://github.com/pydantic/pydantic) from 1.10.7 to 1.10.8.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v1.10.8/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v1.10.7...v1.10.8)

---
updated-dependencies:
- dependency-name: pydantic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: Add click command for cloud invoke command (#5238)

* Add custom click option for cloud invoke called parameter

* Added more error handling to executors and updated output-format enum to use auto

* Add new CLI command for cloud invoke

* Update samcli/commands/remote_invoke/invoke/cli.py

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* Update samcli/commands/remote_invoke/invoke/cli.py

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* Update samcli/commands/remote_invoke/cloud.py

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* Update samcli/cli/types.py

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* Address feedback

* Moved all command options to be handled by click configuration

* Updated validation function doc-string

* Updated debug logs in types.py

* Changed remote_invoke dir to cloud and updated log level for validation

* Address feedback

---------

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* chore(deps-dev): bump boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray] (#5256)

Bumps [boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray]](https://github.com/youtype/mypy_boto3_builder) from 1.26.131 to 1.26.146.
- [Release notes](https://github.com/youtype/mypy_boto3_builder/releases)
- [Commits](https://github.com/youtype/mypy_boto3_builder/commits)

---
updated-dependencies:
- dependency-name: boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray]
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* pin pytest-metadata to avoid its breaking change (#5261)

* chore: update aws_lambda_builders to 1.33.0 (#5262)

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Daniel Mil <84205762+mildaniel@users.noreply.github.com>

* chore: Add python3.11 to canaries (#5263)

* chore: Add python3.11 to canaries

* Remove python3.9

* Artifact export for GraphQLApi (#5250)

* Artifact export for GraphQLApi

* format

* docstrings

* fix unit tests

* fix mypy issues

* improve search method signature

* chore: bump version to 1.86.0 (#5266)

* fix: add constant str for enums to support deepcopy operation (#5265)

* fix: add constant str for enums to support deepcopy operation

* add unit tests

* formatting

* update automated updates gha to force restart of status checks (#5269)

* integration tests for graphql resource package (#5271)

* Revert "fix: add 3.11 to classifiers and upgrade Docker (#5225)"

This reverts commit b51d6617340853d891469ff7a4dcc5bb88175389.

* chore: bump version to 1.86.1

* chore: Upgrade Docker-py/ Support Py3.11 for running tests (#5279)

* fix: add 3.11 to classifiers and upgrade Docker (#5225)

* fix: add 3.11 to classifiers

- update dependencies, need to nail down the versions.

* Pin dev dependencies and handle excluding folders for mypy

* Remove unneeded type: ignores

* Fix name-match mypy errors

* Fix empty-body error from mypy

* Fix mypy errors by ignoring and get pytest to run/pass

* Force mypy to not fail hopefully

* Remove unneeded assignment

* Update pinned requirements file

---------

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>
Co-authored-by: Jacob Fuss <32497805+jfuss@users.noreply.github.com>

* chore: Force version on docker and allow unit test to run when docker not running

In order for the docker.from_env() not to fail when docker is not installed/running,
we force the min version on client creation. This was the default behavior in 4.X of
docker-py but not longer in the latest version.

---------

Co-authored-by: Sriram Madapusi Vasudevan <3770774+sriram-mv@users.noreply.github.com>
Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>

* test: GHA to Execute Test without Docker Running (#5290)

* test: Test without Docker running

* Add build test

* Run install

* Remove success condition

* Add continue on error

* Add continue on error

* Separate tests

* Fix test name

* Require new test

* Address comments

* Attempt to parameterize for windows

* Attempt to parameterize for windows

* Attempt to parameterize for windows

* Set samdev in environment

* Move skip to top of test class

* fix: remove ruby3.2 from preview runtimes (#5296)

* fix: remove ruby3.2 from preview runtimes

* update {} with set()

* Fix: Force docker version to match 4.2's default version (#5305)

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>

* chore: cleanup appveyor definitions for not running jobs which is already run with GHA & add docker info/version commands (#5306)

* chore: remove redundant tests and setup from appveyor definitions

* add/update docker info and docker version commands

* add 3.11 and macos to GHAs

* add some explanations to Windows section

* fix: Fix failing tests on Python3.11 (#5317)

* chore(deps): bump cryptography from 39.0.2 to 41.0.0 in /requirements (#5251)

* chore(deps): bump cryptography from 39.0.2 to 41.0.0 in /requirements

Bumps [cryptography](https://github.com/pyca/cryptography) from 39.0.2 to 41.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/39.0.2...41.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump pyopenssl version to support newer cryptography lib

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lucas <12496191+lucashuy@users.noreply.github.com>
Co-authored-by: Jacob Fuss <32497805+jfuss@users.noreply.github.com>
Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* add sleep between close and reopen (#5320)

* GraphQLApi support for `sam deploy` (#5294)

* GraphQLApi support for `sam deploy`

* unit tests and format fixes

* fix: Update Arn parsing logic and fix some edge cases/bug fixes for remote invoke (#5295)

* Fix some edge cases and bug fixes for remote invoke and update Arn parsing logic

* Address feedback

* Add unit test for s3 with no region/accoint_id provided

* Renamed command to sam remote invoke

* chore: update aws_lambda_builders to 1.34.0 (#5343)

* chore: update aws_lambda_builders to 1.34.0

* Update base.txt

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* test: test building npm and Typescript projects using external manifest file. (#5283)

* test: test building npm and Typescript projects using external manifest file.

* fix mypy issues

* remove node 12.x, and add the new node versions

* run make format

* chore(deps-dev): bump ruff from 0.0.261 to 0.0.272 in /requirements (#5337)

Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.261 to 0.0.272.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.261...v0.0.272)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump pytest-cov from 4.0.0 to 4.1.0 in /requirements (#5335)

Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 4.0.0 to 4.1.0.
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: pytest-cov
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: add lambda streaming support for remote invoke (#5307)

* feat: support response streaming with remote invoke

* add invoker and mappers

* Update output formatting of stream response

* add unit tests

* fix formatting

* Add docs

* address comments

* formatting

* move is_function_invoke_mode_response_stream into lambda invoke executors and add/update string constants

* chore: bump version to 1.87.0

* Revert app templates gha (#5356)

* Revert "add sleep between close and reopen (#5320)"

This reverts commit 5be690c88d580cfeee7731f549c75ed7543f47c5.

* Revert "update automated updates gha to force restart of status checks (#5269)"

This reverts commit deb212bc21eda2be0290e9a30f296aa74331e6c3.

* refactor: make remote invoke reactive to display results as soon as they are available (#5359)

* refactor: make remote invoke reactive to display results as soon as they are available

* addressed the comments

* refactor init_clients in sam delete (#5360)

* refactor init_clients in sam delete

* remove unused line

* use client_provider

* fix broken tests

* Update samcli/commands/delete/delete_context.py

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* add telemetry

* fix format

---------

Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* chore: update aws-sam-translator to 1.69.0 (#5370)

Co-authored-by: GitHub Action <action@github.com>

* feat: sam remote invoke help text and UX fixes (#5366)

* Improve remote invoke help text and fix some UX bugs

* Updated help text for parameter option

* Updated test class name

* Updated test method name

* Updated help text for output-format and event-file

* Address feedback

* Updated help text for parameter option

* Changed --output-format name to output and the values to text/json

* Handle empty event for lambda and read from stdin when - is passed for event-file

* chore: temporary pin python version to 3.7.16 (#5384)

* chore: temporary pin python version to 3.7.16

* fix github action syntax error

* Updated cfn-lint to support ruby3.2 in validate (#5375)

* Remove unneeded test cases (#5374)

* Remove unneeded test cases

* Removing the two integ test cases as there is already coverage in unit test for cases that no region is specified

* feat: updating app templates repo hash with (67f28fd83477e0e15b394f995afb33b2053b4074) (#5362)

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* test: Integration tests for remote invoke on regular lambda functions (#5382)

* Created base integ glass for remote invoke tests

* Add integration tests for invoking lambda functions

* make black

* Moved tearDownClass to base class

* Removed tearDown class from inherited classes and updated lambda fn timeout

* Remove the check to skip appveyor tests on master branch

* feat: Make remote invoke command available (#5381)

* Enabled remote invoke command and updated docs link

* Created base integ glass for remote invoke tests

* Added end2end integ tests for remote invoke

* make black

* Moved tearDownClass to base class

* Remove the check to skip appveyor tests on master branch

* test: Remote invoke integration tests for response stream configured lambda functions  (#5383)

* Created base integ glass for remote invoke tests

* Add integration tests for invoking response streaming lambda fns

* make black

* Moved tearDownClass to base class

* Moved tearDownClass method to base class and removed architectures from template file

* Remove the check to skip appveyor tests on master branch

* chore: bump version to 1.88.0 (#5393)

* chore: fix issues with appveyor ubuntu setup #5395

* chore: remove deprecated runtime dotnetcore3.1 (#5091)

* chore: remove deprecated runtime dotnetcore3.1

* apply pr comments

* fix(invoke): Write in UTF-8 string instead of bytes. (#5232)

* fix(invoke): Write in UTF-8 string instead of bytes.

It appears that we were using sys.stdout.buffer to support python2
and python3 at the same time. Switching to just write to sys.stdout
allows us to write a utf-8 encoding string. When using sys.stdout.buffer,
we can only write bytes and I couldn't get the correct UTF8 encoded
string to print correctly.

* Fix ruff errors

* Update log_streamer.py to remove encoding

* More updates to make everything work better in general

* Fix with ruff again

* Explictingly write to stream for building images

* More patching writes

* More patching

* Fix long line

* Use mock over io.string

* More fixing of tests

* Assert mock instead of data directly

* More small edits in test

* Verify through calls instead of value

* run make black

* Fix when we flush to match pervious behavior and output

* add integration tests

* run make black

---------

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>
Co-authored-by: Mehmet Nuri Deveci <5735811+mndeveci@users.noreply.github.com>

* Revert "fix(invoke): Write in UTF-8 string instead of bytes. (#5232)" (#5401)

This reverts commit 97104eac05c47aec1c7db62cb98cd050c7656d3d.

* Add sanity check script and use it in pyinstaller GHA (#5400)

* Add sanity check script and use it in pyinstaller GHA

* set pipefail in sanity-check.sh

* Make CI_OVERRIDE a global env var in the GHA workflow

* setup go in GHA

* disable telemetry

* Update script to check binary existence and to fix an issue in go build

* chore: update aws-sam-translator to 1.70.0 (#5402)

Co-authored-by: GitHub Action <action@github.com>

* Version bump to 1.89.0 (#5420)

* chore(docs): updated readme with additional resources (#5349)

* chore: updated gitignore to ignore tmp scratch directory
used by dotnet tests

* chore: update readme to include additional workshop resources and missing Powertools links.
Fixed formatting

---------

Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* chore(deps): bump actions/setup-go from 3 to 4 (#5418)

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3 to 4.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sriram Madapusi Vasudevan <3770774+sriram-mv@users.noreply.github.com>

* chore(deps-dev): bump filelock from 3.12.0 to 3.12.2 in /requirements (#5378)

Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.12.0 to 3.12.2.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.12.0...3.12.2)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: updating app templates repo hash with (bb905c379830c3d8edbc196bda731076549028e3) (#5398)

Co-authored-by: GitHub Action <action@github.com>

* fix: add a table for package help text. (#5298)

* fix: add a table for package help text.

* Update samcli/commands/package/core/command.py

Co-authored-by: Daniel Mil <84205762+mildaniel@users.noreply.github.com>

* tests: fix strings in package help text

* fix: PR comments

* fix: PR comments.

---------

Co-authored-by: Daniel Mil <84205762+mildaniel@users.noreply.github.com>

* fix: Handle BROKEN_PIPE_ERROR (#5386)

* Handle pywintypes pipe exception

* Moved exception checking to check for winerror

* Use decorator and added unit tests

* Added failure test case

* make format

* Added more context/comments

* fix: remove circular dependency by moving parse_s3 method to its own util file (#5430)

* fix: remove circular dependency by moving parse_s3 method to its own util file

* add missing unit tests file

* chore(deps): bump sympy from 1.10.1 to 1.12 in /requirements (#5338)

Bumps [sympy](https://github.com/sympy/sympy) from 1.10.1 to 1.12.
- [Release notes](https://github.com/sympy/sympy/releases)
- [Commits](https://github.com/sympy/sympy/compare/sympy-1.10.1...sympy-1.12)

---
updated-dependencies:
- dependency-name: sympy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: hnnasit <84355507+hnnasit@users.noreply.github.com>

* chore(deps): bump websocket-client from 1.5.1 to 1.6.1 in /requirements (#5417)

Bumps [websocket-client](https://github.com/websocket-client/websocket-client) from 1.5.1 to 1.6.1.
- [Release notes](https://github.com/websocket-client/websocket-client/releases)
- [Changelog](https://github.com/websocket-client/websocket-client/blob/master/ChangeLog)
- [Commits](https://github.com/websocket-client/websocket-client/compare/v1.5.1...v1.6.1)

---
updated-dependencies:
- dependency-name: websocket-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump ruamel-yaml from 0.17.21 to 0.17.32 in /requirements (#5376)

* chore(deps): bump ruamel-yaml from 0.17.21 to 0.17.32 in /requirements

Bumps [ruamel-yaml](https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree) from 0.17.21 to 0.17.32.

---
updated-dependencies:
- dependency-name: ruamel-yaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Pin ruamel-yaml-clib version

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: hnnasit <84355507+hnnasit@users.noreply.github.com>
Co-authored-by: Haresh Nasit <hnnasit@amazon.com>

* Updated package formatter to import package options instead of deploy (#5433)

Co-authored-by: Sriram Madapusi Vasudevan <3770774+sriram-mv@users.noreply.github.com>

* chore(deps): bump importlib-metadata in /requirements (#5437)

Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 6.1.0 to 6.7.0.
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v6.1.0...v6.7.0)

---
updated-dependencies:
- dependency-name: importlib-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: `sam logs` help text (#5397)

* feat: `sam logs` help text

* fix: make ruff happy

* fix: address comments

* feat: enable terraform support for local start-api command (#5389)

* feat: Enable hook-name and skip-prepare-infra flagf for sam local start-api (#5217)

* Enable hook-name flag for sam local start-api

* Format files

* test: Terraform local start-api integration tests base (#5240)

* feat: update SAM CLI with latest App Templates commit hash (#5211)

* feat: updating app templates repo hash with (a34f563f067e13df3eb350d36461b99397b6cda6)

* dummy change to trigger checks

* revert dummy commit

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* Enable hook-name flag for sam local start-api

* Format files

* fix: fix failing Terraform integration test cases (#5218)

* fix: fix the failing terraform integration test cases

* fix: fix the resource address while accessing the module config resources

* fix: fix checking the experimental log integration test cases

* chore: bump version to 1.85.0 (#5226)

* chore: use the SAR Application created in testing accounts (#5221)

* chore: update aws_lambda_builders to 1.32.0 (#5215)

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* feat: Added linking Gateway Method to Lambda Authorizer (#5228)

* Added linking method to authorizer

* Fixed docstring spelling mistake

---------

Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* feat: Return early during linking if no destination resources are found (#5220)

* Returns during linking if no destination resources are found

* Updated comment to correctly reflect state

* Cleaned extra word

---------

Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* chore: Strengthen wording on "no Auth" during deploy (#5231)

Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>
Co-authored-by: Sriram Madapusi Vasudevan <3770774+sriram-mv@users.noreply.github.com>

* feat: Link Lambda Authorizer to Rest API (#5219)

* Link RestApiId property for Lambda Authorizers

* Updated docstring

* Format files

---------

Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>

* Terraform start-api integration tests

* Add test files

* Uncomment skip

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Mohamed Elasmar <71043312+moelasmar@users.noreply.github.com>
Co-authored-by: Lucas <12496191+lucashuy@users.noreply.github.com>
Co-authored-by: Jacob Fuss <32497805+jfuss@users.noreply.github.com>
Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>
Co-authored-by: Sriram Madapusi Vasudevan <3770774+sriram-mv@users.noreply.github.com>

* feat: Added OpenApi body integration testing and updated property builder (#5291)

* Added OpenApi body integration testing and updated property builder

* Added more test cases

* Changed tearDown to tearDownClass

* Updated JSON body parser to handle parsing errors and added unit tests

* Removed V1 references

* feat: Terraform Authorizer resource testing (#5270)

* Added authorizer project

* Added project files

* Removed extra print

* Add request based authorizer testing

* test: Test the unsupported limitations for local start api (#5309)

* test: Test the unsupported limitations for local start api

* fix lint issues

* apply pr comments

* fix: Bug Bash UX Issues (#5387)

* Fix bug bash UX issues

* Fix beta warning printing extra characters

* Fix authorizer logging

---------

Co-authored-by: Daniel Mil <84205762+mildaniel@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Lucas <12496191+lucashuy@users.noreply.github.com>
Co-authored-by: Jacob Fuss <32497805+jfuss@users.noreply.github.com>
Co-authored-by: Jacob Fuss <jfuss@users.noreply.github.com>
Co-authored-by: Sriram Madapusi Vasudevan <3770774+sriram-mv@users.noreply.github.com>

* Updated warning message about missing function in template (#5347)

Co-authored-by: Wing Fung Lau <4760060+hawflau@users.noreply.github.com>

* chore(deps-dev): bump types-pywin32 in /requirements (#5436)

Bumps [types-pywin32](https://github.com/python/typeshed) from 306.0.0.0 to 306.0.0.2.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pywin32
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: use latest python version (#5439)

* chore: remove the CDK SAM CLI integration testing and depend on the same test cases defined in CDK repo (#5410)

* chore: fix CDK Appveyor job and deprecate testing CDK V1

* move CDK testing to GH Actions

* fix spelling mistake

* run only on aws-sam-cli repo

* delete Appveyor Iac integration job

* change cron schedule

* update lambda functions to only use py3.9

* test on my github repo

* run the GH action only on aws-sam-cli repo

* update lambda functions to only use py3.9

* test on my github repo

* run the GH action only on aws-sam-cli repo

* chore: remove the CDK SAM CLI integration testing and depend on the same test cases defined in CDK repo.

* chore: use amazon ecr credential helper in windows appveyor (#5446)

* chore: bump version to 1.90.0 (#5448)

* fix: Handler path mapping for layer-wrapped esbuild functions (#5450)

* fix: Layer wrapping esbuild function handlers

* Remove unused import

* Use nodejs18 in tests

* fix: fix macos reproducable task and gh actions (#5455)

* feat(sync): support build-image option (#5441)

* feat(sync): support build-image option

* chore: adding build image option on help option

* fix: Avoid Certain Depedendency Version (#5460)

* Avoid broken click version

* Pin boto3 and jsonschema

* Update reproducible reqs

* Ignore deprecation warnings in pytest

* Pin jsonschema

* feat: Abstract SamConfig (#5208)

* Abstract SamConfig and decouple TOML logic

* Fix documentation and comments

* Generalize exception for FileManager

* Remove FileManager logic to its own file

* Fix bug in setting a default FileManager

* Implement requested changes
This includes additional logging messages, as well as explicitly requiring file extensions

* Include supported extensions in log call

* Implement requested changes

* Update docstrings

* Refactor changes to preserve TOML comments

* Allow …
  • Loading branch information
1 parent 0d2318d commit 0e01a42
Show file tree
Hide file tree
Showing 37 changed files with 489 additions and 73 deletions.
1 change: 1 addition & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ jobs:
with:
# These are the versions of Python that correspond to the supported Lambda runtimes
python-version: |
3.11
3.10
3.9
3.8
Expand Down
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
SAM_CLI_TELEMETRY ?= 0

init:
pip install wheel
pip install "cython<3.0.0" pyyaml==5.4.1 --no-build-isolation
pip uninstall wheel cython --yes
SAM_CLI_DEV=1 pip install -e '.[dev]'

test:
Expand Down
10 changes: 10 additions & 0 deletions installer/pyinstaller/build-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,16 @@ cd ..
echo "Installing Python Libraries"
python3 -m venv venv
./venv/bin/pip install --upgrade pip

# https://github.com/yaml/pyyaml/issues/724
echo "Force cython package version to be lower than 3.x.x"
./venv/bin/pip install wheel
./venv/bin/pip install --no-build-isolation "cython<3.0.0" pyyaml==5.4.1

echo "Uninstall local cython package"
./venv/bin/pip uninstall wheel cython --yes
# end cython work around

./venv/bin/pip install -r src/requirements/reproducible-linux.txt

echo "Copying All Python Libraries"
Expand Down
10 changes: 10 additions & 0 deletions installer/pyinstaller/build-mac.sh
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,16 @@ cd ..
echo "Installing Python Libraries"
/usr/local/bin/python3.8 -m venv venv
./venv/bin/pip install --upgrade pip

# https://github.com/yaml/pyyaml/issues/724
echo "Force cython package version to be lower than 3.x.x"
./venv/bin/pip install wheel
./venv/bin/pip install --no-build-isolation "cython<3.0.0" pyyaml==5.4.1

echo "Uninstall local cython package"
./venv/bin/pip uninstall wheel cython --yes
# end cython work around

./venv/bin/pip install -r src/requirements/reproducible-mac.txt

echo "Copying All Python Libraries"
Expand Down
2 changes: 1 addition & 1 deletion requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ docker~=6.1.0
dateparser~=1.1
requests~=2.31.0
serverlessrepo==0.1.10
aws_lambda_builders==1.34.0
aws_lambda_builders==1.35.0
tomlkit==0.11.8
watchdog==2.1.2
rich~=13.4.2
Expand Down
2 changes: 1 addition & 1 deletion requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ types-requests==2.31.0.1
types-urllib3==1.26.25.13

# Test requirements
pytest~=7.2.2
pytest~=7.4.0
parameterized==0.9.0
pytest-xdist==3.2.0
pytest-forked==1.6.0
Expand Down
2 changes: 1 addition & 1 deletion requirements/pyinstaller-build.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Executable binary builder requirements
setuptools==67.7.2
pyinstaller==5.10.1
pyinstaller==5.13.0
6 changes: 3 additions & 3 deletions requirements/reproducible-linux.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ attrs==23.1.0 \
# jschema-to-python
# jsonschema
# sarif-om
aws-lambda-builders==1.34.0 \
--hash=sha256:0790f7e9b7ee7286b96fbcf49450c5be0341bb7cb852ca7d74beae190139eb48 \
--hash=sha256:20456a942a417407b42ecf8ab7fce6a47306fd063051e7cb09d02d1be24d5cf3
aws-lambda-builders==1.35.0 \
--hash=sha256:419d766e60ac2a7303a23889b354d108a4244ce8d467dcf9dc71a62461895780 \
--hash=sha256:cf462961ec8c9d493f82b955d6b76630dc0ed356b166caddd5436719ce599586
# via aws-sam-cli (setup.py)
aws-sam-translator==1.71.0 \
--hash=sha256:17fb87c8137d8d49e7a978396b2b3b279211819dee44618415aab1e99c2cb659 \
Expand Down
12 changes: 6 additions & 6 deletions requirements/reproducible-mac.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ attrs==23.1.0 \
# jschema-to-python
# jsonschema
# sarif-om
aws-lambda-builders==1.34.0 \
--hash=sha256:0790f7e9b7ee7286b96fbcf49450c5be0341bb7cb852ca7d74beae190139eb48 \
--hash=sha256:20456a942a417407b42ecf8ab7fce6a47306fd063051e7cb09d02d1be24d5cf3
aws-lambda-builders==1.35.0 \
--hash=sha256:419d766e60ac2a7303a23889b354d108a4244ce8d467dcf9dc71a62461895780 \
--hash=sha256:cf462961ec8c9d493f82b955d6b76630dc0ed356b166caddd5436719ce599586
# via aws-sam-cli (setup.py)
aws-sam-translator==1.71.0 \
--hash=sha256:17fb87c8137d8d49e7a978396b2b3b279211819dee44618415aab1e99c2cb659 \
Expand Down Expand Up @@ -271,9 +271,9 @@ idna==3.4 \
--hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 \
--hash=sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2
# via requests
importlib-metadata==6.7.0 \
--hash=sha256:1aaf550d4f73e5d6783e7acb77aec43d49da8017410afae93822cc9cca98c4d4 \
--hash=sha256:cb52082e659e97afc5dac71e79de97d8681de3aa07ff18578330904a9d18e5b5
importlib-metadata==6.8.0 \
--hash=sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb \
--hash=sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743
# via flask
importlib-resources==5.12.0 \
--hash=sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6 \
Expand Down
2 changes: 1 addition & 1 deletion samcli/commands/build/command.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
\b
Supported Runtimes
------------------
1. Python 3.7, 3.8, 3.9, 3.10 using PIP\n
1. Python 3.7, 3.8, 3.9, 3.10, 3.11 using PIP\n
2. Nodejs 18.x, 16.x, 14.x, 12.x using NPM\n
3. Ruby 2.7, 3.2 using Bundler\n
4. Java 8, Java 11, Java 17 using Gradle and Maven\n
Expand Down
3 changes: 2 additions & 1 deletion samcli/lib/build/bundler.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,8 @@ def _get_path_and_filename_from_handler(handler: str) -> Optional[str]:
:return: string path to built handler file
"""
try:
path = str(Path(handler).parent / Path(handler).stem) + ".js"
path = (Path(handler).parent / Path(handler).stem).as_posix()
path = path + ".js"
except (AttributeError, TypeError):
return None
return path
Expand Down
2 changes: 2 additions & 0 deletions samcli/lib/build/workflow_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ def get_layer_subfolder(build_workflow: str) -> str:
"python3.8": "python",
"python3.9": "python",
"python3.10": "python",
"python3.11": "python",
"nodejs4.3": "nodejs",
"nodejs6.10": "nodejs",
"nodejs8.10": "nodejs",
Expand Down Expand Up @@ -155,6 +156,7 @@ def get_workflow_config(
"python3.8": BasicWorkflowSelector(PYTHON_PIP_CONFIG),
"python3.9": BasicWorkflowSelector(PYTHON_PIP_CONFIG),
"python3.10": BasicWorkflowSelector(PYTHON_PIP_CONFIG),
"python3.11": BasicWorkflowSelector(PYTHON_PIP_CONFIG),
"nodejs12.x": BasicWorkflowSelector(NODEJS_NPM_CONFIG),
"nodejs14.x": BasicWorkflowSelector(NODEJS_NPM_CONFIG),
"nodejs16.x": BasicWorkflowSelector(NODEJS_NPM_CONFIG),
Expand Down
2 changes: 1 addition & 1 deletion samcli/lib/providers/cfn_api_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -522,7 +522,7 @@ def _extract_cfn_gateway_v2_stage(
api_resource_type = resources.get(api_id, {}).get("Type")
if api_resource_type != AWS_APIGATEWAY_V2_API:
raise InvalidSamTemplateException(
"The AWS::ApiGatewayV2::Stag must have a valid ApiId that points to Api resource {}".format(api_id)
"The AWS::ApiGatewayV2::Stage must have a valid ApiId that points to Api resource {}".format(api_id)
)

collector.stage_name = stage_name
Expand Down
6 changes: 3 additions & 3 deletions samcli/lib/remote_invoke/lambda_invoke_executors.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,16 +159,16 @@ class DefaultConvertToJSON(RemoteInvokeRequestResponseMapper[RemoteInvokeExecuti
def map(self, test_input: RemoteInvokeExecutionInfo) -> RemoteInvokeExecutionInfo:
if not test_input.is_file_provided():
if not test_input.payload:
LOG.debug("Input event not found, invoking Lambda Function with an empty event")
LOG.debug("Input event not found, invoking resource with an empty event")
test_input.payload = "{}"
LOG.debug("Mapping input Payload to JSON string object")
LOG.debug("Mapping input event to JSON string object")
try:
_ = json.loads(cast(str, test_input.payload))
except JSONDecodeError:
json_value = json.dumps(test_input.payload)
LOG.info(
"Auto converting value '%s' into JSON '%s'. "
"If you don't want auto-conversion, please provide a JSON string as payload",
"If you don't want auto-conversion, please provide a JSON string as event",
test_input.payload,
json_value,
)
Expand Down
1 change: 1 addition & 0 deletions samcli/lib/utils/architecture.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"python3.8": [ARM64, X86_64],
"python3.9": [ARM64, X86_64],
"python3.10": [ARM64, X86_64],
"python3.11": [ARM64, X86_64],
"ruby2.7": [ARM64, X86_64],
"ruby3.2": [ARM64, X86_64],
"java8": [X86_64],
Expand Down
2 changes: 1 addition & 1 deletion samcli/lib/utils/preview_runtimes.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
"""
from typing import Set

PREVIEW_RUNTIMES: Set[str] = set()
PREVIEW_RUNTIMES: Set[str] = {"python3.11"}
5 changes: 4 additions & 1 deletion samcli/local/common/runtime_template.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
RUNTIME_DEP_TEMPLATE_MAPPING = {
"python": [
{
"runtimes": ["python3.10", "python3.9", "python3.8", "python3.7"],
"runtimes": ["python3.11", "python3.10", "python3.9", "python3.8", "python3.7"],
"dependency_manager": "pip",
"init_location": os.path.join(_templates, "cookiecutter-aws-sam-hello-python"),
"build": True,
Expand Down Expand Up @@ -113,6 +113,7 @@ def get_local_lambda_images_location(mapping, runtime):
"provided.al2",
"provided",
# python runtimes in descending order
"python3.11",
"python3.10",
"python3.9",
"python3.8",
Expand All @@ -135,6 +136,7 @@ def get_local_lambda_images_location(mapping, runtime):
"nodejs16.x": "amazon/nodejs16.x-base",
"nodejs14.x": "amazon/nodejs14.x-base",
"nodejs12.x": "amazon/nodejs12.x-base",
"python3.11": "amazon/python3.11-base",
"python3.10": "amazon/python3.10-base",
"python3.9": "amazon/python3.9-base",
"python3.8": "amazon/python3.8-base",
Expand All @@ -156,6 +158,7 @@ def get_local_lambda_images_location(mapping, runtime):
"python3.8": "Python36",
"python3.9": "Python36",
"python3.10": "Python36",
"python3.11": "Python36",
"dotnet6": "dotnet6",
"go1.x": "Go1",
}
Expand Down
4 changes: 4 additions & 0 deletions samcli/local/docker/lambda_debug_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,10 @@ def get_debug_settings(debug_port, debug_args_list, _container_env_vars, runtime
entry + ["/var/lang/bin/python3.10"] + debug_args_list + ["/var/runtime/bootstrap.py"],
container_env_vars=_container_env_vars,
),
Runtime.python311.value: lambda: DebugSettings(
entry + ["/var/lang/bin/python3.11"] + debug_args_list + ["/var/runtime/bootstrap.py"],
container_env_vars=_container_env_vars,
),
}
try:
return entrypoint_mapping[runtime]()
Expand Down
1 change: 1 addition & 0 deletions samcli/local/docker/lambda_image.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ class Runtime(Enum):
python38 = "python3.8"
python39 = "python3.9"
python310 = "python3.10"
python311 = "python3.11"
ruby27 = "ruby2.7"
ruby32 = "ruby3.2"
java8 = "java8"
Expand Down
2 changes: 1 addition & 1 deletion samcli/runtime_config.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"app_template_repo_commit": "bb905c379830c3d8edbc196bda731076549028e3"
"app_template_repo_commit": "70788081366ff232a25a8b31961f59d27103e449"
}
2 changes: 2 additions & 0 deletions tests/integration/buildcmd/test_build_cmd.py
Original file line number Diff line number Diff line change
Expand Up @@ -440,6 +440,7 @@ def _validate_skipped_built_function(
("template.yaml", "Function", True, "python3.8", "Python", False, "CodeUri"),
("template.yaml", "Function", True, "python3.9", "Python", False, "CodeUri"),
("template.yaml", "Function", True, "python3.10", "Python", False, "CodeUri"),
("template.yaml", "Function", True, "python3.11", "Python", False, "CodeUri"),
("template.yaml", "Function", True, "python3.7", "PythonPEP600", False, "CodeUri"),
("template.yaml", "Function", True, "python3.8", "PythonPEP600", False, "CodeUri"),
],
Expand Down Expand Up @@ -479,6 +480,7 @@ def test_with_default_requirements(self):
("template.yaml", "Function", True, "python3.8", "Python", False, "CodeUri"),
("template.yaml", "Function", True, "python3.9", "Python", False, "CodeUri"),
("template.yaml", "Function", True, "python3.10", "Python", False, "CodeUri"),
("template.yaml", "Function", True, "python3.11", "Python", False, "CodeUri"),
],
)
class TestBuildCommand_PythonFunctions_WithDocker(BuildIntegPythonBase):
Expand Down
17 changes: 9 additions & 8 deletions tests/integration/remote/invoke/remote_invoke_integ_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
run_command,
)
from tests.integration.deploy.deploy_integ_base import DeployIntegBase
from samcli.lib.remote_invoke.remote_invoke_executor_factory import RemoteInvokeExecutorFactory

from samcli.lib.utils.boto_utils import get_boto_resource_provider_with_config, get_boto_client_provider_with_config
from samcli.lib.utils.cloudformation import get_resource_summaries
Expand Down Expand Up @@ -47,17 +48,17 @@ def remote_invoke_deploy_stack(stack_name, template_path):
@classmethod
def create_resources_and_boto_clients(cls):
cls.remote_invoke_deploy_stack(cls.stack_name, cls.template_path)
stack_resource_summaries = get_resource_summaries(
boto_client_provider = get_boto_client_provider_with_config()
cls.stack_resource_summaries = get_resource_summaries(
get_boto_resource_provider_with_config(),
get_boto_client_provider_with_config(),
boto_client_provider,
cls.stack_name,
)
cls.stack_resources = {
resource_full_path: stack_resource_summary.physical_resource_id
for resource_full_path, stack_resource_summary in stack_resource_summaries.items()
}
cls.cfn_client = get_boto_client_provider_with_config()("cloudformation")
cls.lambda_client = get_boto_client_provider_with_config()("lambda")
cls.supported_resources = RemoteInvokeExecutorFactory.REMOTE_INVOKE_EXECUTOR_MAPPING.keys()
cls.cfn_client = boto_client_provider("cloudformation")
cls.lambda_client = boto_client_provider("lambda")
cls.stepfunctions_client = boto_client_provider("stepfunctions")
cls.xray_client = boto_client_provider("xray")

@staticmethod
def get_command_list(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class TestInvokeResponseStreamingLambdas(RemoteInvokeIntegBase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.stack_name = f"{TestInvokeResponseStreamingLambdas.__name__}-{uuid.uuid4().hex}"
cls.stack_name = f"{cls.__name__}-{uuid.uuid4().hex}"
cls.create_resources_and_boto_clients()

def test_invoke_empty_event_provided(self):
Expand Down
Loading

0 comments on commit 0e01a42

Please sign in to comment.