Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

CI in UTBot Java

Olga Naumenko edited this pageNov 17, 2022 ·1 revision

CI features

UTBot Java offers contributors bunch of workflows e.g., the workflowbuilding the project and running tests, the workflowarchiving plugin and CLI.

The main CI features in UTBot Java:

  • reproducible environment
  • available monitoring processes

Reproducible environment

Depending on the resources where you are intended to build and test software environment will be different. The key goal is to provide the same environment on different resources. To do that we use Docker images with appropriate software, environment variables and OS settings.

Crucial CI workflows run in those docker containers thus you can reproduce the environment locally. The environment can be used for running tests or for debugging (see detailed information).

If you have any questions of where images are placed, how many they are, what software versions are used, visitrepository please (now is private, will be changed in the future), leave an issue with your questions or ask in DM.

All stages Monitoring

Since the workflow has started you can check access to the metrics on our monitoring service (ask teammates for url). The server offers developers the following dashboards:

  • Node Exporter Full - metrics of consuming the RAM, CPU, Network and other resources on the host
  • JVM dashboard (don't forget to set job topushgateway) - Java metrics
  • Test executor statistics* - RAM consuming by Java processes
  • cAdvisor: container details* - system resources consuming by certain container
  • cAdvisor: host summary* - summarized system resources consuming by all containers

Note: * developed by UTBot team

When you open a dashboard you need to choose valid instance. GitHub runseach job on separate runner so instance ID (HOSTNAME env var) would be different. But all instances havethe same Run ID (GITHUB_RUN_ID env var). Follow this steps:

  1. Go to Actions and open your Run;
  2. Expand job list and choose any job you need;
  3. At the right you'll see a list of steps. You need stepRun monitoring;
  4. Find the string like:
Find your Prometheus metrics using label {instance="2911909439-7f83f93ff335"}
  1. Copy value between double quotes and go to monitoring dashboard. Setgithub service and expand instance list, CTRL+F and paste copied value. Choose your instance
image

Note: label consists of two part -${GITHUB_RUN_ID}-${HOSTNAME}. Use only one part to find all jobs of your Run.

Available workflows

Workflow nameWhat it's supposed to doWhat it triggers on
UTBot Java: build and run testsBuilds the project and runs tests for itpush orpull request to themain branch
[M] UTBot Java: build and run testsBuilds the project and runs tests for itmanual call or call fromanother workflow
[M] Run chosen testsRuns a single test or tests in chosen package/classmanual call
Plugin and CLI: publish as archivesArchives plugin and CLI and stores them attached to the workflow run reportpush to themain branch
[M] Plugin and CLI: publish as archivesArchives plugin and CLI and stores them attached to the workflow run reportmanual call or call fromanother workflow
[M] Publish on GitHub PackagesPublishes artifacts such asutbot-api,utbot-core,utbot-framework, etc., on GitHub Packagesmanual call

User guides

IntelliJ IDEA plugin

Contributor guides

(redirect to/docs inmain repo)

General info

Continuous integration

Design docs

Clone this wiki locally

[8]ページ先頭

©2009-2025 Movatter.jp