Releases: awslabs/aws-crt-builder
Releases · awslabs/aws-crt-builder
FreeBSD support, arch aliases, full config tree merging
FreeBSD support and config compilation (#15) * Added support for FreeBSD * Added darwin -> macos aliases * Fleshed out arch/os aliases, normalize targets always * Added aliases for FreeBSD/OSX uname -m arch * Try harder to divine branch when github lies to us * Always normalize toolchain platform * Install docker in ubuntu image for cross compile * Make sanity tests check for platform normalization via armv8 * Make sure compiler installation happens at package installation time * Fixed where path shenanigans * Finally got the courage to just recursively process config trees * Resolve symlinks when looking up executables
Complete cross-compile support
Fixes found porting java/cpp/python (#14) * Removed toolchain dependence on env, and simplified arg parsing, always work from source_dir * Make sure docker images are re-generated for every PR to builder * base dirs off source_dir, not launch_dir * Fixed config mashing * Added output when selecting git branch * Reduced redundant cmake args * Removed redundant cmake_binaries option * Ensure that download script in docker images busts the cloudfront cache * Added util to API * Moved libcrypto to using python for download/tarball * Prevent GC from destroying our late loaded classes * Fixed env in cross-compile container * All S3 uploads have .pyz extension * Containers must download with .pyz extension * Scoped build_env, pre_build_env, and post_build_env to just those steps
Cross-compile support for ARM
Use cross-compile + qemu instead of buildx docker images (#12) * Use dockcross for cross compiling * Removed pushd/popd shenanigans, all commands take paths relative to launch dir/--build-dir now * Added script to produce cross-compiled libcrypto * Added imports to builder * Added cross compile to sanity tests * Re-enabled cached docker builds since we don't need buildx * Added support for debian * Allow build/test steps to contain action names * Fixed bug where local builds would be unable to find their installed deps * Added the ability for targets to export variables to other projects' configs with late binding * Made dependencies and consumers also late binding
GCC, Maven, ARM fixes
gcc package fixes, maven pre-caching, less docker builds (#13) * Fixed gcc compiler ending up in packages * Cut the default timeouts way down on maven operations to hopefully speed up retries on ARM hosts with shitty networking * ARM targets will pre-cache maven dependencies * Pull builder from cloudfront, don't rebuild images on builder changes * Updated README
Fixed libcrypto in docker images, added C++ support
Fixed libcrypto in docker containers, misc C++ fixes (#11) * Fixed how libcrypto and cmake are applied to images * Make sure packages/compiler_packages can be per-package tool * Added support for --branch argument to specify a specific branch * Fix to allow projects to empty out build/test steps * Use path to compiler for C/C++ when telling cmake * Re-enabled c++ compiler installation by default * Fixed package names for gcc packages
Recursive submodule checkout support
v0.4.4 Always checkout submodules recursively (#10)
ARM support, command line fixes
ARM Raspbian/Alpine/AL2 Images and package installation/CLI fixes (#9) * Added more knowledge of package managers * Fixed argument parsing FOR REAL THIS TIME * Added sanity test for both ways of running an action * Massive clean up of docker image stuff * Use make -j 3 on arm builds * Fixed sudo installs on manylinux * Always build images the same way * Switched all builds to using downloaded binaries for libcrypto * Use pre-compiled cmake binaries from S3 on manylinux * Added a short wait to retries * Fixed case where projects were not always re-resolved, resulting in a loss of path info * Added raspbian support/detection
ARMv6-8 support, bug fixes
ARMv6-8 support (#8) * Install buildx in the action image * configure buildx * Added armv6, arm64, generalized arm image * Added ARM downstream tests * Use pre-built binaries from S3 for libcrypto * Build should fail if cmake or ctest fail * Fixed arm detection * Added alpine as a detectable distro * Retries were broken if the command exited cleanly * Bind fuzz tests only to compilers that support them * Added alpine host config * Compilers should read their architecture config * Preserve target filters across ProjectReference resolution * Validate arch * Added workflow for creating base images * Forget about raspbian for now * No fuzz tests on mac by default * Fixed arg parsing * Move cmake args to macos target
Better config parsing, cleaned up project/shell code
Fixes for issues encountered converting Java CRT (#7) * manylinux doesn't use sudo * Fixed weird dependencies between project and config, project has a config now * Fixed shell encoding, added support for splitting command strings automagically * Allow projects from another directory, fixed config stomping * Mapped clang versions -> deb repos, fixed excess newlines on windows * Added support for command retries, added docs
Major re-work, lots of fixes to platform, unification of actions vs build
More fixes from updating aws-crt-python (#6) * Allow clang to use a default version * Fixed logic for when project is reloaded after download * Added better debugging of project resolution * Added robust clang/gcc compiler detection * Added a sanity test before kicking off docker jobs * Added support for apple clang * Fixed spec -> toolchain in cmake * Use vswhere to find VS on windows * Load scripts at any level in .builder * Exposed more classes via Builder * Fixed buffering/output issues with exec() * Make sure submodules are always synced * Dump inspect output always * Fail job if a script command has a non-0 exit code * Apply configs from platform, then host * Fixed up arg parsing for actions, added --compiler and --target * Fixed default compiler output when compiler is not installed yet * Export compiler after installing it * moved compiler concerns into InstallCompiler * Fixed script output when no new classes are loaded