Hi Arturo,
Actually, I'd be keen to learn GitHub Actions as I quite literally this morning
found out I may be needing it for a job. If I can either be part of the work
for this initiative or at least learn more about it (links to what helped you)
would be enormously appreciated.
Cheers,
Murray
On 27/10/23 08:16, Arturo Bernal wrote:
Hi @juanpablo-santos
Thank you for your feedback. I'm aligned with your thoughts on
transitioning to a single CI/CD system via GitHub Actions. Here's my action
plan:
-
*Single CI/CD System*: Agreed. I'll validate GitHub Actions'
capabilities within two weeks and then start phasing out Jenkins.
-
*SonarQube Analysis*: Excellent idea. I'll integrate this into the
renamed qa.yaml pipeline within a week.
-
*Static Site Deployment*: I'll investigate GitHub Actions solutions for
this. I'm not yet familiar with how to accomplish this in GitHub Actions.
-
*Windows Build Errors*: I'll dig into this issue.
-
*Integration Tests*: I'll explore running these in headless mode. Any
advice is welcome.
I fully agree with you and Juan Pablo that we should not replace Jenkins
until we have a fully functional GitHub Actions setup. This ensures that we
have a fallback option in case the transition hits any snags.
Hi Murray,
Your caution is understandable, especially when considering a change to a
system that is already functional. However, I'd like to highlight some key
benefits that GitHub Actions can bring to our workflow:
*Ease of Use*: GitHub Actions is integrated into GitHub itself, simplifying
the CI/CD process by keeping everything in one place. This can make it
easier for new contributors to get involved.
*Flexibility*: GitHub Actions allows for more customized workflows, which
can be particularly beneficial for complex projects. We can define multiple
workflows for different scenarios, all within the same repository.
Best regards,
Arturo
On Fri, Oct 20, 2023 at 8:59 PM Juan Pablo Santos Rodríguez <
juanpablo.san...@gmail.com> wrote:
Hi Arturo!
My 2c,
I'm ok with the change, with a caveat:
If we switch to GH actions, let's ditch the Jenkins build entirely, in
order to not have two different build/ci systems. This implies a number of
things
- SQ analysis should be done from one of the pipelines, perhaps the codeql
one? So it would have to be renamed to qa.yaml or something like that
- Also, currently, if the ci build is successful and we have a SNAPSHOT
version, we automatically deploy to repository.a.o, one of the pipelines
should also take care of that, not sure which.
- Last, a successful build also triggers the build on charge of deploying
the static site and associated assets (javadocs, japicmp reports). IIRC,
infra provides support for these actions when working with either Jenkins
or GH actions, but don't have any pointer on how to do it on the latter.
Of course we can keep the Jenkins build until all of these steps are
completed, but always having the final picture in mind (i.e., one build/ci
system).
Said that a couple questions/wishes on the GH actions builds:
1) what kind of errors display the windows builds? I suspect that most
probably there's a problem with the test execution order (at least that's
what happened in other similar situations). Could we get a lot of any of
those builds?
2) would it be possible to also run the integration tests? They can be run
on headless mode, so we'd only need an additional chrome binary on the
build path. Don't know if it's possible though.
Thx + best regards,
juan pablo
El jue, 19 oct 2023, 22:08, Arturo Bernal <aber...@apache.org> escribió:
Dear Team,
I'd like to propose the addition of three new GitHub Actions workflows to
enhance our CI/CD pipeline for the Apache JSPWiki project. Below are the
details:
1.
*Java CI Workflow*: Provides continuous integration support across
multiple OS (Ubuntu, macOS) and Java versions (11, 17). It also caches
Maven dependencies for optimized build times.
2.
*Dependency Review Workflow*: Triggered on pull requests to review and
ensure that dependencies are safe.
3.
*CodeQL Workflow*: Provides continuous integration and code quality
checks.
These workflows are designed to automate and streamline our development
process, making it more efficient. They will run on every push to the
master branch and on every pull request, ensuring that our code is
continuously tested and dependencies are reviewed.
I've already created a pull request with these changes, which you can
review here <https://github.com/apache/jspwiki/pull/299/files>.
Here are the key files to be added:
- CodeQL (codeql.yml) for continuous integration and code quality
checks.
- Dependency Review (dependency-review.yml) for dependency checks.
- Java CI (maven.yml) for continuous integration across multiple OS
and
Java versions.
I'd appreciate your thoughts and feedback on this proposal. Are there any
concerns or suggestions you'd like to share?
Best regards,
Arturo
--
...........................................................................
Murray Altheim <murray18 at altheim dot com> = = ===
http://www.altheim.com/murray/ === ===
= = ===
In the evening
The rice leaves in the garden
Rustle in the autumn wind
That blows through my reed hut.
-- Minamoto no Tsunenobu