Skip to content

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

Open
@at-wat

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions