Skip to content

Conversation

@sheurich
Copy link
Contributor

@sheurich sheurich commented Jan 8, 2026

Replace hardcoded letsencrypt with $GITHUB_REPOSITORY_OWNER in workflow image paths.

This enables testing release workflows on forks without modifying the workflow file.

Changes

release.yml:

  • ghcr.io/letsencrypt/boulderghcr.io/$GITHUB_REPOSITORY_OWNER/boulder
  • ghcr.io/letsencrypt/ct-test-srvghcr.io/$GITHUB_REPOSITORY_OWNER/ct-test-srv

try-release.yml:

  • ghcr.io/letsencrypt/ct-test-srvghcr.io/$GITHUB_REPOSITORY_OWNER/ct-test-srv

Testing

Verified by triggering try-release on fork; image paths resolve to fork owner.

@sheurich sheurich requested a review from a team as a code owner January 8, 2026 15:31
@sheurich sheurich requested a review from aarongable January 8, 2026 15:31

- name: Tag Boulder container
run: docker tag boulder "ghcr.io/letsencrypt/boulder:${GITHUB_REF_NAME}-go${{ matrix.GO_VERSION }}"
run: docker tag boulder "ghcr.io/${{ github.repository_owner }}/boulder:${GITHUB_REF_NAME}-go${{ matrix.GO_VERSION }}"
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm unconvinced we should make this change at all, as it veers dangerously close to referencing untrusted strings in our workflows and enabling fork- or PR-based attacks. However, if other reviewers think this change is fine, at the very least it should use the environment variable version of this rather than the context preprocessor version, to prevent quote escaping issues.

Suggested change
run: docker tag boulder "ghcr.io/${{ github.repository_owner }}/boulder:${GITHUB_REF_NAME}-go${{ matrix.GO_VERSION }}"
run: docker tag boulder "ghcr.io/${GITHUB_REPOSITORY_OWNER}/boulder:${GITHUB_REF_NAME}-go${{ matrix.GO_VERSION }}"

@aarongable aarongable requested review from a team and aarongable and removed request for a team January 9, 2026 20:19
Switch to ${GITHUB_REPOSITORY_OWNER} to avoid expression expansion/quoting issues

Co-authored-by: Aaron Gable <[email protected]>
@sheurich
Copy link
Contributor Author

sheurich commented Jan 9, 2026

I'm unconvinced we should make this change at all, as it veers dangerously close to referencing untrusted strings in our workflows and enabling fork- or PR-based attacks.

Agree on being cautious, but GITHUB_REPOSITORY_OWNER is the repository owner name per GitHub’s variables reference (https://docs.github.com/en/actions/reference/workflows-and-actions/variables), so I don’t see a fork/PR‑controlled input here. If you have a specific attack path in mind, happy to dig in.

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