Framework code which allows for configuration of an AWS environment necessary to do the things that U-CS needs
A framework for configuring AWS environments for Unity CS operations.
- tools
- standardized file locations
How to prepare a repository for use in Unity In order to prepare a repository for automated builds and deployments certain standardized paths and filenames must be utilized so that Unity knows where to find them.
- build (perhaps not for all service areas -- but offered if they want it)
- unit test
- publish
- integration tests. (run U-CS end)
- deploy (U-CS)
- etc..
- This repo also houses the GitHub actions (push-button for now) that can trigger builds, tests, etc..
This guide provides a quick way to get started with our project. Please see our [docs]([INSERT LINK TO DOCS SITE / WIKI HERE]) for a more comprehensive overview. Unity CS is a set of common components for the Unity project. The aim is to automate the process of building and deploying, providing developers with a transparent and seamless experience.
Unity Docs | Unity-CS Docs | Issue Tracker
- [INSERT LIST OF REQUIREMENTS HERE]
- [INSERT STEP-BY-STEP SETUP INSTRUCTIONS HERE, WITH OPTIONAL SCREENSHOTS]
- [INSERT STEP-BY-STEP RUN INSTRUCTIONS HERE, WITH OPTIONAL SCREENSHOTS]
- [INSERT LIST OF COMMON USAGE EXAMPLES HERE, WITH OPTIONAL SCREENSHOTS]
- [INSERT STEP-BY-STEP BUILD INSTRUCTIONS HERE, WITH OPTIONAL SCREENSHOTS]
- [INSERT STEP-BY-STEP TEST INSTRUCTIONS HERE, WITH OPTIONAL SCREENSHOTS]
TBD
- [INSERT LIST OF REQUIREMENTS HERE]
- [INSERT STEP-BY-STEP SETUP INSTRUCTIONS HERE, WITH OPTIONAL SCREENSHOTS]
- [INSERT STEP-BY-STEP RUN INSTRUCTIONS HERE, WITH OPTIONAL SCREENSHOTS]
- [INSERT LIST OF COMMON USAGE EXAMPLES HERE, WITH OPTIONAL SCREENSHOTS]
- [INSERT STEP-BY-STEP BUILD INSTRUCTIONS HERE, WITH OPTIONAL SCREENSHOTS]
- [INSERT STEP-BY-STEP TEST INSTRUCTIONS HERE, WITH OPTIONAL SCREENSHOTS]
Deployments are handled through Terraform. Terraform scripts are stored in the terraform-unity directory in a repositorys root directory. At deployment time the terraform scripts are validated and
- Configurable AWS environment setup
- Build, Test, and Deploy automation
- Integration with GitHub actions
- Support for Automated Builds, Testing, Deployments, and Teardowns
- AWS Account
- GitHub Actions setup
- Docker for running Unity workflows locally
- Clone the
unity-cs-infra
repository. - Configure your AWS credentials and environment variables.
- Ensure your repository adheres to standardized file paths for Unity recognition.
- Trigger the GitHub actions to initiate build, test, or deploy.
- For local execution, pull the docker image and execute workflows using Act. Act also makes use of docker so you need to pass the docker sock into the platform to be able to run it, as follows on a linux host:
docker pull ghcr.io/unity-sds/unity-cs-infra:main docker run -it -v //var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker ghcr.io/unity-sds/unity-cs-infra:main
- Automated Build: Set up
build.sh
as the common entry point for building. - Deployments: Use Terraform scripts and maintain them in the
terraform-unity
directory. - Testing: Ensure unit tests, smoketests, and integration tests are set up correctly.
- Follow the standard Unity CS structure for your repository.
- Utilize the
build.sh
script for a common build entry point.
- Use
test.sh
for unit testing. - For smoke tests, ensure the tests are located in the
smoketest
directory. - Follow the directory structure for testing requirements.
Deployments are handled through Terraform. Terraform scripts are stored in the terraform-unity directory in a repositorys root directory. At deployment time the terraform scripts are validated.
.
└── terraform-unity
├── main.tf
├── networking.tf
└── variables.tf
- [INSERT LIST OF REQUIREMENTS HERE]
- [INSERT STEP-BY-STEP SETUP INSTRUCTIONS HERE, WITH OPTIONAL SCREENSHOTS]
- [INSERT STEP-BY-STEP RUN INSTRUCTIONS HERE, WITH OPTIONAL SCREENSHOTS]
- [INSERT LIST OF COMMON USAGE EXAMPLES HERE, WITH OPTIONAL SCREENSHOTS]
- [INSERT STEP-BY-STEP BUILD INSTRUCTIONS HERE, WITH OPTIONAL SCREENSHOTS]
- [INSERT STEP-BY-STEP TEST INSTRUCTIONS HERE, WITH OPTIONAL SCREENSHOTS]
Teardowns are managed in the same way as deployments, through Terraform. The teardown workflow is supplied by Unity and requires no additional files in the target repository as long as the terraform-unity directory is set up correctly.
See our CHANGELOG.md for a history of our changes.
See our releases page for our key versioned releases.
No questions yet. Propose a question to be added here by reaching out to our contributors! See the support section below.
Interested in contributing to our project? Please see our: CONTRIBUTING.md
See our: LICENSE
Key points of contact are: [@galenatjpl]https://github.com/galenatjpl