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

Optimize CI jobs to run only necessary tasks #1714

Open
otegami opened this issue Feb 28, 2024 · 1 comment
Open

Optimize CI jobs to run only necessary tasks #1714

otegami opened this issue Feb 28, 2024 · 1 comment
Labels

Comments

@otegami
Copy link
Contributor

otegami commented Feb 28, 2024

What is your problem?

Current Situation

Our CI pipeline runs all tasks for every change, which can lead to unnecessary resource consumption and stop the following tasks.

What we expected

To improve the efficiency of our CI pipeline, we want to optimize our jobs to execute only the necessary tasks based on the changes made.

  • e.x.
    • We trigger documentation generation jobs only for document changes
@kou
Copy link
Member

kou commented Feb 28, 2024

Our CI pipeline runs all tasks for every change

Wrong.

See also:

on:
push:
branches:
- main
- 'maintenance/**'
tags:
- '*'
paths:
- '**/*.cmake'
- '**/*.cmake.in'
- '**/CMakeLists.txt'
- '.github/workflows/cmake.yml'
- 'ci/**'
- 'cmake/**'
- 'include/**/*.h'
- 'include/**/*.h.in'
- 'include/**/*.hpp'
- 'lib/**/*.c'
- 'lib/**/*.cpp'
- 'lib/**/*.h'
- 'lib/**/*.hpp'
- 'lib/**/*.rb'
- 'plugins/**/*.c'
- 'plugins/**/*.cpp'
- 'plugins/**/*.h'
- 'plugins/**/*.rb'
- 'src/**/*.c'
- 'src/**/*.h'
- 'test/command/**'
- 'test/command_line/**'
- 'test/mruby/**'
- 'vendor/mruby/**'
pull_request:
paths:
- '**/*.cmake'
- '**/*.cmake.in'
- '**/CMakeLists.txt'
- '.github/workflows/cmake.yml'
- 'ci/**'
- 'cmake/**'
- 'include/**/*.h'
- 'include/**/*.h.in'
- 'include/**/*.hpp'
- 'lib/**/*.c'
- 'lib/**/*.cpp'
- 'lib/**/*.h'
- 'lib/**/*.rb'
- 'lib/**/*.rb'
- 'plugins/**/*.c'
- 'plugins/**/*.cpp'
- 'plugins/**/*.h'
- 'plugins/**/*.rb'
- 'src/**/*.c'
- 'src/**/*.h'
- 'test/command/**'
- 'test/command_line/**'
- 'test/mruby/**'
- 'vendor/mruby/**'

We trigger documentation generation jobs only for document changes

This is a missing optimization.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants