Awesome
UE4 Continuous Integration helper functionality
The ue4-ci-helpers Python package builds on the ue4cli and conan-ue4cli packages to provide infrastructure for Continuous Integration (CI) use cases for Unreal projects and plugins. It aims to simplify the process of writing platform-agnostic build scripts that can then be run as part of a CI pipeline.
Although the package works best inside the ue4-full Docker image produced by the ue4-docker project, the core functionality will work on any system where ue4cli has been correctly configured.
To install the package, run: pip install ue4-ci-helpers
A simple build script for packaging a nightly build of an Unreal project might look like so:
#!/usr/bin/env python3
from ue4helpers import ProjectPackager, VersionHelpers
from os.path import abspath, dirname
# Create our project packager
packager = ProjectPackager(
# The root directory for the project
# (This example assumes this script is in a subdirectory)
root = dirname(dirname(abspath(__file__))),
# Use the date of the most recent git commit as our version string
version = VersionHelpers.from_git_commit(),
# The filename template for our generated .zip file
archive = '{name}-Nightly-{version}-{platform}',
# Don't strip debug symbols from the packaged build
strip_debug = False,
# Don't strip manifest files from the packaged build
strip_manifests = False
)
# Clean any previous build artifacts
packager.clean()
# Package the project
packager.package()
# Compress the packaged distribution
# (The CI system can then tag the generated .zip file as a build artifact)
packager.archive()
Check out the docstring for the constructor of the PackagerBase class to see the full list of supported parameters and their uses.
Legal
Copyright © 2019, Adam Rehn. Licensed under the MIT License, see the file LICENSE for details.
Initial development of this package was funded by Deepdrive, Inc.