Skip to content

[core] Let distributions be parameterizable with a matrix #1780

@aalmiray

Description

@aalmiray

Is your feature request related to a problem? Please describe.
Distributions may define artifacts whose paths follow a pattern that could be parameterized.

Describe the solution you'd like
Allow distributions to have the following properties:

matrix:
  rows:
    - { platform: osx-aarch_64 }
    - { platform: osx-x86_64   }
    - { platform: linux-x86_64 }
    
distributions:
  helloworld:
    executable:
      windowsExtension: exe
    applyDefaultMatrix: true
    artifactPattern:
      path: '{{artifactsDir}}/{{distributionName}}-{{projectVersion}}-{{matrix.platform}}.zip'

This will register 3 artifacts such as if they had been defined explicitly as

distributions:
  helloworld:
    executable:
      windowsExtension: exe
    artifacts:
      - path: '{{artifactsDir}}/{{distributionName}}-{{projectVersion}}-osx-aarch_64.zip'
        platform: 'osx-aarch_64'
      - path: '{{artifactsDir}}/{{distributionName}}-{{projectVersion}}-osx-x86_64.zip'
        platform: 'osx-x86_64'
      - path: '{{artifactsDir}}/{{distributionName}}-{{projectVersion}}-linux-x86_64.zip'
        platform: 'linux-x86_64'

Describe alternatives you've considered
Explicit definition of each artifact.

Additional context
Useful when the archive assembler is used to create archives in different nodes (Linux, OSX, Windows) like it's done https://github.com/jreleaser/helloworld-pascal/blob/main/jreleaser.yml

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestreleasedIssue has been released

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions