Skip to content

Adding changelog configuration categories to release-please #48

@camillecroft

Description

@camillecroft

Issue

We need to update the changelog categories to support the commit prefixes used across the CSDA repos. Adding changelog-sections to the csda-version release-please-config.json file only affects the local repository. Repositories currently using the csda-version action are defaulting to the "Features" and "Bug Fixes" categories.

Release Please fetches its configuration directly from the Git tree via the GitHub API, rather than reading from the local runner's filesystem. This means configuration cannot be dynamically injected or fetched from external sources at runtime. The config and manifest files must be at the root of each repository.

Option 1: Downgrade to version 3

In version 3 the changelog types can be defined as an input field for the release-please action. This allows us to add the changelog types as an output within the csda-version repo.

Setup Example:

csda-version/action.yml

    - name: Set changelog types
      id: changelog-types
      shell: bash
      run: |
        cat >> "$GITHUB_OUTPUT" << 'EOF'
        changelog-types<<CHANGELOG_EOF
        [
          { "type": "feat", "section": "Features", "hidden": false },
          { "type": "fix", "section": "Bug Fixes", "hidden": false },
          { "type": "refactor", "section": "Refactor", "hidden": false },
          { "type": "chore", "section": "Chores", "hidden": false },
          { "type": "docs", "section": "Documentation", "hidden": false },
          { "type": "revert", "section": "Revert", "hidden": false }
        ]
        CHANGELOG_EOF
        EOF

<csda-repo>/.github/workflows/release-please.yaml:

      - uses: googleapis/release-please-action@v3
        id: release-please
        with:
          release-as: ${{ steps.get-workflow.outputs.version }}
          release-type: python
          changelog-types: ${{ steps.get-workflow.outputs.changelog-types }}

Option 2: Use version 5

In versions 4 and 5, you can no longer define changelog types directly in the release-please-config.json. release-please-config.json and .release-please-manifest.json files need to be located at the repository root.

Testing

Tested this configuration between two repositories.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ⚙️ dev-exImprovements to developer experience

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions