This is a simple project to run wheels in a docker environment on 4k and 64k page-size systems to detect possible incompatibilities in upstream wheels on Arm64 systems. It uses github actions and self-hosted runners to guarantee the system configurations we need.
A report of the test status is generated daily and posted here.
This project could also be repurposed for other interpreted languages that contain native bindings, such as Ruby Gems.
This projects uses the AWS CDKv2 to stand up some infra-structure in AWS for testing python wheels built for Arm64 on Graviton processors. The CDK scripts will allow one to stand up an m8g.2xlarge runner and attempts to install with the necessary dependencies for github runners. If the installation fails, just follow the steps from github to manually install the runners.
Prerequisites:
- Python 3.8+
- Node.js (required for the AWS CDK CLI)
To use:
$ python3 -m venv .env
$ source .env/bin/activate
$ pip install -r requirements.txt
# Create a file with your AWS credentials and github tokens called .aws_creds
$ source ./.aws_creds
$ npm install -g aws-cdk
# Bootstrap CDK in your account/region (only needed once per account/region)
$ cdk bootstrap aws://<account-id>/us-east-1 --profile=<profile>
$ cdk synth --profile=<profile>
$ cdk deploy --profile=<profile>
Then go to:
To learn about the runners and how to use/trouble-shoot them.
cdk lslist all stacks in the appcdk synthemits the synthesized CloudFormation templatecdk deploydeploy this stack to your default AWS account/regioncdk diffcompare deployed stack with current statecdk docsopen CDK documentation