diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c5d972429..3e99f4942 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,11 +25,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 25 uses: actions/setup-java@v3 with: distribution: 'corretto' - java-version: 17 + java-version: 25 cache: maven - name: mvn db-setup run: ./mvnw package -f infrastructure/db-setup/pom.xml @@ -62,11 +62,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 25 uses: actions/setup-java@v3 with: distribution: 'corretto' - java-version: 17 + java-version: 25 cache: maven - name: mvn initial run: mvn package @@ -79,11 +79,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 25 uses: actions/setup-java@v3 with: distribution: 'corretto' - java-version: 17 + java-version: 25 cache: maven - name: mvn build run: mvn package diff --git a/labs/unicorn-location-api/UnicornLocationFunction/pom.xml b/labs/unicorn-location-api/UnicornLocationFunction/pom.xml index 61f8be013..4fc239e63 100644 --- a/labs/unicorn-location-api/UnicornLocationFunction/pom.xml +++ b/labs/unicorn-location-api/UnicornLocationFunction/pom.xml @@ -7,8 +7,8 @@ jar API to store unicorn location records - 17 - 17 + 25 + 25 UTF-8 UTF-8 diff --git a/labs/unicorn-location-api/final/unicorn-location-api-final/Dockerfile b/labs/unicorn-location-api/final/unicorn-location-api-final/Dockerfile index 69f71e913..99835307b 100644 --- a/labs/unicorn-location-api/final/unicorn-location-api-final/Dockerfile +++ b/labs/unicorn-location-api/final/unicorn-location-api-final/Dockerfile @@ -14,7 +14,7 @@ RUN curl -4 -L https://github.com/graalvm/graalvm-ce-builds/releases/download/jd RUN mv graalvm-community-openjdk-${GRAAL_VERSION}* /usr/lib/graalvm # Maven -ENV MVN_VERSION 3.9.6 +ENV MVN_VERSION 3.9.11 ENV MVN_FOLDERNAME apache-maven-${MVN_VERSION} ENV MVN_FILENAME apache-maven-${MVN_VERSION}-bin.tar.gz RUN curl -4 -L https://archive.apache.org/dist/maven/maven-3/${MVN_VERSION}/binaries/${MVN_FILENAME} | tar -xvz diff --git a/labs/unicorn-location-api/final/unicorn-location-api-final/UnicornLocationFunction/pom.xml b/labs/unicorn-location-api/final/unicorn-location-api-final/UnicornLocationFunction/pom.xml index dce254b54..5a1c3aed4 100644 --- a/labs/unicorn-location-api/final/unicorn-location-api-final/UnicornLocationFunction/pom.xml +++ b/labs/unicorn-location-api/final/unicorn-location-api-final/UnicornLocationFunction/pom.xml @@ -7,8 +7,8 @@ jar API to store unicorn location records - 17 - 17 + 25 + 25 UTF-8 UTF-8 diff --git a/labs/unicorn-location-api/graal/Dockerfile b/labs/unicorn-location-api/graal/Dockerfile index d8643ae15..9cf1b043b 100644 --- a/labs/unicorn-location-api/graal/Dockerfile +++ b/labs/unicorn-location-api/graal/Dockerfile @@ -14,7 +14,7 @@ RUN curl -4 -L https://github.com/graalvm/graalvm-ce-builds/releases/download/jd RUN mv graalvm-community-openjdk-${GRAAL_VERSION}* /usr/lib/graalvm # Maven -ENV MVN_VERSION 3.9.9 +ENV MVN_VERSION 3.9.11 ENV MVN_FOLDERNAME apache-maven-${MVN_VERSION} ENV MVN_FILENAME apache-maven-${MVN_VERSION}-bin.tar.gz RUN curl -4 -L https://archive.apache.org/dist/maven/maven-3/${MVN_VERSION}/binaries/${MVN_FILENAME} | tar -xvz diff --git a/labs/unicorn-location-api/template.yaml b/labs/unicorn-location-api/template.yaml index cde737dd2..3248b5726 100644 --- a/labs/unicorn-location-api/template.yaml +++ b/labs/unicorn-location-api/template.yaml @@ -16,7 +16,7 @@ Resources: CodeUri: UnicornLocationFunction FunctionName: unicorn-location-api-post Handler: com.unicorn.location.UnicornPostLocationHandler::handleRequest - Runtime: java21 + Runtime: java25 Architectures: - x86_64 MemorySize: 1024 diff --git a/labs/unicorn-stock-broker/pom.xml b/labs/unicorn-stock-broker/pom.xml index 749435a37..dc45985e0 100644 --- a/labs/unicorn-stock-broker/pom.xml +++ b/labs/unicorn-stock-broker/pom.xml @@ -12,8 +12,8 @@ jar API to store unicorn transactions - 17 - 17 + 25 + 25 UTF-8 UTF-8 2025.0.0 diff --git a/labs/unicorn-stock-broker/template.yaml b/labs/unicorn-stock-broker/template.yaml index c22f4ca4b..689eae6ed 100644 --- a/labs/unicorn-stock-broker/template.yaml +++ b/labs/unicorn-stock-broker/template.yaml @@ -7,7 +7,7 @@ Description: > Globals: Function: - Runtime: java21 + Runtime: java25 Architectures: - x86_64 MemorySize: 2048 diff --git a/labs/unicorn-store/deploy.sh b/labs/unicorn-store/deploy.sh index 686bd7935..c44d931a5 100755 --- a/labs/unicorn-store/deploy.sh +++ b/labs/unicorn-store/deploy.sh @@ -40,7 +40,7 @@ if [ $app == "spring-graalvm" ] then if [[ $build == "--build" ]] then - ./mvnw clean package -f software/alternatives/unicorn-store-basic/pom.xml + ./mvnw clean package -f software/alternatives/unicorn-store-spring-graalvm/pom.xml fi cd infrastructure/cdk cdk deploy UnicornStoreSpringGraalVMApp --outputs-file target/output-spring-graalvm.json --require-approval never diff --git a/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/UnicornStoreApp.java b/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/UnicornStoreApp.java index 4504691b9..fe38c4cd4 100644 --- a/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/UnicornStoreApp.java +++ b/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/UnicornStoreApp.java @@ -59,8 +59,7 @@ public static void main(final String[] args) { new NagPackSuppression.Builder().id("AwsSolutions-APIG3").reason("Workshop API Gateways do not need AWS WAF assigned").build(), new NagPackSuppression.Builder().id("AwsSolutions-EC23").reason("Not needed").build(), new NagPackSuppression.Builder().id("AwsSolutions-RDS13").reason("Workshop Database does not need backups").build(), - new NagPackSuppression.Builder().id("CdkNagValidationFailure").reason("Suppress warnings see: https://github.com/cdklabs/cdk-nag/issues/817").build(), - new NagPackSuppression.Builder().id("AwsSolutions-L1").reason("Workshop not upgraded to Java 25 yet").build() + new NagPackSuppression.Builder().id("CdkNagValidationFailure").reason("Suppress warnings see: https://github.com/cdklabs/cdk-nag/issues/817").build() ); NagSuppressions.addStackSuppressions(infrastructureStack, suppression); diff --git a/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/UnicornStoreStack.java b/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/UnicornStoreStack.java index 90dce2a3b..e9cfec623 100644 --- a/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/UnicornStoreStack.java +++ b/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/UnicornStoreStack.java @@ -57,7 +57,7 @@ private RestApi setupRestApi(Alias unicornStoreSpringLambdaAlias) { private Alias createUnicornLambdaFunction() { var lambda = Function.Builder.create(this, "UnicornStoreSpringFunction") - .runtime(Runtime.JAVA_21) + .runtime(Runtime.JAVA_25) .functionName("unicorn-store-spring") .memorySize(512) .timeout(Duration.seconds(29)) diff --git a/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/alternatives/UnicornStoreMicronaut.java b/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/alternatives/UnicornStoreMicronaut.java index e9bd0b23a..b329e3357 100644 --- a/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/alternatives/UnicornStoreMicronaut.java +++ b/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/alternatives/UnicornStoreMicronaut.java @@ -40,7 +40,7 @@ private RestApi setupRestApi(Version unicornStoreLambdaContainer) { private Version createUnicornLambdaFunction() { var lambda = Function.Builder.create(this, "UnicornStoreMicronautFunction") - .runtime(Runtime.JAVA_21) + .runtime(Runtime.JAVA_25) .functionName("unicorn-store-micronaut") .memorySize(2048) .timeout(Duration.seconds(29)) diff --git a/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/alternatives/UnicornStoreQuarkus.java b/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/alternatives/UnicornStoreQuarkus.java index e07e4c505..b187affab 100644 --- a/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/alternatives/UnicornStoreQuarkus.java +++ b/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/alternatives/UnicornStoreQuarkus.java @@ -41,7 +41,7 @@ private RestApi setupRestApi(Version unicornStoreLambdaContainer) { private Version createUnicornLambdaFunction() { var lambda = Function.Builder.create(this, "UnicornStoreQuarkusFunction") - .runtime(Runtime.JAVA_21) + .runtime(Runtime.JAVA_25) .functionName("unicorn-store-quarkus") .memorySize(2048) .timeout(Duration.seconds(29)) diff --git a/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/constructs/DatabaseSetupConstruct.java b/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/constructs/DatabaseSetupConstruct.java index 9612e29c2..b3bc35ff6 100644 --- a/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/constructs/DatabaseSetupConstruct.java +++ b/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/constructs/DatabaseSetupConstruct.java @@ -40,7 +40,7 @@ public DatabaseSetupConstruct(final Construct scope, final String id) { private Function createDbSetupLambdaFunction() { return Function.Builder.create(this, "DBSetupLambdaFunction") - .runtime(Runtime.JAVA_21) + .runtime(Runtime.JAVA_25) .memorySize(1024) .timeout(Duration.seconds(29)) .code(Code.fromAsset("../db-setup/target/db-setup.jar")) diff --git a/labs/unicorn-store/software/alternatives/unicorn-audit-service/pom.xml b/labs/unicorn-store/software/alternatives/unicorn-audit-service/pom.xml index 292788905..93e2fce2f 100644 --- a/labs/unicorn-store/software/alternatives/unicorn-audit-service/pom.xml +++ b/labs/unicorn-store/software/alternatives/unicorn-audit-service/pom.xml @@ -14,7 +14,7 @@ Unicorn audit service - 17 + 25 UTF-8 UTF-8 diff --git a/labs/unicorn-store/software/alternatives/unicorn-store-micronaut/pom.xml b/labs/unicorn-store/software/alternatives/unicorn-store-micronaut/pom.xml index ceb59a3ae..3bd382655 100644 --- a/labs/unicorn-store/software/alternatives/unicorn-store-micronaut/pom.xml +++ b/labs/unicorn-store/software/alternatives/unicorn-store-micronaut/pom.xml @@ -14,8 +14,8 @@ jar - 17 - 17 + 25 + 25 true com.unicorn.store.aot.generated lambda diff --git a/labs/unicorn-store/software/alternatives/unicorn-store-quarkus/pom.xml b/labs/unicorn-store/software/alternatives/unicorn-store-quarkus/pom.xml index 69605745b..3ada64c1e 100644 --- a/labs/unicorn-store/software/alternatives/unicorn-store-quarkus/pom.xml +++ b/labs/unicorn-store/software/alternatives/unicorn-store-quarkus/pom.xml @@ -9,8 +9,8 @@ 3.14.0 true - 11 - 11 + 25 + 25 UTF-8 UTF-8 3.24.3 diff --git a/labs/unicorn-store/software/alternatives/unicorn-store-spring-graalvm/pom.xml b/labs/unicorn-store/software/alternatives/unicorn-store-spring-graalvm/pom.xml index be8d2a3c8..830f0a6fd 100644 --- a/labs/unicorn-store/software/alternatives/unicorn-store-spring-graalvm/pom.xml +++ b/labs/unicorn-store/software/alternatives/unicorn-store-spring-graalvm/pom.xml @@ -14,7 +14,7 @@ Unicorn storage service - 17 + 25 UTF-8 UTF-8 com.unicorn.store.StoreApplication diff --git a/labs/unicorn-store/software/unicorn-store-spring/pom.xml b/labs/unicorn-store/software/unicorn-store-spring/pom.xml index 136bd0a86..9c7a6b13a 100644 --- a/labs/unicorn-store/software/unicorn-store-spring/pom.xml +++ b/labs/unicorn-store/software/unicorn-store-spring/pom.xml @@ -14,7 +14,7 @@ store Unicorn storage service - 17 + 25 UTF-8 UTF-8 com.unicorn.store.StoreApplication diff --git a/setup/setup-vscode.sh b/setup/setup-vscode.sh index d9a0ca65d..e8b0ad7f2 100755 --- a/setup/setup-vscode.sh +++ b/setup/setup-vscode.sh @@ -3,12 +3,15 @@ ## go to tmp directory cd /tmp -# temporarily disable the libuv use of io_uring https://github.com/amazonlinux/amazon-linux-2023/issues/840 -export UV_USE_IO_URING=0 - sudo yum update sudo yum install -y npm +## Install Node LTS +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash +source ~/.bashrc +nvm install --lts +nvm use --lts + ## Ensure AWS CLI v2 is installed sudo yum -y remove aws-cli curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" @@ -17,17 +20,17 @@ sudo ./aws/install rm awscliv2.zip aws --version -## Set JDK 21 as default -sudo yum -y install java-21-amazon-corretto-devel -sudo update-alternatives --set java /usr/lib/jvm/java-21-amazon-corretto.x86_64/bin/java -sudo update-alternatives --set javac /usr/lib/jvm/java-21-amazon-corretto.x86_64/bin/javac -export JAVA_HOME=/usr/lib/jvm/java-21-amazon-corretto.x86_64 +## Set JDK 25 as default +sudo yum -y install java-25-amazon-corretto-devel +sudo update-alternatives --set java /usr/lib/jvm/java-25-amazon-corretto.x86_64/bin/java +sudo update-alternatives --set javac /usr/lib/jvm/java-25-amazon-corretto.x86_64/bin/javac +export JAVA_HOME=/usr/lib/jvm/java-25-amazon-corretto.x86_64 echo "export JAVA_HOME=${JAVA_HOME}" | tee -a ~/.bash_profile echo "export JAVA_HOME=${JAVA_HOME}" | tee -a ~/.bashrc java -version ## Install Maven -MVN_VERSION=3.9.9 +MVN_VERSION=3.9.11 MVN_FOLDERNAME=apache-maven-${MVN_VERSION} MVN_FILENAME=apache-maven-${MVN_VERSION}-bin.tar.gz curl -4 -L https://archive.apache.org/dist/maven/maven-3/${MVN_VERSION}/binaries/${MVN_FILENAME} | tar -xz