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

Use GitHub Actions for checks #885

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft

Conversation

StefMa
Copy link
Contributor

@StefMa StefMa commented Jan 15, 2025

Hello everyone ✌️

this PR might fix #152 and therefore also contributes to #225.

Two reasons why this would be a step forward:

I just converted the checks from the circleci config for now because

  1. I wanted to hear your opinion about this first (generally)
  2. What do you think about using my pkl-gha project 🙃
  3. Other comments 🙃
    Le me know if this is "fine" or if I also convert all the other jobs.
    On the other side we can also do this as follow-ups in other PRs.
    Let me know what you prefer.

Because using a matrix is super easy to setup on actions, I also decided to run jdk 21 on windows 🤷
This isn't in the circleci config but doesn't hurt i guess?!

If you want to see how this looks like in action, checkout this run on my fork:

TODO before merge:

  • Remove demosntrate github action run

@bioball
Copy link
Contributor

bioball commented Jan 21, 2025

Hi @StefMa, thanks for the PR!

We're considering switching to GitHub Actions, but we're not quite ready yet to accept a commit for this. However, you can always maintain this commit on your own fork for now as a way to build and test Pkl yourself.

However, this is quite useful for us (I've never used GHA before), so, let's keep this PR around so we can go from here when we're ready!

Also, I'm open to using pkl-gha :)

@madrob
Copy link

madrob commented Jan 21, 2025

@bioball Actions are currently disabled on the repo, but would it be useful to merge anyway so that other folks who are forking can run the tests? I wouldn't want this to turn into a maintenance burden for the team to have untested code in the repo, but it could also be a nice quality of life improvement for contributors.

@sgammon
Copy link
Contributor

sgammon commented Jan 29, 2025

In case it helps forks in the meantime, here are some workflows that I've used to test PRs before submitting them to Pkl upstream.

The build summary shows how jobs are arranged, with Gradle and Native Image build reports, and so on. The workflows use StepSecurity's actions to harden execution (disables sudo access and offers firewalling to protect from supply chain attacks). Actions use principle-of-least-privilege and pin to specific commits for each step.

I'd be glad to offer these upstream if the project is interested, or on this PR, but I suspect the Pkl project authors will want to render these configs with Pkl, as is done for Circle

@StefMa
Copy link
Contributor Author

StefMa commented Jan 29, 2025

let's keep this PR around so we can go from here when we're ready!

Sure, take your time. This is going to nowhere 🙃

Also, I'm open to using pkl-gha :)

Nice to hear! If you have any feedback to it, let me know.


I tend to agree with @madrob.
You can simply disable Actions in the repo settings.
Screenshot 2025-01-29 at 9 01 19 AM
Could be quite easy enabled and improved by the community over time, while you still exploring GH Actions.. 🤔
On the other side, it of course require a bit of maintainance...


@sgammon nice, thanks for sharing that!
I initially started with just PRs to give the maintainers here an first glimps/overview about this and gather feedback.
With that approach we can move slowly away from CircleCI to GH Actions and don't put anything at once here and addiotnally some other "nice|good-to-have" actions. Lets start with the pure basics and we can iterate from here.

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

Successfully merging this pull request may close these issues.

Automatically run CI builds for external contributions
4 participants