Skip to content
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

Automate Local Test Setup Script for Lifecycle-Manager #1802

Open
2 of 6 tasks
jeremyharisch opened this issue Aug 27, 2024 · 0 comments · Fixed by #1898 · May be fixed by #2061
Open
2 of 6 tasks

Automate Local Test Setup Script for Lifecycle-Manager #1802

jeremyharisch opened this issue Aug 27, 2024 · 0 comments · Fixed by #1898 · May be fixed by #2061
Assignees
Labels
area/quality Related to all activites around quality

Comments

@jeremyharisch
Copy link
Contributor

jeremyharisch commented Aug 27, 2024

Description

We need to create a script to automate the local test setup for the Lifecycle-Manager. Currently, developers have to manually follow the steps outlined in our local test setup documentation. While this documentation is sufficient, the manual process is time-consuming, and some developers have already written their own scripts to expedite this process.

To streamline development and ensure consistency, we decided to create an official script that will be maintained by the team. This script will automate the setup of the local environment for testing the Lifecycle-Manager, reducing the repetitive manual steps and ensuring that the setup aligns with our documentation.

A first step towards this has been done with the VSCode tasks. Those proofed to be quite handy, but are VS Code specific right now. The aim is to refactor this with the following goal:

  • all functionality is provided by plain scripts executable on MacOS and Linux where arguments may be passed to the script
  • for each script, we provide VSCode and Goland "wrappers" calling the script
    • the wrapper may use native features of the IDE for getting the config and then passes it as arg to the script
  • the scripts will also be used in the E2E test runners, thereby we ensure that we have consistent setup throughout all environments

Reasons

  • Efficiency: The manual process is time-consuming and prone to errors. A script will automate the repetitive tasks, saving time and reducing the risk of mistakes.
  • Consistency: Ensuring all developers are using the same setup process will help avoid environment-specific issues during local testing.
  • Maintainability: An officially maintained script will ensure that our setup process stays up-to-date with any changes in the project or its dependencies, keeping our documentation in sync.

Acceptance Criteria

  • scripts cover the same functionality as in VSCode tasks
  • an additional script should check for the following tools in defined versions and fails if not present, or warns (ideally with prompt) if present in a wrong version
    • Golang
    • k3d
    • kubectl
    • Docker
  • scripts must be executable on MacOS and Linux
  • Documentation:
    • The documentation should be updated to include the new scripts and provide instructions on how to use them.
      Ensure that the script and the documentation are kept in sync with any updates.
  • The scripts should be tested to ensure it correctly sets up the environment as specified.
  • Verify that the two k3d clusters are correctly set up, with KLM deployed and the Kyma CR created as expected.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/quality Related to all activites around quality
Projects
None yet
4 participants