diff --git a/.github/workflows/runtime-interface-client_merge_to_main.yml b/.github/workflows/runtime-interface-client_merge_to_main.yml index 2b9625983..6b620878c 100644 --- a/.github/workflows/runtime-interface-client_merge_to_main.yml +++ b/.github/workflows/runtime-interface-client_merge_to_main.yml @@ -1,14 +1,10 @@ # This workflow will be triggered on merge to the main branch if # aws-lambda-java-runtime-interface-client package was changed # -# It will publish artifacts to CodeArtifact repository, specified by properties defined in GitHub repo secrets: -# CODE_ARTIFACT_REPO_ACCOUNT, AWS_REGION, CODE_ARTIFACT_REPO_NAME, CODE_ARTIFACT_DOMAIN -# and will assume role specified by AWS_ROLE -# -# Prerequisite setup: -# https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services +# It measures unit-test coverage on both native architectures and uploads it to +# Codecov. -name: Publish artifact for aws-lambda-java-runtime-interface-client +name: Coverage for aws-lambda-java-runtime-interface-client on: workflow_dispatch: @@ -20,75 +16,6 @@ on: jobs: - publish: - runs-on: ubuntu-latest - - permissions: - id-token: write - contents: read - - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - - - name: Set up JDK 1.8 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - with: - java-version: 8 - distribution: corretto - cache: maven - - - name: Set up QEMU - uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3 - with: - install: true - - - name: Available buildx platforms - run: echo ${{ steps.buildx.outputs.platforms }} - - - name: Build and install serialization dependency locally - working-directory: ./aws-lambda-java-serialization - run: mvn clean install - - - name: Test Runtime Interface Client xplatform build - Run 'build' target - working-directory: ./aws-lambda-java-runtime-interface-client - run: make build - env: - IS_JAVA_8: true - - - name: Issue AWS credentials - if: env.ENABLE_SNAPSHOT != null - env: - ENABLE_SNAPSHOT: ${{ secrets.ENABLE_SNAPSHOT }} - uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4 - with: - aws-region: ${{ secrets.AWS_REGION }} - role-to-assume: ${{ secrets.AWS_ROLE }} - role-session-name: GitHubActionsPublishPackage - role-duration-seconds: 900 - - - name: Prepare codeartifact properties - if: env.ENABLE_SNAPSHOT != null - env: - ENABLE_SNAPSHOT: ${{ secrets.ENABLE_SNAPSHOT }} - working-directory: ./aws-lambda-java-runtime-interface-client/ric-dev-environment - run: | - cat < codeartifact-properties.mk - CODE_ARTIFACT_REPO_ACCOUNT=${{ secrets.AWS_ACCOUNT }} - CODE_ARTIFACT_REPO_REGION=${{ env.AWS_REGION }} - CODE_ARTIFACT_REPO_NAME=${{ secrets.CODE_ARTIFACT_REPO_NAME }} - CODE_ARTIFACT_DOMAIN=${{ secrets.AWS_CODEARTIFACT_DOMAIN }} - EOF - - - name: Publish - if: env.ENABLE_SNAPSHOT != null - working-directory: ./aws-lambda-java-runtime-interface-client - env: - ENABLE_SNAPSHOT: ${{ secrets.ENABLE_SNAPSHOT }} - run: make publish - # Coverage is measured on both native architectures (x86_64 and aarch64) so # the coverage recorded for a merge to main matches what the PR build recorded # (the union of both archs). Uploading a single x86_64 report here previously diff --git a/aws-lambda-java-runtime-interface-client/.gitignore b/aws-lambda-java-runtime-interface-client/.gitignore index f6064106d..6e1e17c88 100644 --- a/aws-lambda-java-runtime-interface-client/.gitignore +++ b/aws-lambda-java-runtime-interface-client/.gitignore @@ -1,5 +1,4 @@ compile-flags.txt -ric-dev-environment/codeartifact-properties.mk # aws-lambda-cpp prebuilt lib + headers, fetched and staged at build time src/main/jni/deps/aws-lambda-cpp/ diff --git a/aws-lambda-java-runtime-interface-client/Makefile b/aws-lambda-java-runtime-interface-client/Makefile index 6d1a7762d..f4c53cba7 100644 --- a/aws-lambda-java-runtime-interface-client/Makefile +++ b/aws-lambda-java-runtime-interface-client/Makefile @@ -11,10 +11,6 @@ else EXTRA_LOAD_ARG := endif -# This optional module exports MAVEN_REPO_URL, MAVEN_REPO_USERNAME and MAVEN_REPO_PASSWORD environment variables -# making it possible to publish resulting artifacts to a codeartifact maven repository --include ric-dev-environment/codeartifact-repo.mk - .PHONY: target target: $(info ${HELP_MESSAGE}) @@ -90,14 +86,6 @@ build-aarch64: mvn install -P linux-aarch64 $(EXTRA_LOAD_ARG) mvn install -P linux_musl-aarch64 $(EXTRA_LOAD_ARG) -.PHONY: publish -publish: - ./ric-dev-environment/publish_snapshot.sh - -.PHONY: publish -test-publish: - ./ric-dev-environment/test-platform-specific-jar-snapshot.sh - .PHONY: test-rie test-rie: ./scripts/test-rie.sh "EchoHandler::handleRequest" diff --git a/aws-lambda-java-runtime-interface-client/pom.xml b/aws-lambda-java-runtime-interface-client/pom.xml index 227a9a8bd..6db6a4d08 100644 --- a/aws-lambda-java-runtime-interface-client/pom.xml +++ b/aws-lambda-java-runtime-interface-client/pom.xml @@ -460,15 +460,6 @@ - - ci-repo - - - ci-repo - ${env.MAVEN_REPO_URL} - - - linux-x86_64 diff --git a/aws-lambda-java-runtime-interface-client/ric-dev-environment/codeartifact-repo.mk b/aws-lambda-java-runtime-interface-client/ric-dev-environment/codeartifact-repo.mk deleted file mode 100644 index 022c49e79..000000000 --- a/aws-lambda-java-runtime-interface-client/ric-dev-environment/codeartifact-repo.mk +++ /dev/null @@ -1,27 +0,0 @@ - -ifneq ("$(wildcard ric-dev-environment/codeartifact-properties.mk)","") - - include ric-dev-environment/codeartifact-properties.mk - $(info Found codeartifact-properties.mk module) - - export MAVEN_REPO_URL:=$(shell aws codeartifact get-repository-endpoint \ - --domain ${CODE_ARTIFACT_DOMAIN} \ - --repository ${CODE_ARTIFACT_REPO_NAME} \ - --format maven \ - --output text \ - --region ${CODE_ARTIFACT_REPO_REGION}) - - export MAVEN_REPO_PASSWORD:=$(shell aws codeartifact get-authorization-token \ - --domain ${CODE_ARTIFACT_DOMAIN} \ - --domain-owner ${CODE_ARTIFACT_REPO_ACCOUNT} \ - --query authorizationToken \ - --output text \ - --region ${CODE_ARTIFACT_REPO_REGION}) - - export MAVEN_REPO_USERNAME:=aws - - $(info MAVEN_REPO_URL: $(MAVEN_REPO_URL)) - # $(info MAVEN_REPO_PASSWORD: $(MAVEN_REPO_PASSWORD)) - $(info MAVEN_REPO_USERNAME: $(MAVEN_REPO_USERNAME)) - $(info CODE_ARTIFACT_REPO_NAME: $(CODE_ARTIFACT_REPO_NAME)) -endif diff --git a/aws-lambda-java-runtime-interface-client/ric-dev-environment/publish_snapshot.sh b/aws-lambda-java-runtime-interface-client/ric-dev-environment/publish_snapshot.sh deleted file mode 100755 index 9d2f9837f..000000000 --- a/aws-lambda-java-runtime-interface-client/ric-dev-environment/publish_snapshot.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -x - -set -e - -projectVersion=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) -if [[ -z ${ENABLE_SNAPSHOT} ]]; then - echo "Skipping SNAPSHOT deployment, as ENABLE_SNAPSHOT environment variable is not defined" - exit -fi - -echo "Deploying SNAPSHOT artifact" -if [[ ${projectVersion} != *"SNAPSHOT"* ]]; then - snapshotProjectVersion="${projectVersion}-SNAPSHOT" - echo "projectVersion: ${projectVersion}" - echo "snapshotProjectVersion: ${snapshotProjectVersion}" - mvn versions:set "-DnewVersion=${snapshotProjectVersion}" -else - echo "Already -SNAPSHOT version" -fi - -# get the updated project version -snapshotProjectVersion=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) -echo "Updated project version is ${snapshotProjectVersion}" - -CLASSIFIERS_ARRAY=("linux-x86_64" "linux_musl-x86_64" "linux-aarch_64" "linux_musl-aarch_64") - -for str in "${CLASSIFIERS_ARRAY[@]}"; do - FILES="${FILES}target/aws-lambda-java-runtime-interface-client-$projectVersion-$str.jar," - CLASSIFIERS="${CLASSIFIERS}${str}," - TYPES="${TYPES}jar," -done - -# remove the last "," -FILES=${FILES%?} -CLASSIFIERS=${CLASSIFIERS%?} -TYPES=${TYPES%?} - -mvn -B -X -P ci-repo \ - deploy:deploy-file \ - -DgroupId=com.amazonaws \ - -DartifactId=aws-lambda-java-runtime-interface-client \ - -Dpackaging=jar \ - -Dversion=$snapshotProjectVersion \ - -Dfile=./target/aws-lambda-java-runtime-interface-client-$projectVersion.jar \ - -Dfiles=$FILES \ - -Dclassifiers=$CLASSIFIERS \ - -Dtypes=$TYPES \ - -DpomFile=pom.xml \ - -DrepositoryId=ci-repo -Durl=$MAVEN_REPO_URL \ - --settings ric-dev-environment/settings.xml - -if [ -f pom.xml.versionsBackup ]; then - mv pom.xml.versionsBackup pom.xml -fi diff --git a/aws-lambda-java-runtime-interface-client/ric-dev-environment/settings.xml b/aws-lambda-java-runtime-interface-client/ric-dev-environment/settings.xml deleted file mode 100644 index d6f38929b..000000000 --- a/aws-lambda-java-runtime-interface-client/ric-dev-environment/settings.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - dev-ci - - - ci-repo - ${env.MAVEN_REPO_URL} - - - - - - - ci-repo - ${env.MAVEN_REPO_USERNAME} - ${env.MAVEN_REPO_PASSWORD} - - - diff --git a/aws-lambda-java-runtime-interface-client/ric-dev-environment/test-platform-specific-jar-snapshot.sh b/aws-lambda-java-runtime-interface-client/ric-dev-environment/test-platform-specific-jar-snapshot.sh deleted file mode 100755 index c9eced5cb..000000000 --- a/aws-lambda-java-runtime-interface-client/ric-dev-environment/test-platform-specific-jar-snapshot.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -set -e - -projectVersion=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) - - -# test uber jar -mvn -B -X -P ci-repo \ - dependency:get \ - -DremoteRepositories=ci-repo::::$MAVEN_REPO_URL \ - -Dartifact=com.amazonaws:aws-lambda-java-runtime-interface-client:${projectVersion}-SNAPSHOT \ - -Dtransitive=false \ - --settings ric-dev-environment/settings.xml - - -PLATFORM_ARRAY=("linux-x86_64" "linux_musl-x86_64" "linux-aarch_64" "linux_musl-aarch_64") - -for classifier in "${PLATFORM_ARRAY[@]}"; do - # Test platform specific jar - mvn -B -P ci-repo \ - dependency:get \ - -DremoteRepositories=ci-repo::::$MAVEN_REPO_URL \ - -Dartifact=com.amazonaws:aws-lambda-java-runtime-interface-client:${projectVersion}-SNAPSHOT:jar:${classifier} \ - -Dtransitive=false \ - --settings ric-dev-environment/settings.xml -done \ No newline at end of file