Skip to content

chore: Support Java11, Python3.8, and Nodejs12.x runtimes#1549

Merged
jfuss merged 31 commits intoaws:developfrom
jfuss:support/new-runtimes
Nov 21, 2019
Merged

chore: Support Java11, Python3.8, and Nodejs12.x runtimes#1549
jfuss merged 31 commits intoaws:developfrom
jfuss:support/new-runtimes

Conversation

@jfuss
Copy link
Contributor

@jfuss jfuss commented Nov 19, 2019

Issue #, if available:

Description of changes:
What is left to do:

  • Update appveyor to run java11 for in-process builds for windows
  • Update appveyor to run java11 for in-process builds on linux
  • Update appveyor to run python3.8 for in-process builds
  • Update aws-lambda-builders to 0.6.0 after it is released

Checklist:

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

@mhart
Copy link
Contributor

mhart commented Nov 19, 2019

aws-lambda-builders has been updated to 0.6.0 on all build-* images 👍

@jfuss jfuss force-pushed the support/new-runtimes branch from 9d531f3 to 4eafdc9 Compare November 19, 2019 23:01
Copy link
Contributor

@c2tarun c2tarun left a comment

Choose a reason for hiding this comment

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

Some minor questions.

appveyor.yml Outdated
- sh: "/tmp/black --check setup.py tests samcli scripts"
- sh: "python scripts/check-isolated-needs-update.py"

# Set JAVEHOME to java11
Copy link
Contributor

Choose a reason for hiding this comment

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

typo.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

- sh: "python scripts/check-isolated-needs-update.py"

# Set JAVEHOME to java11
- sh: "JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Copy link
Contributor

Choose a reason for hiding this comment

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

JAVA_HOME for java8 is not set. I am not sure how appveyor works, but can this be an issue on next run, when JAVA_HOME will be for java11 and test would run expecting them to be 8?

Copy link
Contributor

Choose a reason for hiding this comment

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

Nevermind, now that I think about it, it shouldn't be an issue since it'll be a new session.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We set JAVA_HOME to java8 on line 82 (first step in the install step). The first pass of build tests will run with java8. I needed a way to also run the Java11 build tests. Instead of creating another appveyor project, I edit the JAVA_HOME env var to be java11 within the test_script phase of appveyor.

Copy link
Contributor

@sriram-mv sriram-mv left a comment

Choose a reason for hiding this comment

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

do we need to anything for the debug entrypoints?

- sh: "which python3.7"
- sh: "which python2.7"

- sh: "PATH=$PATH:/usr/bin/python3.8:/usr/bin/python3.7"
Copy link
Contributor

Choose a reason for hiding this comment

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

do 3.6 and 2.7 also need to be added to path?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

2.7 and 3.6 are already there: https://www.appveyor.com/docs/linux-images-software/#python

I am considering moving off of the pre-installed everything in favor how installing python versions through apt-get. This will make things a little more consistent in appveyor, but didn't want to go that deep here.

INIT_RUNTIMES = [
"nodejs10.x",
"python3.7",
# latest of each runtime version
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this list is what is used to showcases the runtimes during init, we should make this ordered, with a set maybe.

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 is ordered just in a list. I can update it to a set but there isn't a whole difference here (other than duplicate entry guard).

This is used within interactive init not in the help text.

@jfuss
Copy link
Contributor Author

jfuss commented Nov 20, 2019

@thesriram I added debug support for Python3.8 and Node12.x, which are based on the previous runtimes. Java11 needs more investment before we can confidently support debugging. The reason for this is because Java11 containers are based on provided and the overriding mechanism is slightly different. I don't want to hold up releasing everything else so my recommendation is to go forward without debug support. In the meantime, I will be spending time on ensuring things work before adding that related debug config.

Copy link
Contributor

@sriram-mv sriram-mv left a comment

Choose a reason for hiding this comment

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

👍

@jfuss jfuss merged commit 612eb40 into aws:develop Nov 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants