Skip to content

build: change release asset names #363

@ee7

Description

@ee7

Currently, the release assets are named:

configlet-linux-64bit.tgz
configlet-mac-64bit.tgz
configlet-windows-64bit.zip

See: configlet releases and .github/bin/create-artifact.

But this doesn't allow #24 very neatly. If we add arm64 then just 64bit is not enough, and 64bit-arm is a bad suffix in my opinion (because arm alone is the usual way to refer to the 32-bit ARM architecture, and 64bit isn't explicitly x86-64).

A similar problem occurred in exercism/cli - see exercism/cli#700 (comment).

Some possible improvements:

  • Use amd64 or x86-64 instead of 64bit
  • Use macOS instead of mac
  • Include the configlet version in the asset name

In the long-term, I'd suggest something like:

configlet_4.1.0_checksums_sha256.txt
configlet_4.1.0_checksums_sha256.txt.minisig
configlet_4.1.0_FreeBSD_amd64.tar.gz
configlet_4.1.0_FreeBSD_arm64.tar.gz
configlet_4.1.0_Linux_amd64.tar.gz
configlet_4.1.0_Linux_arm.tar.gz
configlet_4.1.0_Linux_arm64.tar.gz
configlet_4.1.0_Linux_i386.tar.gz
configlet_4.1.0_Linux_powerpc64.tar.gz
configlet_4.1.0_Linux_riscv64.tar.gz
configlet_4.1.0_macOS_amd64.tar.gz
configlet_4.1.0_macOS_arm64.tar.gz
configlet_4.1.0_OpenBSD_amd64.tar.gz
configlet_4.1.0_OpenBSD_arm64.tar.gz
configlet_4.1.0_Windows_amd64.zip
configlet_4.1.0_Windows_i386.zip

This has a few things that I don't necessarily expect to release for, just to illustrate.

This would also require changes to the fetch-configlet scripts.

We can also consider:

  • Adding _musl to the linux asset names.
  • Using .tar.gz instead of .tgz
  • Using .tar.xz
  • Using zstd
  • The choice between x86-64, x86_64, amd64, and x64
  • The choice between arm64, and aarch64
  • The choice between i386, i686, 386, x86, and x32
  • The choice between darwin, macos, and macOS

For inspiration, we can look how bigger projects name their release assets.

Assorted examples:

See also:

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind: buildNon-.nim changes that affect the release binary

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions