Skip to content

Commit dd53e6d

Browse files
authored
2026.10.10.2: the linux-x86_64 archive bundles the pinned xlings (#793)
The release installed xlings only where none was present. A restored ~/.xlings held 2026.10.8.1, and the 2026.10.10.1 linux-x86_64 archive bundled it. The Linux and macOS jobs now install the pinned version when a different one is present, and every job refuses to bundle another.
1 parent 4ee9b26 commit dd53e6d

4 files changed

Lines changed: 27 additions & 4 deletions

File tree

‎.github/workflows/release.yml‎

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,12 @@ jobs:
106106
# download + self-install manually to avoid broken releases.
107107
XLINGS_VERSION: '2026.10.10.2'
108108
run: |
109-
if [ ! -x "$HOME/.xlings/subos/default/bin/xlings" ]; then
109+
# BY VERSION, NOT BY PRESENCE. A restored ~/.xlings holds the
110+
# xlings of an earlier release, and this binary is the one the
111+
# tarball bundles: 2026.10.10.1 shipped xlings 2026.10.8.1 on
112+
# linux-x86_64 because one was present.
113+
have=$("$HOME/.xlings/subos/default/bin/xlings" --version 2>/dev/null | awk '{print $2}')
114+
if [ "$have" != "$XLINGS_VERSION" ]; then
110115
tarball="xlings-${XLINGS_VERSION}-linux-x86_64.tar.gz"
111116
bash "$GITHUB_WORKSPACE/.github/tools/fetch_release.sh" \
112117
"https://github.com/openxlings/xlings/releases/download/v${XLINGS_VERSION}/${tarball}" \
@@ -116,6 +121,8 @@ jobs:
116121
fi
117122
export PATH="$HOME/.xlings/subos/default/bin:$PATH"
118123
xlings --version
124+
test "$(xlings --version | awk '{print $2}')" = "$XLINGS_VERSION" || {
125+
echo "::error::the xlings this release bundles is $(xlings --version), not $XLINGS_VERSION"; exit 1; }
119126
# Pinned to .xlings.json — a bare `xlings install mcpp` resolves
120127
# "newest in this runner's index copy" and put 0.0.105 (below the
121128
# index floor) into this job. See .github/tools/install_pinned_mcpp.sh.
@@ -484,7 +491,9 @@ jobs:
484491
XLINGS_NON_INTERACTIVE: '1'
485492
XLINGS_VERSION: '2026.10.10.2'
486493
run: |
487-
if [ ! -x "$HOME/.xlings/subos/default/bin/xlings" ]; then
494+
# By version, not by presence (see the Linux job).
495+
have=$("$HOME/.xlings/subos/default/bin/xlings" --version 2>/dev/null | awk '{print $2}')
496+
if [ "$have" != "$XLINGS_VERSION" ]; then
488497
WORK=$(mktemp -d)
489498
tarball="xlings-${XLINGS_VERSION}-macosx-arm64.tar.gz"
490499
bash "$GITHUB_WORKSPACE/.github/tools/fetch_release.sh" \
@@ -495,6 +504,8 @@ jobs:
495504
fi
496505
export PATH="$HOME/.xlings/subos/default/bin:$PATH"
497506
xlings --version
507+
test "$(xlings --version | awk '{print $2}')" = "$XLINGS_VERSION" || {
508+
echo "::error::the xlings this release bundles is $(xlings --version), not $XLINGS_VERSION"; exit 1; }
498509
# Pinned to .xlings.json — a bare `xlings install mcpp` resolves
499510
# "newest in this runner's index copy" and put 0.0.105 (below the
500511
# index floor) into this job. See .github/tools/install_pinned_mcpp.sh.
@@ -682,6 +693,8 @@ jobs:
682693
export PATH="$USERPROFILE/.xlings/subos/default/bin:$PATH"
683694
echo "$USERPROFILE/.xlings/subos/default/bin" >> "$GITHUB_PATH"
684695
xlings.exe --version
696+
test "$(xlings.exe --version | awk '{print $2}' | tr -d '\r')" = "$XLINGS_VERSION" || {
697+
echo "::error::the xlings this release bundles is not $XLINGS_VERSION"; exit 1; }
685698
# Pinned + version-scoped lookup. The old `find | head -1` returned
686699
# whichever version the directory walk reached first.
687700
MCPP=$(bash "$REPO_DIR/.github/tools/install_pinned_mcpp.sh" "$REPO_DIR")

‎CHANGELOG.md‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@
44
> Each `## [<version>]` section is that release's notes. Entries are written in English
55
> from 2026.9.28.3 on; earlier entries remain as written.
66

7+
## [2026.10.10.2] - 2026-10-10
8+
9+
### Fixed
10+
11+
- Bundle xlings 2026.10.10.2 in the linux-x86_64 archive. The 2026.10.10.1
12+
archive carried xlings 2026.10.8.1, which a restored release cache provided:
13+
its install failures had no class and its extractions no progress. The
14+
release installs the pinned xlings by version and refuses a different one;
15+
the other archives were correct.
16+
717
## [2026.10.10.1] - 2026-10-10
818

919
### Changed

‎mcpp.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mcpp"
3-
version = "2026.10.10.1"
3+
version = "2026.10.10.2"
44
description = "Modern C++ build & package management tool"
55
license = "Apache-2.0"
66
authors = ["mcpp-community"]

‎modules/versioning/src/version.cppm‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,6 @@ import std;
3131

3232
export namespace mcpp {
3333

34-
inline constexpr std::string_view MCPP_VERSION = "2026.10.10.1";
34+
inline constexpr std::string_view MCPP_VERSION = "2026.10.10.2";
3535

3636
} // namespace mcpp

0 commit comments

Comments
 (0)