Skip to content

Automate weekly LICENSE Change Date updates #38014

Open

Description

@wezell

Task Description

Automate weekly updates to the root LICENSE Change Date using a GitHub Actions scheduled workflow. Preserve the existing wording (Change Date: Four years from Month DD, YYYY) and replace only the date with the current UTC date.

Status: IN PROGRESS

Implementation

  • Reuse .github/actions/update-license-date.sh with UTC and English date formatting.
  • Run every Saturday at 23:00 UTC (0 23 * * 6); support manual dispatch.
  • Try a normal commit/push to the repository default branch without force-pushing or bypassing branch protection.
  • If direct push fails, create or update one PR using the organization machine-user credentials (CI_MACHINE_TOKEN, CI_MACHINE_USER, defaulting to dotcmsmachineuser).
  • Include offline tests for date-only updates, idempotent reruns, direct-push behavior, PR fallback wiring, and missing credentials.

Acceptance Criteria

  • Workflow runs Saturday at 23:00 UTC and can be manually dispatched.
  • Date uses UTC and Month DD, YYYY, preserving Four years from and all other license text.
  • No commit or PR is created when the date is already current.
  • Direct push respects branch protection; rejected pushes fall back to a machine-user PR.
  • Repeated fallback runs reuse a stable PR branch rather than creating duplicate PRs.
  • Missing machine credentials produce a clear error when PR fallback is needed.
  • Offline workflow tests and actionlint pass.

Operational Requirements

The repository must have access to the organization secrets CI_MACHINE_TOKEN and CI_MACHINE_USER. The machine-user token must be able to push the automation branch and create pull requests.

Activity

  1. wezell commented on Oct 13, 2026

    @wezell
    MemberAuthor

    Implementation is ready for review in #38015: the workflow updates only the LICENSE Change Date every Saturday at 23:00 UTC, attempts a normal push, and falls back to a machine-user PR. The branch contains only the workflow and its tests; all 8 offline tests and actionlint pass.

  2. github-actions commented on Oct 13, 2026

    @github-actions
    Contributor
  3. wezell commented on Oct 13, 2026

    @wezell
    MemberAuthor

    Live branch testing passed for both publishing paths: https://github.com/dotCMS/core/actions/runs/38438214743 . A real push updated only the date on a disposable branch; a deliberately rejected local push produced sandbox PR #38017 as dotCMS-Machine-User. No writes targeted main. Full evidence is posted on implementation PR #38015; sandbox artifacts are being closed/deleted without merging.

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

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions