Skip to content

Commit 9f28413

Browse files
committed
Fix release workflow: guard folded scalars against CRLF
GitHub Actions on Windows writes temp scripts with \r\n. Cygwin bash treats \r as part of the last argument — ninja rejects -j4\r as "invalid -j parameter". Fix: plain scalars for one-line commands (matching CI pattern), and && echo . trailers on > folded blocks so \r lands harmlessly on echo's argument. Add CRLF diagnostic step to confirm the theory.
1 parent 7770d14 commit 9f28413

1 file changed

Lines changed: 21 additions & 12 deletions

File tree

.github/workflows/release.yml

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,34 +35,39 @@ jobs:
3535
ninja
3636
curl
3737
38+
# Diagnostic: check whether GitHub Actions adds \r to temp scripts
39+
- name: CRLF diagnostic
40+
run: >
41+
od -c "$0" | tail -3 && echo .
42+
3843
- name: Build environment
3944
run: >
4045
echo "GCC=$(g++ -dumpfullversion) CMake=$(cmake --version | head -1) Cygwin=$(uname -r) CWD=$(pwd)"
46+
&& echo .
4147
4248
- name: Download GoogleTest
4349
run: >
4450
curl -fL -o gtest.tar.gz https://github.com/google/googletest/archive/refs/tags/v1.16.0.tar.gz
45-
&& echo "Downloaded $(ls -la gtest.tar.gz)"
51+
&& ls -l gtest.tar.gz
4652
&& tar xzf gtest.tar.gz
4753
&& mv googletest-1.16.0 googletest-src
48-
&& echo "Extracted: $(ls -d googletest-src)"
54+
&& ls -d googletest-src
55+
&& echo .
4956
5057
- name: Configure GoogleTest
5158
run: >
52-
echo "CWD=$(pwd) src=$(ls -d googletest-src)"
53-
&& cmake -S googletest-src -B gtest-build -G Ninja
59+
cmake -S googletest-src -B gtest-build -G Ninja
5460
-DCMAKE_CXX_STANDARD=17
5561
-DCMAKE_BUILD_TYPE=Release
5662
-DCMAKE_CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=1"
5763
-DCMAKE_INSTALL_PREFIX="$PWD/staging/usr/local/lib/absl/vendor"
64+
&& echo .
5865
5966
- name: Build GoogleTest
60-
run: >
61-
ninja -C gtest-build -j4
67+
run: ninja -C gtest-build -j4
6268

6369
- name: Install GoogleTest
64-
run: >
65-
cmake --install gtest-build
70+
run: cmake --install gtest-build
6671

6772
- name: Configure Abseil
6873
run: >
@@ -74,31 +79,34 @@ jobs:
7479
-DABSL_BUILD_TESTING=ON
7580
-DABSL_USE_EXTERNAL_GOOGLETEST=ON
7681
-DABSL_FIND_GOOGLETEST=ON
82+
&& echo .
7783
7884
- name: Build Abseil
79-
run: >
80-
ninja -C build -j4
85+
run: ninja -C build -j4
8186

8287
- name: Test
83-
run: >
84-
ctest --test-dir build --timeout 300 --output-on-failure
88+
run: ctest --test-dir build --timeout 300 --output-on-failure
8589

8690
- name: Install Abseil
8791
run: >
8892
cmake --install build --prefix "$PWD/staging/usr/local"
93+
&& echo .
8994
9095
- name: Patch abslConfig.cmake for vendored GoogleTest
9196
run: >
9297
printf '\n# Vendored GoogleTest for test helper targets (scoped_mock_log, status_matchers)\nif(NOT TARGET GTest::gtest)\n find_package(GTest QUIET HINTS "${CMAKE_CURRENT_LIST_DIR}/../../absl/vendor/lib/cmake/GTest")\nendif()\n'
9398
>> staging/usr/local/lib/cmake/absl/abslConfig.cmake
99+
&& echo .
94100
95101
- name: Package
96102
run: >
97103
tar czf "abseil-cpp-$GITHUB_REF_NAME-x86_64.tar.gz" -C staging usr
104+
&& echo .
98105
99106
- name: Checksum
100107
run: >
101108
sha256sum "abseil-cpp-$GITHUB_REF_NAME-x86_64.tar.gz" | tee checksums-sha256.txt
109+
&& echo .
102110
103111
- name: Create release notes
104112
run: >
@@ -146,6 +154,7 @@ jobs:
146154
"These binaries support the Cygwin port of Protocol Buffers 7.35.0 at"
147155
"[phdye-cygwin/protobuf](https://github.com/phdye-cygwin/protobuf)."
148156
> release-notes.md
157+
&& echo .
149158
150159
- name: Publish release
151160
shell: bash

0 commit comments

Comments
 (0)