# US 2023/0053820 A1 · Generating a build process for building software in a target environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2023/0053820 A1
- Document ID: US20230053820A1
- Status: Published application
- Kind: A1
- Application number: 17/406,356
- Filed: 2021-08-19
- Published: 2023-02-23
- Earliest claimed: 2021-08-19
- Assignees: Red Hat, Inc.
- Applicants: Red Hat, Inc.
- Inventors: Fridolin Pokorny; Christoph Goern; Francesco Murdaca; Harshad Reddy Nalla
- Web page: https://patentgrep.com/patent/US20230053820A1

## CPC

- G06F 8/44: {Encoding}
- G06F 8/61: Installation
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 8/77: Software metrics
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 11/3409: {for performance assessment}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A build process for building software in a target environment can be generated using a system described herein. For example, the system can receive a recommended software-stack for a target software item to be built in a target build environment. The system can determine, based on the recommended software-stack, a build process for building the target software item in the target build environment. The system may then execute the build process to generate a software build of the target software item in the target build environment.

## Claims

### Claim 1

A system comprising:
a processor; and
a non-transitory memory including instructions that are executable by the processor for causing the processor to:
receive, from a recommendation engine, a recommended software-stack for a target software item to be built in a target build environment;
determine, based on the recommended software-stack, a build process for building the target software item in the target build environment; and
execute the build process to generate a software build of the target software item in the target build environment.

### Claim 2 (depends on 1)

The system of claim 1, wherein the non-transitory memory further includes instructions that are executable by the processor for causing the processor to:
deploy the software build in a target runtime environment;
determine performance metrics for the software build in the target runtime environment; and
provide feedback to the recommendation engine based on the performance metrics for the software build.

### Claim 3 (depends on 2)

The system of claim 2, wherein the recommendation engine is configured to receive the feedback and adjust a recommendation process for recommending software-stacks based on the feedback.

### Claim 4 (depends on 1)

The system of claim 1, wherein the instructions are further executable by the processor for causing the processor to:
identify, based on the recommended software-stack, specified packages for generating the software build;
determine an installation order for the specified packages; and
install the specified packages in the target build environment in the installation order.

### Claim 5 (depends on 4)

The system of claim 4, wherein the instructions are further executable by the processor for causing the processor to:
identify, based on the recommended software-stack, specified parameters of the specified packages; and
configure the specified packages installed in the target build environment to have the specified parameters.

### Claim 6 (depends on 1)

The system of claim 1, wherein the instructions are further executable by the processor for causing the processor to:
determine, based on the recommended software-stack, a hardware component to be used in executing the build process;
select a computing cluster having access to the hardware component; and
execute the build process using the computing cluster.

### Claim 7 (depends on 1)

The system of claim 1, wherein the build process is stateless, and wherein the instructions are further executable by the processor for causing the processor to execute the build process multiple times concurrently for a plurality of target software items.

### Claim 8

A method comprising:
receiving, by a processor and from a recommendation engine, a recommended software-stack for a target software item to be built in a target build environment;
determining, by the processor and based on the recommended software-stack, a build process for building the target software item in the target build environment; and
executing, by the processor, the build process to generate a software build of the target software item in the target build environment.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
deploying, by the processor, the software build in a target runtime environment, wherein the target build environment is different from the target runtime environment;
determining, by the processor, performance metrics for the software build in the target runtime environment; and
providing, by the processor, feedback to the recommendation engine based on the performance metrics for the software build.

### Claim 10 (depends on 9)

The method of claim 9, wherein the recommendation engine is configured to receive the feedback and adjust a recommendation process for recommending software-stacks based on the feedback.

### Claim 11 (depends on 8)

The method of claim 8, further comprising:
identifying, by the processor and based on the recommended software-stack, specified packages for generating the software build;
determining, by the processor, an installation order for the specified packages; and
installing, by the processor, the specified packages in the target build environment in the installation order.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
identifying, by the processor and based on the recommended software-stack, specified parameters of the specified packages; and
configuring, by the processor, the specified packages installed in the target build environment to have the specified parameters.

### Claim 13 (depends on 8)

The method of claim 8, further comprising:
determining, by the processor and based on the recommended software-stack, a hardware component to be used in executing the build process;
selecting, by the processor, a computing cluster having access to the hardware component; and
executing, by the processor, the build process using the computing cluster.

### Claim 14 (depends on 8)

The method of claim 8, wherein the build process is stateless, and wherein the build process is executed by the processor multiple times concurrently for a plurality of target software items.

### Claim 15

A non-transitory computer-readable medium including instructions that are executable by a processor for performing operations comprising:
receiving, from a recommendation engine, a recommended software-stack for a target software item to be built in a target build environment;
determining, based on the recommended software-stack, a build process for building the target software item in the target build environment; and
executing the build process to generate a software build of the target software item in the target build environment.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the operations further comprise:
deploying the software build in a target runtime environment;
determining performance metrics for the software build in the target runtime environment; and
providing feedback to the recommendation engine based on the performance metrics for the software build.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the recommendation engine is configured to receive the feedback and adjust a recommendation process for recommending software-stacks based on the feedback.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the operations further comprise:
identifying, based on the recommended software-stack, specified packages for generating the software build;
determining an installation order for the specified packages; and
installing the specified packages in the target build environment in the installation order.

### Claim 19 (depends on 18)

The non-transitory computer-readable medium of claim 18, wherein the operations further comprise:
identifying, based on the recommended software-stack, specified parameters of the specified packages; and
configuring the specified packages installed in the target build environment to have the specified parameters.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the operations further comprise:
determining, based on the recommended software-stack, a hardware component to be used in executing the build process;
selecting a computing cluster having access to the hardware component; and
executing the build process using the computing cluster.
