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

Create GitHub Actions to improve CI maintainability. #15129

Closed
1 task
mshima opened this issue May 26, 2021 · 6 comments · Fixed by #15391
Closed
1 task

Create GitHub Actions to improve CI maintainability. #15129

mshima opened this issue May 26, 2021 · 6 comments · Fixed by #15391
Assignees
Labels
area: feature request 💡 $$ bug-bounty $$ https://www.jhipster.tech/bug-bounties/ theme: CI builds $300 https://www.jhipster.tech/bug-bounties/
Milestone

Comments

@mshima
Copy link
Member

mshima commented May 26, 2021

Overview of the feature request

Implement custom actions to be shared between jhipster repositories.

  • Implement actions locally in generator-jhispter.
  • Migrate jhipster-bom to use generator-jhipster actions.
  • Evaluate daily-build to use generator-jhipster actions.
Motivation for or Use Case

JHipster CI consists in:

  • 3 main repositories (generator-jhipster, jhipster-bom, daily-builds).
  • Each repository contains lots of workflows.
  • Each repository contains different scripts.
  • Many derived repositories.

Currently, to change some build process, each workflow must be updated manually to reflect the changes.

JHipster-BOM repository CI is failing, but should be identical to the generator-jhipster CI.

Related issues or PR
  • Checking this box is mandatory (this is just to show you read everything)
@mshima
Copy link
Member Author

mshima commented May 26, 2021

cc @pascalgrimaud @DanielFran

@pascalgrimaud
Copy link
Member

Agree with you @mshima

When I coded this part, in the past, I tried to put everything inside shell scripts:

  • to not depend on specific CI
  • to be able to use the same shell scripts in different repo

Today, we have a lot of logic directly inside yml files. I think we should move logic into shell scripts. The yml files should only contain configuration (ngx, react, vue, database etc)

@atomfrede
Copy link
Member

Still thinking if we could use gradle as our build runner, so we can benefit from the up-2-date checks (in case we define correct inputs for each task), but of course it would be tight to the main repository only.

@mshima
Copy link
Member Author

mshima commented May 31, 2021

I don't think we will have many benefits from up-2-date checks.
We already have our own up-2-date using diff.

When pushing to main branch is important to run the tests due to transitive dependencies.
Would be great to have it in others branchs and personal branch if possible.

@mshima
Copy link
Member Author

mshima commented Jul 3, 2021

@pascalgrimaud
Copy link
Member

@mshima : approved

@pascalgrimaud pascalgrimaud added this to the 7.2.0 milestone Jul 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: feature request 💡 $$ bug-bounty $$ https://www.jhipster.tech/bug-bounties/ theme: CI builds $300 https://www.jhipster.tech/bug-bounties/
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants