Skip to content

Commit d7906e4

Browse files
authored
Merge pull request #363 from mjpieters/auto_debug
Default debug to current runner debug state
2 parents 57c10d4 + ea954ff commit d7906e4

File tree

2 files changed

+41
-22
lines changed

2 files changed

+41
-22
lines changed

.github/workflows/integration.yml

+39-20
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,11 @@ jobs:
187187
echo $'\u2705 Test passed' | tee -a $GITHUB_STEP_SUMMARY
188188
189189
test-debug:
190-
name: 'Integration test: debug option'
190+
strategy:
191+
matrix:
192+
environment: ['', 'debug-integration-test']
193+
environment: ${{ matrix.environment }}
194+
name: "Integration test: debug option (runner.debug mode ${{ matrix.environment && 'enabled' || 'disabled' }})"
191195
runs-on: ubuntu-latest
192196
steps:
193197
- uses: actions/checkout@v3
@@ -204,6 +208,7 @@ jobs:
204208
script: |
205209
const log = github.log
206210
return {
211+
runnerDebugMode: core.isDebug(),
207212
debug: log.debug === console.debug,
208213
info: log.info === console.info
209214
}
@@ -215,6 +220,7 @@ jobs:
215220
script: |
216221
const log = github.log
217222
return {
223+
runnerDebugMode: core.isDebug(),
218224
debug: log.debug === console.debug,
219225
info: log.info === console.info
220226
}
@@ -226,26 +232,39 @@ jobs:
226232
script: |
227233
const log = github.log
228234
return {
235+
runnerDebugMode: core.isDebug(),
229236
debug: log.debug === console.debug,
230237
info: log.info === console.info
231238
}
232-
- run: |
233-
echo "- Validating debug default"
234-
expected='{debug:false,info:false}'
235-
if [[ "${{steps.debug-default.outputs.result}}" != "$expected" ]]; then
236-
echo $'::error::\u274C' "Expected '$expected', got ${{steps.debug-default.outputs.result}}"
237-
exit 1
238-
fi
239-
echo "- Validating debug set to true"
240-
expected='{debug:true,info:true}'
241-
if [[ "${{steps.debug-true.outputs.result}}" != "$expected" ]]; then
242-
echo $'::error::\u274C' "Expected '$expected', got ${{steps.debug-true.outputs.result}}"
243-
exit 1
244-
fi
245-
echo "- Validating debug set to false"
246-
expected='{debug:false,info:false}'
247-
if [[ "${{steps.debug-false.outputs.result}}" != "$expected" ]]; then
248-
echo $'::error::\u274C' "Expected '$expected', got ${{steps.debug-false.outputs.result}}"
249-
exit 1
250-
fi
239+
- id: evaluate-tests
240+
name: Evaluate test outputs
241+
env:
242+
RDMODE: ${{ runner.debug == '1' }}
243+
run: |
244+
# tests table, pipe separated: label | output | expected
245+
# leading and trailing spaces on any field are trimmed
246+
tests=$(cat << 'TESTS'
247+
Validating debug default |\
248+
${{ steps.debug-default.outputs.result }} |\
249+
{"runnerDebugMode":${{ env.RDMODE }},"debug":${{ env.RDMODE }},"info":${{ env.RDMODE }}}
250+
Validating debug set to true |\
251+
${{ steps.debug-true.outputs.result }} |\
252+
{"runnerDebugMode":${{ env.RDMODE }},"debug":true,"info":true}
253+
Validating debug set to false |\
254+
${{ steps.debug-false.outputs.result }} |\
255+
{"runnerDebugMode":${{ env.RDMODE }},"debug":false,"info":false}
256+
TESTS
257+
)
258+
259+
strim() { shopt -s extglob; lt="${1##+( )}"; echo "${lt%%+( )}"; }
260+
while IFS='|' read label output expected; do
261+
label="$(strim "$label")"; output="$(strim "$output")"; expected="$(strim "$expected")"
262+
echo -n "- $label:"
263+
if [[ "$output" != "$expected" ]]; then
264+
echo $'\n::error::\u274C' "Expected '$expected', got '$output'"
265+
exit 1
266+
fi
267+
echo $' \u2705'
268+
done <<< "$tests"
269+
251270
echo $'\u2705 Test passed' | tee -a $GITHUB_STEP_SUMMARY

action.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ inputs:
1313
default: ${{ github.token }}
1414
required: false
1515
debug:
16-
description: Whether to tell the GitHub client to log details of its requests
17-
default: false
16+
description: Whether to tell the GitHub client to log details of its requests. true or false. Default is to run in debug mode when the GitHub Actions step debug logging is turned on.
17+
default: ${{ runner.debug == '1' }}
1818
user-agent:
1919
description: An optional user-agent string
2020
default: actions/github-script

0 commit comments

Comments
 (0)