diff --git a/features/fixtures/docker-compose.yml b/features/fixtures/docker-compose.yml index c8d4ae6b..6d9f9511 100644 --- a/features/fixtures/docker-compose.yml +++ b/features/fixtures/docker-compose.yml @@ -22,8 +22,6 @@ services: - BUGSNAG_API_KEY - BUGSNAG_ERROR_ENDPOINT - BUGSNAG_SESSION_ENDPOINT - extra_hosts: - - "host.docker.internal:host-gateway" volumes: - "/var/run/docker.sock:/var/run/docker.sock" - "./aws-lambda/app:/usr/src/app" diff --git a/features/steps/steps.rb b/features/steps/steps.rb index 26152b13..4fd74e81 100644 --- a/features/steps/steps.rb +++ b/features/steps/steps.rb @@ -1,6 +1,16 @@ +require "os" + # PYTHON_TEST_VERSION is defined in env.rb PARAMETER_OVERRIDES = "--parameter-overrides ParameterKey=Runtime,ParameterValue=python#{PYTHON_TEST_VERSION}" +def current_ip + return "host.docker.internal" if OS.mac? + + ip_addr = `ifconfig | grep -Eo 'inet (addr:)?([0-9]*\\\.){3}[0-9]*' | grep -v '127.0.0.1'` + ip_list = /((?:[0-9]*\.){3}[0-9]*)/.match(ip_addr) + ip_list.captures.first +end + Given("I build the {string} lambda") do |lambda_name| step(%Q{I run the service "aws-lambda" with the command "sam build #{lambda_name} #{PARAMETER_OVERRIDES}"}) end @@ -8,7 +18,7 @@ Given("I invoke the {string} lambda") do |lambda_name| command = [ "sam local invoke #{lambda_name}", - "--container-host host.docker.internal", + "--container-host #{current_ip}", "--docker-volume-basedir $PWD/features/fixtures/aws-lambda/app/.aws-sam/build", PARAMETER_OVERRIDES, ]