Skip to content

Fix os compatibility tests by enabling multi-platform build and testing #334

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 3, 2022
Merged

Fix os compatibility tests by enabling multi-platform build and testing #334

merged 2 commits into from
May 3, 2022

Conversation

zsombor-balogh
Copy link
Contributor

Issue #, if available:

Description of changes:

Enable multi-arch testing

Currently compatibility tests are failing when trying to build multi-arch JNI libs:

Build JNI libraries:
     [exec] Compiling the native library for target glibc on architecture x86_64 using Docker platform linux/amd64
     [exec] The command '/bin/sh -c rpm --import https://yum.corretto.aws/corretto.key &&     curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo' returned a non-zero code: 1
     [exec] tar: This does not look like a tar archive
     [exec] tar: Skipping to next header
     [exec] tar: src/aws-lambda-runtime-interface-client.so: Not found in archive
     [exec] tar: Exiting with failure status due to previous errors
  • set up a multi-arch build environment prior to building the Runtime Interface Client and running the tests:
    • install necessary emulator,
    • install docker-buildx plugin
  • reenable multi-arch RIC build on alpine and amazoncorretto distros
  • add PLATFORM to the build matrix, build platform specific test images and run integ tests for both x86_64 and arm64
  • run smoke tests for both x86_64 and arm64
  • disable multi-arch RIC build on AL1 (available only for x86_64)

Clean up EOL/ESM os versions from os compatibility tests

  • clean up EOL oss:
    • alpine 3.9, 3.10, 3.11, 3.12
    • centos 8
    • ubuntu 16.04 (ESM)
  • add more recent versions
    • alpine 3.13, 3.14, 3.15
    • debian bullseye
    • ubuntu 21.10, 22.04

Source base images from Amazon ECR Public

  • pull test and build images from Amazon ECR Public instead of Docker Hub (some of the images were already sourced from public ECR)

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

@zsombor-balogh zsombor-balogh requested a review from carlzogh April 29, 2022 19:17
@zsombor-balogh zsombor-balogh merged commit 29a27d6 into aws:master May 3, 2022
Sordie pushed a commit to Sordie/aws-lambda-java-libs that referenced this pull request May 14, 2022
…ng (aws#334)

* Fix os compatibility tests by enabling multi-platform build and testing

* Extract environment setup script
andclt pushed a commit that referenced this pull request Aug 22, 2022
* feat(events): add lex v2 event and response

* fix(events): typo

* feat(serialization): add lex v2 event test

* Ensure at build time that the jni parts of the runtime-interface-client are compiled for the correct architectures

* Update aws-lambda-java-runtime-interface-client.yml

* version bump aws-lambda-java-runtime-interface-client 2.1.0 -> 2.1.1

* Update RELEASE.CHANGELOG.md

* fix: typo

* Update Curl to 7.83.0

* remove invalid link from README (#333)

* Fix os compatibility tests by enabling multi-platform build and testing (#334)

* Fix os compatibility tests by enabling multi-platform build and testing

* Extract environment setup script

* Use correct package name prefix of 'NativeClient' class (#335)

* Fix os compatibility test local builds on arm64 hosts (#338)

* Fix os compatibility test local builds on arm64 hosts

* Extract log fetching and clean up to separate scripts

* feat(events): move lex v2 event test

* chore(events): revert merge failures

* fix: mapping errors

* feat: add sentiment and kendra response

* feat(events): add kendra response to event

* fix(events): provide expected json for tests

* chore(events): add response test

* chore(events): remove cloneable interface and update year

* feat(events): keep slots with null value

Co-authored-by: Bryan Moffatt <bmoffatt@users.noreply.github.com>
Co-authored-by: Bryan Moffatt <moffattb@amazon.com>
Co-authored-by: hsukanya <hsukanya8@gmail.com>
Co-authored-by: zsombor-balogh <69245949+zsombor-balogh@users.noreply.github.com>
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.

3 participants