Skip to content

Conversation

@petertseng
Copy link
Member

see individual commit messages.

these commits MUST NOT be squashed when merging

kytrinyx and others added 4 commits November 17, 2022 15:52
I think we should not (as an org) encourage participation.

Individual tracks can decide differently a year from now when
Hacktoberfest rolls around again.

exercism/org-wide-files#266
This adds a label paused which lets us tag all open issues in a
repository and close them, making it easy to bulk-open them when we have
figured out the volunteering structure.

exercism/org-wide-files#266
To match style on other bullet statements in this file

exercism/org-wide-files#232
ee7 added 3 commits November 17, 2022 16:30
Before this commit, `fetch-configlet` produced no output on success:

    $ bin/fetch-configlet
    $ echo $?
    0

With this commit, it prints a message while downloading, and then prints
the downloaded configlet version and its location:

    $ bin/fetch-configlet
    Fetching configlet...
    Downloaded configlet 4.0.0-beta.7 to ./bin/configlet

exercism/configlet#459
exercism/configlet#689
From e.g. the Google Shell Style Guide [1]:

    Ensure that local variables are only seen inside a function and its
    children by using `local` when declaring them. This avoids polluting
    the global name space and inadvertently setting variables that may
    have significance outside the function.

    Declaration and assignment must be separate statements when the
    assignment value is provided by a command substitution; as the
    `local` builtin does not propagate the exit code from the command
    substitution.

[1] https://google.github.io/styleguide/shellguide.html#use-local-variables

exercism/configlet#691
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#705
@petertseng
Copy link
Member Author

removing some "closes:" lines in commit messages because they do not close. There has been no change to the code changes, only the commit messages

@petertseng petertseng merged commit fc02dcb into exercism:main Nov 17, 2022
@petertseng petertseng deleted the orgwide branch November 17, 2022 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants