Skip to content

PRs updates may cause unwanted PR creation in docker-library/official-images #2564

Description

@MikeMcC399

Situation

When Dockerfile-template.* changes are made and Dockerfile updates in the release line directories are also made, then the repo automatically triggers a PR to build a new release. The workflow official-pr is responsible for this.

Unless the update is part of a new release, then Dockerfile updates should generally not be done manually. These updates should be left to the automated processes that are triggered when the repo's automatic-updates.yml polling workflow detects a new Node.js release.

Suggestion

Research the background and add instructions to the CONTRIBUTING document about when Dockerfile updates should be made directly, and when it should be left to automation.

For those cases where no direct Dockerfile update should be included in a PR, describe also how to test such PRs.

Activity

  1. added theissue type on Jul 12, 2026
  2. aduh95 commented on Jul 13, 2026

    @aduh95
    Contributor

    There probably some kind of linter enforcing this. The CI should also be updated to run ./update.sh so CI result stays relevant

  3. MikeMcC399 commented on Jul 15, 2026

    @MikeMcC399
    ContributorAuthor

    The main issue seems to be the automatic trigger of .github/workflows/official-pr.yml

    on:
    pull_request_target:
    types:
    - closed
    paths:
    - ".github/workflows/official-pr.yml"
    - "**/Dockerfile"
    - "**/docker-entrypoint.sh"
    - "versions.json"
    - "stackbrew.js"

    which can cause a PR to be created for a new release, when this is not wanted. For example in PR #2494 which cleans up the architectures used without actually removing any actively used architectures.

    A way to handle this flexibly would be to add a new label such as skip-release to be applied by a maintainer (user with write access to repo) to a PR before merge, if the PR contains updated Dockerfiles that do not need a new release. .github/workflows/official-pr.yml could check for the presence of that label and skip running if that label is set.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions