Added Github actions workflow to build on MacOS#28906
Added Github actions workflow to build on MacOS#28906nxei wants to merge 23 commits intoelastic:mainfrom
Conversation
|
This pull request does not have a backport label. Could you fix it @nxei? 🙏
NOTE: |
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
💚 Flaky test reportTests succeeded. 🤖 GitHub commentsTo re-run your PR in the CI, just comment with:
|
v1v
left a comment
There was a problem hiding this comment.
You can speed up your testing as commented sometime offline by changing the Jenkinsfile.yml top level file and remove all the projects but the one you are testing at the moment. In this case auditbeat/
Added macosActions stage to config for auditbeat.
|
/test |
Jenkinsfile
Outdated
| log(level: 'INFO', text: "Github build link: ${result.html_url}") | ||
| log(level: 'INFO', text: "Github build status: ${result.conclusion}") |
There was a problem hiding this comment.
I saw the build worked, awesome!
I think we can now add a conclusion validation if not success then report an error? IIUC, result.conclusion contains success if it successfully ran.
So something like the below snippet could work:
if (!result.conclusion.equals('success') {
error(''${args.context}: ${result.conclusion}. See ${result.html_url}")
}
What do you think?
OTOH, is the conclusion related to a run or a step?
I see steps.<step id>.conclusion in https://docs.github.com/en/actions/learn-github-actions/contexts#steps-context versus job.status in https://docs.github.com/en/actions/learn-github-actions/contexts#job-context. The conclusion is the status for the whole run? Where can I see all the fields for the result object?
* upstream/master: [libbeat] Fix add_labels flattening of arrays values (elastic#29211) Change elastic-agent pprof default to false (elastic#29155) elastic#28472 fix flaky tests in libbeat fmtstr to use time.UTC instead of time.Local (elastic#28473) Adopt `parsers` in Filebeat's journald input (elastic#29070) [Elastic Agent] Add process error handling guidelines (elastic#29152) winlogbeat/sys/winevent: use reflect IsZero method (elastic#29190) Remove Journalbeat (elastic#29131) Add note that there is no warranty or support for generator code (elastic#28797) packetbeat: preparation for npcap addition (elastic#29017) Use the generic helper for opening file to read in filestream (elastic#29180) Workflow for macos (elastic#29174) Fix `decode_json_fields` processor to always add error key (elastic#29107)
This reverts commit 2d04883.
metricbeat/Jenkinsfile.yml
Outdated
| crosscompile: | ||
| make: "make -C metricbeat crosscompile" | ||
| stage: mandatory | ||
| macosAction: |
|
/test |
|
This pull request is now in conflicts. Could you fix it? 🙏 |
|
@v1v @cachedout what should we do with this PR? Is this still relevant or should I discard it? |
|
I'll close this now, we have already put in place the GitHub actions on MacOS though they are not reported in Jenkins nor the github build comment, so we will need to revisit this in the future if needed |

What does this PR do?
Add Github actions workflow to build on MacOS on a PR basis and being triggered by the Jenkins pipeline.
It runs as part of the
mandatorymeta-stage#29032 is another implementation, which one do we enable?
Why is it important?
Delegate the environmental issues to the SaaS.
Ensure the OS coverage happens on a PR basis to avoid merging any PRs that could cause any regression.
Avoid being blocked from the system owner.
Issues
Superseedes #29032
UI
A Github check with the build status will be created:
Further details
GitHub already provides MacOS support: