Skip to content

Commit 17a6694

Browse files
committed
CI: fix zizmor 1.9.0 warnings, shellcheck verify CI shell code, fix fallouts
zizmor 1.9.0 effectively bans using GHA macros within shell script snippets. Rework them to pass GHA macro values via envs and use those envs in shell snippets. `${{ env.* }}` macros could be converted to native env references after making their names shell-compatible. Envs and shell commands can no longer be used in GHA macro values. Most cases could be fixed by using literals. Passing quoted values with spaces combined with other args also doesn't work anymore. This was replaced by passing them separately. Despite the initial complications, avoiding GHA macros in scripts does seems to make the CI code reasonable cleaner. It also makes it possible to analyze the scripts with shellcheck, finding subtle issues that went unnoticed till now. Also: - un-ignore and fix three existing zizmor `template-injection` issues. - add script to extract and shellcheck all shell code stored within GHA and Circle CI YAML files. - add CI job to run this script. - fix shellcheck issues discovered. - fix minor differences between cmake and autotools FreeBSD jobs. - merge cmake/autotools FreeBSD jobs to avoid developing unwanted differences again. - fix/sync quote use across shell code. - replace `$HOME` with `~` or literal where it made sense. - replace most `brew --prefix` with literals. - move all curl install tests to the `curl-install*` prefix. - add missing curl install tests to cygwin/msys/mingw/*bsd. - pipe to `tar` instead of storing downloads on disk. - drop unnecessary `PKG_CONFIG_PATH` when building nghttp3. Ref: https://github.com/curl/curl/actions/runs/15461461371/job/43523546041 Ref: https://github.com/zizmorcore/zizmor/releases/tag/v1.9.0 Follow-up to e522f47 #17278 Closes #17537
1 parent ba407ee commit 17a6694

15 files changed

Lines changed: 752 additions & 599 deletions

‎.circleci/config.yml‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,11 @@ commands:
5252
- run:
5353
command: |
5454
# renovate: datasource=github-tags depName=wolfSSL/wolfssl versioning=semver extractVersion=^v?(?<version>.+)-stable$ registryUrl=https://github.com
55-
WOLFSSL_VER=5.8.0
56-
echo "Installing wolfSSL $WOLFSSL_VER"
57-
curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssl/archive/v$WOLFSSL_VER-stable.tar.gz
58-
tar -xzf v$WOLFSSL_VER-stable.tar.gz
59-
cd wolfssl-$WOLFSSL_VER-stable
55+
WOLFSSL_VERSION=5.8.0
56+
echo "Installing wolfSSL $WOLFSSL_VERSION"
57+
curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssl/archive/v$WOLFSSL_VERSION-stable.tar.gz
58+
tar -xzf v$WOLFSSL_VERSION-stable.tar.gz
59+
cd wolfssl-$WOLFSSL_VERSION-stable
6060
./autogen.sh
6161
./configure --disable-dependency-tracking --enable-tls13 --enable-all --enable-harden --prefix=$HOME/wssl
6262
make install
@@ -66,11 +66,11 @@ commands:
6666
- run:
6767
command: |
6868
# renovate: datasource=github-tags depName=wolfSSL/wolfssh versioning=semver extractVersion=^v?(?<version>.+)-stable$ registryUrl=https://github.com
69-
WOLFSSH_VER=1.4.19
70-
echo "Installing wolfSSH $WOLFSSH_VER"
71-
curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssh/archive/v$WOLFSSH_VER-stable.tar.gz
72-
tar -xzf v$WOLFSSH_VER-stable.tar.gz
73-
cd wolfssh-$WOLFSSH_VER-stable
69+
WOLFSSH_VERSION=1.4.19
70+
echo "Installing wolfSSH $WOLFSSH_VERSION"
71+
curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssh/archive/v$WOLFSSH_VERSION-stable.tar.gz
72+
tar -xzf v$WOLFSSH_VERSION-stable.tar.gz
73+
cd wolfssh-$WOLFSSH_VERSION-stable
7474
./autogen.sh
7575
./configure --disable-dependency-tracking --with-wolfssl=$HOME/wssl --prefix=$HOME/wssh --enable-scp --enable-sftp --disable-term --disable-examples
7676
make install

‎.github/scripts/shellcheck-ci.sh‎

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/bin/sh
2+
# Copyright (C) Viktor Szakats
3+
#
4+
# SPDX-License-Identifier: curl
5+
6+
# Required: yq
7+
8+
set -eu
9+
10+
export SHELLCHECK_OPTS='--exclude=1090,1091,2086,2153 --enable=avoid-nullary-conditions,deprecate-which'
11+
12+
# GHA
13+
git ls-files '.github/workflows/*.yml' | while read -r f; do
14+
echo "Verifying ${f}..."
15+
{
16+
echo '#!/usr/bin/env bash'
17+
echo 'set -eu'
18+
yq eval '.. | select(has("run") and (.run | type == "!!str")) | .run + "\ntrue\n"' "${f}"
19+
} | sed -E 's|\$\{\{ .+ \}\}|GHA_EXPRESSION|g' | shellcheck -
20+
done
21+
22+
# Circle CI
23+
git ls-files '.circleci/*.yml' | while read -r f; do
24+
echo "Verifying ${f}..."
25+
{
26+
echo '#!/usr/bin/env bash'
27+
echo 'set -eu'
28+
yq eval '.. | select(has("command") and (.command | type == "!!str")) | .command + "\ntrue\n"' "${f}"
29+
} | shellcheck -
30+
done

‎.github/scripts/shellcheck.sh‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
#
44
# SPDX-License-Identifier: curl
55

6-
shellcheck --version
76
# shellcheck disable=SC2046
87
shellcheck --exclude=1091 \
98
--enable=avoid-nullary-conditions,deprecate-which \

‎.github/workflows/checkdocs.yml‎

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
# # config file help: https://github.com/amperser/proselint/
5454
# - name: create proselint config
5555
# run: |
56-
# cat <<JSON > $HOME/.proselintrc.json
56+
# cat <<JSON > ~/.proselintrc.json
5757
# {
5858
# "checks": {
5959
# "typography.diacritical_marks": false,
@@ -74,7 +74,7 @@ jobs:
7474
# # This is for CHECKSRC and files with aggressive exclamation mark needs
7575
# - name: create second proselint config
7676
# run: |
77-
# cat <<JSON > $HOME/.proselintrc.json
77+
# cat <<JSON > ~/.proselintrc.json
7878
# {
7979
# "checks": {
8080
# "typography.diacritical_marks": false,
@@ -109,10 +109,12 @@ jobs:
109109
name: checkout
110110

111111
- name: trim all *.md files in docs/
112-
run: .github/scripts/cleancmd.pl $(find docs -name "*.md")
112+
run: |
113+
# shellcheck disable=SC2046
114+
.github/scripts/cleancmd.pl $(find docs -name '*.md')
113115
114116
- name: setup the custom wordlist
115-
run: grep -v '^#' .github/scripts/spellcheck.words > wordlist.txt
117+
run: grep -v '^#' .github/scripts/spellcheck.words > wordlist.txt
116118

117119
- name: Check Spelling
118120
uses: rojopolis/spellcheck-github-actions@584b2ae95998967a53af7fbfb7f5b15352c38748 # v0
@@ -128,7 +130,9 @@ jobs:
128130
name: checkout
129131

130132
- name: badwords
131-
run: .github/scripts/badwords.pl < .github/scripts/badwords.txt `git ls-files '**.md'` docs/TODO docs/KNOWN_BUGS packages/OS400/README.OS400
133+
run: |
134+
# shellcheck disable=SC2046
135+
.github/scripts/badwords.pl < .github/scripts/badwords.txt $(git ls-files '**.md') docs/TODO docs/KNOWN_BUGS packages/OS400/README.OS400
132136
133137
- name: verify-synopsis
134138
run: .github/scripts/verify-synopsis.pl docs/libcurl/curl*.md

‎.github/workflows/checksrc.yml‎

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,9 @@ jobs:
124124
name: checkout
125125

126126
- name: shellcheck
127-
run: .github/scripts/shellcheck.sh
127+
run: |
128+
shellcheck --version
129+
.github/scripts/shellcheck.sh
128130
129131
- name: spacecheck
130132
run: .github/scripts/spacecheck.pl
@@ -135,11 +137,12 @@ jobs:
135137
# we allow some extra in source code
136138
- name: badwords
137139
run: |
140+
# shellcheck disable=SC2046
138141
grep -Ev '(\\bwill| url | dir )' .github/scripts/badwords.txt | \
139142
.github/scripts/badwords.pl $(git ls-files -- src lib include)
140143
141-
ghacheck:
142-
name: GHA analysis
144+
cicheck:
145+
name: CI analysis
143146
runs-on: macos-latest
144147
timeout-minutes: 1
145148
steps:
@@ -148,7 +151,13 @@ jobs:
148151
persist-credentials: false
149152
name: checkout
150153

151-
- name: zizmor
154+
- name: install prereqs
155+
run: brew install shellcheck yq zizmor
156+
157+
- name: zizmor GHA
158+
run: zizmor --pedantic .github/workflows/*.yml
159+
160+
- name: shellcheck
152161
run: |
153-
brew install zizmor
154-
zizmor --pedantic .github/workflows/*.yml
162+
shellcheck --version
163+
.github/scripts/shellcheck-ci.sh

‎.github/workflows/configure-vs-cmake.yml‎

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ jobs:
5959
- name: 'dump generated files'
6060
run: |
6161
for f in libcurl.pc curl-config; do
62-
echo "::group::AM ${f}"; cat bld-am/"${f}" | grep -v '^#' || true; echo '::endgroup::'
63-
echo "::group::CM ${f}"; cat bld-cm/"${f}" | grep -v '^#' || true; echo '::endgroup::'
62+
echo "::group::AM ${f}"; grep -v '^#' bld-am/"${f}" || true; echo '::endgroup::'
63+
echo "::group::CM ${f}"; grep -v '^#' bld-cm/"${f}" || true; echo '::endgroup::'
6464
done
6565
6666
- name: 'compare generated curl_config.h files'
@@ -77,11 +77,12 @@ jobs:
7777
steps:
7878
- name: 'install packages'
7979
run: |
80-
while [[ $? == 0 ]]; do for i in 1 2 3; do brew update && brew install libtool autoconf automake && break 2 || { echo Error: wait to try again; sleep 10; } done; false Too many retries; done
80+
# shellcheck disable=SC2181,SC2034
81+
while [[ $? == 0 ]]; do for i in 1 2 3; do if brew update && brew install automake libtool; then break 2; else echo Error: wait to try again; sleep 10; fi; done; false Too many retries; done
8182
8283
- name: 'toolchain versions'
8384
run: |
84-
echo '::group::brew packages installed'; ls -l "$(brew --prefix)/opt"; echo '::endgroup::'
85+
echo '::group::brew packages installed'; ls -l /opt/homebrew/opt; echo '::endgroup::'
8586
8687
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
8788
with:
@@ -109,8 +110,8 @@ jobs:
109110
- name: 'dump generated files'
110111
run: |
111112
for f in libcurl.pc curl-config; do
112-
echo "::group::AM ${f}"; cat bld-am/"${f}" | grep -v '^#' || true; echo '::endgroup::'
113-
echo "::group::CM ${f}"; cat bld-cm/"${f}" | grep -v '^#' || true; echo '::endgroup::'
113+
echo "::group::AM ${f}"; grep -v '^#' bld-am/"${f}" || true; echo '::endgroup::'
114+
echo "::group::CM ${f}"; grep -v '^#' bld-cm/"${f}" || true; echo '::endgroup::'
114115
done
115116
116117
- name: 'compare generated curl_config.h files'
@@ -158,8 +159,8 @@ jobs:
158159
- name: 'dump generated files'
159160
run: |
160161
for f in libcurl.pc curl-config; do
161-
echo "::group::AM ${f}"; cat bld-am/"${f}" | grep -v '^#' || true; echo '::endgroup::'
162-
echo "::group::CM ${f}"; cat bld-cm/"${f}" | grep -v '^#' || true; echo '::endgroup::'
162+
echo "::group::AM ${f}"; grep -v '^#' bld-am/"${f}" || true; echo '::endgroup::'
163+
echo "::group::CM ${f}"; grep -v '^#' bld-cm/"${f}" || true; echo '::endgroup::'
163164
done
164165
165166
- name: 'compare generated curl_config.h files'

‎.github/workflows/curl-for-win.yml‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
git clone --depth 1 https://github.com/curl/curl-for-win
5757
mv curl-for-win/* .
5858
export CW_CONFIG='-main-werror-linux-a64-x64-gcc'
59-
export CW_REVISION='${{ github.sha }}'
59+
export CW_REVISION="${GITHUB_SHA}"
6060
DOCKER_IMAGE='debian:bookworm-slim'
6161
export CW_CCSUFFIX='-15'
6262
export CW_GCCSUFFIX='-12'
@@ -84,7 +84,7 @@ jobs:
8484
git clone --depth 1 https://github.com/curl/curl-for-win
8585
mv curl-for-win/* .
8686
export CW_CONFIG='-main-werror-linux-musl-r64-x64'
87-
export CW_REVISION='${{ github.sha }}'
87+
export CW_REVISION="${GITHUB_SHA}"
8888
. ./_versions.sh
8989
sudo podman image trust set --type reject default
9090
sudo podman image trust set --type accept docker.io/library
@@ -112,7 +112,7 @@ jobs:
112112
git clone --depth 1 https://github.com/curl/curl-for-win
113113
mv curl-for-win/* .
114114
export CW_CONFIG='-main-werror-mac-x64'
115-
export CW_REVISION='${{ github.sha }}'
115+
export CW_REVISION="${GITHUB_SHA}"
116116
sh -c ./_ci-mac-homebrew.sh
117117
118118
win-llvm:
@@ -128,7 +128,7 @@ jobs:
128128
git clone --depth 1 https://github.com/curl/curl-for-win
129129
mv curl-for-win/* .
130130
export CW_CONFIG='-main-werror-win-x64'
131-
export CW_REVISION='${{ github.sha }}'
131+
export CW_REVISION="${GITHUB_SHA}"
132132
. ./_versions.sh
133133
sudo podman image trust set --type reject default
134134
sudo podman image trust set --type accept docker.io/library
@@ -153,7 +153,7 @@ jobs:
153153
git clone --depth 1 https://github.com/curl/curl-for-win
154154
mv curl-for-win/* .
155155
export CW_CONFIG='-main-werror-win-x86-gcc-libssh1-zlibng'
156-
export CW_REVISION='${{ github.sha }}'
156+
export CW_REVISION="${GITHUB_SHA}"
157157
. ./_versions.sh
158158
sudo podman image trust set --type reject default
159159
sudo podman image trust set --type accept docker.io/library

‎.github/workflows/distcheck.yml‎

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,13 @@ jobs:
5757
echo "::stop-commands::$(uuidgen)"
5858
tar xvf curl-99.98.97.tar.gz
5959
pushd curl-99.98.97
60-
./configure --prefix=$HOME/temp --without-ssl --without-libpsl
60+
./configure --prefix="$HOME"/temp --without-ssl --without-libpsl
6161
make
6262
make test-ci
6363
make install
6464
popd
6565
# basic check of the installed files
66-
bash scripts/installcheck.sh $HOME/temp
66+
bash scripts/installcheck.sh "$HOME"/temp
6767
rm -rf curl-99.98.97
6868
6969
verify-out-of-tree-docs:
@@ -105,7 +105,7 @@ jobs:
105105
pushd curl-99.98.97
106106
mkdir build
107107
pushd build
108-
../configure --without-ssl --enable-debug "--prefix=${PWD}/pkg" --without-libpsl
108+
../configure --without-ssl --enable-debug --prefix="$PWD"/curl-install --without-libpsl
109109
make
110110
make test-ci
111111
make install
@@ -174,8 +174,9 @@ jobs:
174174
shell: ${{ contains(matrix.image, 'windows') && 'msys2 {0}' || 'bash' }}
175175
env:
176176
CC: ${{ !contains(matrix.image, 'windows') && 'clang' || '' }}
177+
MATRIX_IMAGE: '${{ matrix.image }}'
177178
TESTOPTS: ${{ contains(matrix.image, 'macos') && '-D_CURL_PREFILL=ON' || '' }} ${{ contains(matrix.image, 'windows') && '-DCMAKE_UNITY_BUILD_BATCH_SIZE=30' || '' }}
178-
old-cmake-version: 3.11.4
179+
OLD_CMAKE_VERSION: 3.11.4
179180
strategy:
180181
fail-fast: false
181182
matrix:
@@ -194,26 +195,26 @@ jobs:
194195
195196
- name: 'install prereqs'
196197
run: |
197-
if [[ '${{ matrix.image }}' = *'windows'* ]]; then
198-
cd "${HOME}" || exit 1
198+
if [[ "${MATRIX_IMAGE}" = *'windows'* ]]; then
199+
cd ~
199200
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 60 --retry 3 --retry-connrefused \
200-
--location 'https://github.com/Kitware/CMake/releases/download/v${{ env.old-cmake-version }}/cmake-${{ env.old-cmake-version }}-win64-x64.zip' --output bin.zip
201+
--location "https://github.com/Kitware/CMake/releases/download/v${OLD_CMAKE_VERSION}/cmake-${OLD_CMAKE_VERSION}-win64-x64.zip" --output bin.zip
201202
unzip -q bin.zip
202203
rm -f bin.zip
203-
printf '%s' "${HOME}/cmake-${{ env.old-cmake-version }}-win64-x64/bin/cmake.exe" > "${HOME}/old-cmake-path.txt"
204-
elif [[ '${{ matrix.image }}' = *'ubuntu'* ]]; then
204+
printf '%s' ~/cmake-"${OLD_CMAKE_VERSION}"-win64-x64/bin/cmake.exe > ~/old-cmake-path.txt
205+
elif [[ "${MATRIX_IMAGE}" = *'ubuntu'* ]]; then
205206
sudo rm -f /var/lib/man-db/auto-update
206207
sudo apt-get -o Dpkg::Use-Pty=0 install libpsl-dev libssl-dev
207-
cd "${HOME}" || exit 1
208+
cd ~
208209
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 60 --retry 3 --retry-connrefused \
209-
--location https://github.com/Kitware/CMake/releases/download/v${{ env.old-cmake-version }}/cmake-${{ env.old-cmake-version }}-Linux-x86_64.tar.gz | tar -xzf -
210-
printf '%s' "$PWD/cmake-${{ env.old-cmake-version }}-Linux-x86_64/bin/cmake" > "${HOME}/old-cmake-path.txt"
210+
--location "https://github.com/Kitware/CMake/releases/download/v${OLD_CMAKE_VERSION}/cmake-${OLD_CMAKE_VERSION}-Linux-x86_64.tar.gz" | tar -xz
211+
printf '%s' ~/cmake-"${OLD_CMAKE_VERSION}"-Linux-x86_64/bin/cmake > ~/old-cmake-path.txt
211212
else
212213
brew install libpsl openssl
213-
cd "${HOME}" || exit 1
214+
cd ~
214215
curl --disable --fail --silent --show-error --connect-timeout 15 --max-time 60 --retry 3 --retry-connrefused \
215-
--location https://github.com/Kitware/CMake/releases/download/v${{ env.old-cmake-version }}/cmake-${{ env.old-cmake-version }}-Darwin-x86_64.tar.gz | tar -xzf -
216-
printf '%s' "$PWD/cmake-${{ env.old-cmake-version }}-Darwin-x86_64/CMake.app/Contents/bin/cmake" > "${HOME}/old-cmake-path.txt"
216+
--location "https://github.com/Kitware/CMake/releases/download/v${OLD_CMAKE_VERSION}/cmake-${OLD_CMAKE_VERSION}-Darwin-x86_64.tar.gz" | tar -xz
217+
printf '%s' ~/cmake-"${OLD_CMAKE_VERSION}"-Darwin-x86_64/CMake.app/Contents/bin/cmake > ~/old-cmake-path.txt
217218
fi
218219
219220
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
@@ -229,26 +230,26 @@ jobs:
229230

230231
- name: 'via add_subdirectory OpenSSL (old cmake)'
231232
run: |
232-
export TEST_CMAKE_CONSUMER="$(cat "${HOME}/old-cmake-path.txt")"
233-
if [[ '${{ matrix.image }}' = *'macos'* ]]; then
233+
export TEST_CMAKE_CONSUMER; TEST_CMAKE_CONSUMER="$(cat ~/old-cmake-path.txt)"
234+
if [[ "${MATRIX_IMAGE}" = *'macos'* ]]; then
234235
export CFLAGS='-arch arm64'
235236
export TEST_CMAKE_FLAGS='-DCURL_USE_LIBPSL=OFF' # auto-detection does not work with old-cmake
236237
fi
237-
if [[ '${{ matrix.image }}' = *'windows'* ]]; then
238+
if [[ "${MATRIX_IMAGE}" = *'windows'* ]]; then
238239
export TEST_CMAKE_GENERATOR='MSYS Makefiles'
239240
export TEST_CMAKE_FLAGS='-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DOPENSSL_ROOT_DIR=C:/msys64/mingw64'
240241
fi
241-
./tests/cmake/test.sh add_subdirectory ${TESTOPTS} -DCURL_USE_OPENSSL=ON ${options}
242+
./tests/cmake/test.sh add_subdirectory ${TESTOPTS} -DCURL_USE_OPENSSL=ON
242243
243244
- name: 'via find_package OpenSSL (old cmake)'
244245
run: |
245-
export TEST_CMAKE_CONSUMER="$(cat "${HOME}/old-cmake-path.txt")"
246-
if [[ '${{ matrix.image }}' = *'macos'* ]]; then
246+
export TEST_CMAKE_CONSUMER; TEST_CMAKE_CONSUMER="$(cat ~/old-cmake-path.txt)"
247+
if [[ "${MATRIX_IMAGE}" = *'macos'* ]]; then
247248
export CFLAGS='-arch arm64'
248249
export TEST_CMAKE_FLAGS='-DCURL_USE_LIBPSL=OFF' # auto-detection does not work with old-cmake
249250
fi
250-
if [[ '${{ matrix.image }}' = *'windows'* ]]; then
251+
if [[ "${MATRIX_IMAGE}" = *'windows'* ]]; then
251252
export TEST_CMAKE_GENERATOR='MSYS Makefiles'
252253
export TEST_CMAKE_FLAGS='-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DOPENSSL_ROOT_DIR=C:/msys64/mingw64'
253254
fi
254-
./tests/cmake/test.sh find_package ${TESTOPTS} -DCURL_USE_OPENSSL=ON ${options}
255+
./tests/cmake/test.sh find_package ${TESTOPTS} -DCURL_USE_OPENSSL=ON

‎.github/workflows/hacktoberfest-accepted.yml‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,11 @@ jobs:
4040
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4141

4242
- name: Search relevant commit message lines starting with Closes/Merges
43+
env:
44+
GITHUB_EVENT_BEFORE: '${{ github.event.before }}'
45+
GITHUB_EVENT_AFTER: '${{ github.event.after }}'
4346
run: |
44-
git log --format=email '${{ github.event.before }}..${{ github.event.after }}' | \
47+
git log --format=email "${GITHUB_EVENT_BEFORE}..${GITHUB_EVENT_AFTER}" | \
4548
grep -Ei '^Close[sd]? ' | sort | uniq | tee log
4649
if: steps.check.outputs.label == 'hacktoberfest'
4750

0 commit comments

Comments
 (0)