github.com/goreleaser/goreleaser@v1.25.1/www/docs/errors/multiple-binaries-archive.md (about)

     1  # Archive has different count of binaries for each platform
     2  
     3  This error looks like this:
     4  
     5  ```sh
     6  тип release failed after 5s                  error=invalid archive: 0:archive has different count of binaries for each platform, which may cause your users confusion.
     7  Learn more at https://goreleaser.com/errors/multiple-binaries-archive
     8  
     9  ```
    10  
    11  This will happen when you have several builds, and their target platforms are
    12  different:
    13  
    14  ```yaml
    15  builds:
    16  - id: b1
    17    binary: b1
    18    goos: [linux, darwin]
    19  - id: b2
    20    binary: b2
    21    goos: [darwin]
    22  
    23  archives:
    24  - id: a1
    25  ```
    26  
    27  In this scenario, GoReleaser will complain because the archive will have a
    28  different binary count depending on which platform its being archived, since
    29  it'll have 2 binaries on `darwin` and only 1 on `linux`.
    30  
    31  
    32  From here on, you have a couple of options:
    33  
    34  - add another archive, and filter the builds on each of them - e.g. archive `a1`
    35    with binaries from build `b1`, and archive `a2` with builds from build `b2`:
    36    ```yaml
    37    archives:
    38    - id: a1
    39      builds: [b1]
    40      name_template: something-unique-for-a1
    41    - id: a2
    42      builds: [b2]
    43      name_template: something-unique-for-a2
    44    ```
    45  - if you really want to have the mixed archive, you can add
    46    `allow_different_binary_count` to your archive configuration:
    47    ```yaml
    48    archives:
    49    - id: a1
    50      allow_different_binary_count: true
    51    ```