Skip to content

Conversation

@thomashope
Copy link
Contributor

What does this PR do?

This change should make CI not trigger when PRs only make changes to files inside the website folder.

Triggering CI for website changes can cause unnecessary delay due to waiting for jobs to complete or jobs being canceled due to no runners being available.

How does this PR change Premake's behavior?

This should not affect the behaviour of Premake itself. Only CI.

Anything else we should know?

I'm not 100% confident in this change since I don't use Github Actions all that often.

It could also be the case that there is some reason to trigger the builds on website changes that I'm not aware of?

The motivation for this change came from submitting this PR, however it looks like that PR failed some CI jobs for reasons that aren't clear to me?

Did you check all the boxes?

  • Focus on a single fix or feature; remove any unrelated formatting or code changes
  • Add unit tests showing fix or feature works; all tests pass
  • Mention any related issues (put closes #XXXX in comment to auto-close issue when PR is merged)
  • Follow our coding conventions
  • Minimize the number of commits
  • Align documentation to your changes

You can now support Premake on our OpenCollective. Your contributions help us spend more time responding to requests like these!

This change should make CI ignore changes to files inside the
website folder.
@nickclark2016
Copy link
Member

I don't think this is a useful change. If someone deletes an existing doc for an API that still exists in the Lua code, this change would make it so that change isn't detected and our CI job never attempts to fail that change.

- 'website/**'
pull_request:
paths-ignore:
- 'website/**'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can also include *.txt, *.md

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean txt and md files in the entire repo?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, modifying text file doesn't impact build

@thomashope
Copy link
Contributor Author

I don't think this is a useful change. If someone deletes an existing doc for an API that still exists in the Lua code, this change would make it so that change isn't detected and our CI job never attempts to fail that change.

Ah right, I missed that it also runs docs-check

Do you think it would be useful to instead only run the linux builds since they are fast and have good availability? That way docs-check is still run.

Alternatively we could only skip Mac, since Mac appears to be especially prone to timeout.

@Jarod42
Copy link
Contributor

Jarod42 commented Oct 1, 2025

I don't think this is a useful change. If someone deletes an existing doc for an API that still exists in the Lua code, this change would make it so that change isn't detected and our CI job never attempts to fail that change.

Maybe split the CI, one for code check, one for doc-check?

@nickclark2016
Copy link
Member

I don't think this is a useful change. If someone deletes an existing doc for an API that still exists in the Lua code, this change would make it so that change isn't detected and our CI job never attempts to fail that change.

Maybe split the CI, one for code check, one for doc-check?

I don't really see the use for that. We still have to build premake for the doc check. By that point, we've built it, tests are relatively cheap. If we just say "hey, let's use XYZ runner to do doc-check on", we're just doing extra work. If we're trying to get around the fact that "but maybe X is degraded, so we want to use Y", that only works if "Y" is never degraded.

@thomashope
Copy link
Contributor Author

If there's no appetite for this change I'm happy to close it, but I think this point is not quite correct:

If we just say "hey, let's use XYZ runner to do doc-check on", we're just doing extra work. If we're trying to get around the fact that "but maybe X is degraded, so we want to use Y", that only works if "Y" is never degraded.

Currently all jobs are being run for website changes and the PR is blocked if any of them fail.

If we were to only do Linux builds for website changes then it would eliminate multiple points of failure that are currently adding no value (unless of course I'm missing something which is entirely possible).

This would not require any logic for switching runners depending on what is degraded.

It would also mean CI completes faster overall. Skipping Windows avoids the slowest running job, and skipping Mac avoids the slowest to allocate job and the most likely source of failure due to being unavailable.

Sure, Linux runners could also become unavailable for a while. This change would not avoid such a situation, but it wouldn't make it worse either.

@nickclark2016
Copy link
Member

Given we don't pay for runners, I have no issue with them taking a little extra time to ensure its working on all platforms as expected.

@nickclark2016
Copy link
Member

Closing this PR at this time. We may re-open at a later point.

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.

3 participants