Skip to content

YAML parse error when .goreleaser.yml contains anchor #397

Description

@at-wat

Reproduction of the issue: at-wat/goreleaser-repro-action-anchor#1

When .goreleaser.yml contains YAML anchor like,

&shared:
  build: &build_base
    env:
      - CGO_ENABLED=0

project_name: test
builds:
  - <<: *build_base

goreleaser/goreleaser-action fails with an error:

...
  • release succeeded after 14s
Error: end of the stream or a document separator is expected (6:1)

 3 |     env:
 4 |       - CGO_ENABLED=0
 5 | 
 6 | project_name: test
-----^
 7 | builds:
 8 |   - <<: *build_base

GoReleaser does support YAML anchor, but goreleaser-action seems parsing .goreleaser.yml by different yaml library which doesn't support anchor.

Workaround

Use goreleaser-action with install-only: true option, and run goreleaser command in different step.

      - name: Install GoReleaser
        uses: goreleaser/goreleaser-action@v4
        with:
          version: latest
          install-only: true
      - name: Run GoReleaser
        run: goreleaser release

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    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