Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: Building projects in source #5933

Merged
merged 22 commits into from
Dec 5, 2023
Merged

feat: Building projects in source #5933

merged 22 commits into from
Dec 5, 2023

Conversation

lucashuy
Copy link
Contributor

Which issue(s) does this change fix?

Why is this change necessary?

How does it address the issue?

What side effects does this change have?

Mandatory Checklist

PRs will only be reviewed after checklist is complete

  • Add input/output type hints to new functions/methods
  • Write design document if needed (Do I need to write a design document?)
  • Write/update unit tests
  • Write/update integration tests
  • Write/update functional tests if needed
  • make pr passes
  • make update-reproducible-reqs if dependencies were changed
  • Write documentation

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

* Added event tracking for feature

* Correctly pass event value and fix typing
@github-actions github-actions bot added area/build sam build command pr/internal labels Sep 13, 2023
* Resolve symlinks at root level and mount to container

* Continue early instead of nesting in if statement

* make format

* Added integration test

* make format

* Use node project to test local deps and building in source

* Removed old test data

* Update test class name to reference testing symlinks

* Use correct skip decorator from unittest

* Changed mount mode to read only

* Removed the removed mount parameter in tests

* Remove kwarg in method call
* Added skeleton for build in source click option

* Fix tests and renamed option

* Added description and updated click option to include build

* Disable build tests again until esbuild resolution fix

* Revert template change

* Make hook name option mutually exclusive with build in source

* Fix integration test message assert
@lucashuy lucashuy changed the title feat: Building projects in source without copying to a temporary folder feat: Building projects in source Sep 29, 2023
* Added nodejs tests

* make format

* Enable retries

* Run build test inside of a scratch directory

* make format

* Updated Makefile test to properly use scratch directory and moved source copy to setup

* Changed copytree call to in house version

* Removed redundant parent method calling

* make format
* Bump npm version to 10.2.3 for linux testing

* Upgrade node to 18.18.2
* Enable and use new test data folder paths

* Added nodejs tests
* Resolve Layer symlinks before mounting container

* Use .get instead of if else

* Added integration tests

* Unprivate static method and make format

* Create paths using pathlib

* Remove debug flag

* Revert "Resolve Layer symlinks before mounting container"

This reverts commit e557067.

* Resolve links when creating tarfile for Docker build call

* make format

* Removed debug line

* Updated arugment with optional typing
)

* Add additional default excludes and exclude option

* Updated test and option definition

* Updated option and added tests

* Update resource match to consider nested stacks

* Handle parameters saved in samconfig
…ur (#6372)

* Use develop version of Lambda Builders

* Run nodejs local dep command in scratch directory and clean up aws-sam folder

* Exclude the folder of the modified file from trigger sync flows on Linux

* Revert "Use develop version of Lambda Builders"

This reverts commit fde143e.

* Add test validing ignoring Linux modified folder events

* Fix test
@lucashuy lucashuy marked this pull request as ready for review December 1, 2023 23:25
@lucashuy lucashuy requested a review from a team as a code owner December 1, 2023 23:25
Copy link
Contributor

@mndeveci mndeveci left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🥳 LGTM! Left 2 small-ish comments.

NODE_VERSION: "14.17.6"
NODE_VERSION: "18.18.2"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this affect other tests? And do we need to change settings for windows as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shouldn't affect the other tests since as far as I remember, they don't rely on npm specific behaviour. As for changing this on Windows, I can double check if we needed to bump the version in Windows or not. This was changed since the tests on Linux were hardcoded to a lower npm version, but for Windows this is not set.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tests are passing on Windows (ref: https://ci.appveyor.com/project/AWSSAMCLI/aws-sam-cli-canary-windows-dev/builds/48658868/job/ql8agf8u9fgncwtj?fullLog=true), though it might be worth it to pin npm on Windows too.

samcli/cli/types.py Show resolved Hide resolved
@lucashuy lucashuy added this pull request to the merge queue Dec 5, 2023
Merged via the queue into develop with commit 79c9bb0 Dec 5, 2023
56 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/build sam build command pr/internal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants