From 73be21b3c0fce1dd0028691bc54b2ca9164d2833 Mon Sep 17 00:00:00 2001 From: Ken Collins Date: Fri, 11 Oct 2019 22:26:51 -0400 Subject: [PATCH 1/3] Fix Ignore Patterns. Add .git to Ruby workflow. --- aws_lambda_builders/actions.py | 2 +- aws_lambda_builders/workflows/ruby_bundler/workflow.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/aws_lambda_builders/actions.py b/aws_lambda_builders/actions.py index d37d361c1..cf0a5c165 100644 --- a/aws_lambda_builders/actions.py +++ b/aws_lambda_builders/actions.py @@ -98,4 +98,4 @@ def __init__(self, source_dir, dest_dir, excludes=None): self.excludes = excludes or [] def execute(self): - copytree(self.source_dir, self.dest_dir, ignore=shutil.ignore_patterns(*self.excludes)) + copytree(self.source_dir, self.dest_dir, ignore=shutil.ignore_patterns(self.excludes)) diff --git a/aws_lambda_builders/workflows/ruby_bundler/workflow.py b/aws_lambda_builders/workflows/ruby_bundler/workflow.py index 826d51fed..013c67dd7 100644 --- a/aws_lambda_builders/workflows/ruby_bundler/workflow.py +++ b/aws_lambda_builders/workflows/ruby_bundler/workflow.py @@ -21,7 +21,7 @@ class RubyBundlerWorkflow(BaseWorkflow): dependency_manager="bundler", application_framework=None) - EXCLUDED_FILES = (".aws-sam") + EXCLUDED_FILES = (".aws-sam", ".git") def __init__(self, source_dir, From ada89dc5f4dc823afeca07008d8cad5286ecaa64 Mon Sep 17 00:00:00 2001 From: Ken Collins Date: Sat, 12 Oct 2019 12:10:50 -0400 Subject: [PATCH 2/3] Revert ignore_patterns back. --- aws_lambda_builders/actions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aws_lambda_builders/actions.py b/aws_lambda_builders/actions.py index cf0a5c165..d37d361c1 100644 --- a/aws_lambda_builders/actions.py +++ b/aws_lambda_builders/actions.py @@ -98,4 +98,4 @@ def __init__(self, source_dir, dest_dir, excludes=None): self.excludes = excludes or [] def execute(self): - copytree(self.source_dir, self.dest_dir, ignore=shutil.ignore_patterns(self.excludes)) + copytree(self.source_dir, self.dest_dir, ignore=shutil.ignore_patterns(*self.excludes)) From 234d2c31ced3913768f1148721df09196eecac6e Mon Sep 17 00:00:00 2001 From: Ken Collins Date: Sat, 16 Nov 2019 19:48:53 -0500 Subject: [PATCH 3/3] Add ruby workflow integration test for excluded files. --- tests/integration/workflows/ruby_bundler/test_ruby.py | 9 +++++++++ .../ruby_bundler/testdata/excluded-files/.aws-sam/.keep | 0 .../ruby_bundler/testdata/excluded-files/Gemfile | 4 ++++ .../ruby_bundler/testdata/excluded-files/handler.rb | 3 +++ 4 files changed, 16 insertions(+) create mode 100644 tests/integration/workflows/ruby_bundler/testdata/excluded-files/.aws-sam/.keep create mode 100644 tests/integration/workflows/ruby_bundler/testdata/excluded-files/Gemfile create mode 100644 tests/integration/workflows/ruby_bundler/testdata/excluded-files/handler.rb diff --git a/tests/integration/workflows/ruby_bundler/test_ruby.py b/tests/integration/workflows/ruby_bundler/test_ruby.py index b286cc8c8..5ed47e7f3 100644 --- a/tests/integration/workflows/ruby_bundler/test_ruby.py +++ b/tests/integration/workflows/ruby_bundler/test_ruby.py @@ -46,6 +46,15 @@ def test_builds_project_with_dependencies(self): output_files = set(os.listdir(self.artifacts_dir)) self.assertEquals(expected_files, output_files) + def test_builds_project_and_ignores_excluded_files(self): + source_dir = os.path.join(self.TEST_DATA_FOLDER, "excluded-files") + self.builder.build(source_dir, self.artifacts_dir, self.scratch_dir, + os.path.join(source_dir, "Gemfile"), + runtime=self.runtime) + expected_files = {"handler.rb", "Gemfile", "Gemfile.lock", ".bundle", "vendor"} + output_files = set(os.listdir(self.artifacts_dir)) + self.assertEquals(expected_files, output_files) + def test_fails_if_bundler_cannot_resolve_dependencies(self): source_dir = os.path.join(self.TEST_DATA_FOLDER, "broken-deps") with self.assertRaises(WorkflowFailedError) as ctx: diff --git a/tests/integration/workflows/ruby_bundler/testdata/excluded-files/.aws-sam/.keep b/tests/integration/workflows/ruby_bundler/testdata/excluded-files/.aws-sam/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/tests/integration/workflows/ruby_bundler/testdata/excluded-files/Gemfile b/tests/integration/workflows/ruby_bundler/testdata/excluded-files/Gemfile new file mode 100644 index 000000000..5b48b7797 --- /dev/null +++ b/tests/integration/workflows/ruby_bundler/testdata/excluded-files/Gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' + +# This shouldn't even need to exist, that's a pending feature request. +# If no dependencies, leave blank. diff --git a/tests/integration/workflows/ruby_bundler/testdata/excluded-files/handler.rb b/tests/integration/workflows/ruby_bundler/testdata/excluded-files/handler.rb new file mode 100644 index 000000000..0093e4da1 --- /dev/null +++ b/tests/integration/workflows/ruby_bundler/testdata/excluded-files/handler.rb @@ -0,0 +1,3 @@ +def handle(event:,context:) + "Hello!" +end