Commit 2a60a3a
fetch-configlet: rename release assets
Before this commit, the release assets were named like:
configlet-linux-64bit.tgz
configlet-mac-64bit.tgz
configlet-windows-64bit.zip
configlet_4.0.0-beta.7_checksums_sha256.txt
With this commit, the next release will have assets named:
configlet_4.0.0-beta.8_checksums_sha256.txt
configlet_4.0.0-beta.8_linux_x86-64.tar.gz
configlet_4.0.0-beta.8_macos_x86-64.tar.gz
configlet_4.0.0-beta.8_windows_x86-64.zip
Where we:
- Make the archive naming format match that of the checksums file
- Add a version string
- Delimit with an underscore, not a hyphen
- Rename `64bit` to `x86-64`
- Rename `32bit` to `i386`
- Rename `tgz` to `tar.gz`
- Rename `mac` to `macos`
So far, we have only released configlet for x86-64, and the release
assets have always had an ambiguous `64bit` in the names. This naming
format was old (added by d4c6e26836a5, 2020-10-09), and was ultimately
inherited from:
- the `exercism/configlet-v2` releases [1]
- the `exercism/cli` releases [2][3]
However, we're getting closer to adding releases for other 64-bit
architectures, so it's especially important to change the names now.
The rationale for the particular use of underscores and hyphens is:
- We want to have the version string in the asset filenames
- Configlet uses version strings that are compatible with the Semantic
Versioning spec
- It is more common to use hyphens in executable names than
underscores
- The Semantic Versioning spec forbids using an underscore, and
specifies that prerelease versions can use hyphens [4]:
Section 9:
A pre-release version MAY be denoted by appending a hyphen and a
series of dot separated identifiers immediately following the patch
version. Identifiers MUST comprise only ASCII alphanumerics and
hyphens [0-9A-Za-z-].
[...]
Examples: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92
That is, there's an argument for the format of:
some-app_1.0.0-beta.1_linux_x86-64.tar.gz
rather than:
some_app-1.0.0-beta.1-linux-x86_64.tar.gz
because `_` fully separates the components of the first, and `-` does
not separate the components of the second (due to the `-beta` part of
the version string). This does ignore the convention of `_` as an
inter-word space, however.
[1] https://github.com/exercism/v2-configlet/releases
[2] exercism/cli#700 (comment)
[3] https://github.com/exercism/cli/releases/tag/v3.0.12
[4] https://semver.org/
exercism/configlet#363
exercism/configlet#24
exercism/configlet#7051 parent 3809604 commit 2a60a3a
1 file changed
+8
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
| 51 | + | |
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
62 | | - | |
| 61 | + | |
| 62 | + | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| |||
0 commit comments