Skip to content

[DENG-10780] Update GHA workflow#242

Open
BenWu wants to merge 1 commit intomainfrom
benwu/gh-actions2
Open

[DENG-10780] Update GHA workflow#242
BenWu wants to merge 1 commit intomainfrom
benwu/gh-actions2

Conversation

@BenWu
Copy link
Copy Markdown
Contributor

@BenWu BenWu commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

@janbrasna janbrasna left a comment

Choose a reason for hiding this comment

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

Noticed one action missing from the update, and also general PR/branch trigger observation:

- test
steps:
- name: Checkout code
uses: actions/checkout@v4
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

One forgotten instance also down here for consistency:

Suggested change
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

BTW hard-pinning actions asks for setting up dependabot schedule, to keep updating these over time, to not get stuck on an outdated or insecure version when overspecified like this. (Or does implicit dependabot, without ecosystem configs, only submitting bumps on vulnerabilities, also cover GHA versions if there's a sec bump necessary?)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

If I'm understanding the question correctly, dependabot can automatically update these when pinned to a hash, for example: mozilla/bigquery-etl#9069

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

That repository has an explicit ecosystem configuration I was hinting at:
https://github.com/mozilla/bigquery-etl/blob/main/.github/dependabot.yml

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I see what you're saying. Dependabot security updates are enabled in the repo settings so I would expect it to be able to update GHA as well. However, automated PRs are currently disabled because this repo has been mostly unmaintained for 5 years

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I have never tried or relied on it myself before, so don't have experience to share unfortunately — but also hope like with any other ecosystem, if no schedule provided, the bumps will come "loudly" in case of a vulnerability fix, even for factory GHA actions.

Just left here this observation that hard pinning actions introduces new level of maintenance burden, hopefully these versions will be good for some time now;) Thanks for bumping these!

docker run --rm --tty --env-file=.env ensemble-transposer npm test
deploy:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This still runs on: push: * so it would tag any branch/PRs' refs as "latest" which is perhaps not the intention?

Wondering if the opposite, i.e. running on: push, pull_request to test/lint also PRs from forks/contributors would be helpful, and then keep the default branch +tag guardrail like this above ^^ in?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

(It also seems "test" is a required check to pass on a PR, but that's currently not being run for PRs coming from forks, FYI — so these can never pass not even triggering that pipeline, as seen on my PR's checks: #243)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This was removed temporarily to test the workflow from this branch. I forgot about this PR so I didn't end up removing it.

The inability to run for forked PRs is something we're aware of and we have a solution for some other repos, but we default to not running for forks for security reasons. I can manually test your PR and bypass the check in this case

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Ah okay. That can be set up systemically https://docs.github.com/en/actions/how-tos/manage-workflow-runs/approve-runs-from-forks and allow manual approvals after inspection if need be.

If there's a way around the missing checks, no probs then of course! I always get caught by surprise by the mismatch of expected run names required to merge for environment protection, and their potential disconnection from the actual CI runs on the PRs;)

(I'm adding just a few JSON translations, so it should be both safe and uncontroversial, thanks!)

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.

2 participants