Merge pull request #363 from mjpieters/auto_debug

Default debug to current runner debug state
This commit is contained in:
Josh Gross
2023-04-05 12:32:04 -04:00
committed by GitHub
2 changed files with 41 additions and 22 deletions

View File

@@ -187,7 +187,11 @@ jobs:
echo $'\u2705 Test passed' | tee -a $GITHUB_STEP_SUMMARY echo $'\u2705 Test passed' | tee -a $GITHUB_STEP_SUMMARY
test-debug: test-debug:
name: 'Integration test: debug option' strategy:
matrix:
environment: ['', 'debug-integration-test']
environment: ${{ matrix.environment }}
name: "Integration test: debug option (runner.debug mode ${{ matrix.environment && 'enabled' || 'disabled' }})"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
@@ -204,6 +208,7 @@ jobs:
script: | script: |
const log = github.log const log = github.log
return { return {
runnerDebugMode: core.isDebug(),
debug: log.debug === console.debug, debug: log.debug === console.debug,
info: log.info === console.info info: log.info === console.info
} }
@@ -215,6 +220,7 @@ jobs:
script: | script: |
const log = github.log const log = github.log
return { return {
runnerDebugMode: core.isDebug(),
debug: log.debug === console.debug, debug: log.debug === console.debug,
info: log.info === console.info info: log.info === console.info
} }
@@ -226,26 +232,39 @@ jobs:
script: | script: |
const log = github.log const log = github.log
return { return {
runnerDebugMode: core.isDebug(),
debug: log.debug === console.debug, debug: log.debug === console.debug,
info: log.info === console.info info: log.info === console.info
} }
- run: | - id: evaluate-tests
echo "- Validating debug default" name: Evaluate test outputs
expected='{debug:false,info:false}' env:
if [[ "${{steps.debug-default.outputs.result}}" != "$expected" ]]; then RDMODE: ${{ runner.debug == '1' }}
echo $'::error::\u274C' "Expected '$expected', got ${{steps.debug-default.outputs.result}}" run: |
exit 1 # tests table, pipe separated: label | output | expected
fi # leading and trailing spaces on any field are trimmed
echo "- Validating debug set to true" tests=$(cat << 'TESTS'
expected='{debug:true,info:true}' Validating debug default |\
if [[ "${{steps.debug-true.outputs.result}}" != "$expected" ]]; then ${{ steps.debug-default.outputs.result }} |\
echo $'::error::\u274C' "Expected '$expected', got ${{steps.debug-true.outputs.result}}" {"runnerDebugMode":${{ env.RDMODE }},"debug":${{ env.RDMODE }},"info":${{ env.RDMODE }}}
exit 1 Validating debug set to true |\
fi ${{ steps.debug-true.outputs.result }} |\
echo "- Validating debug set to false" {"runnerDebugMode":${{ env.RDMODE }},"debug":true,"info":true}
expected='{debug:false,info:false}' Validating debug set to false |\
if [[ "${{steps.debug-false.outputs.result}}" != "$expected" ]]; then ${{ steps.debug-false.outputs.result }} |\
echo $'::error::\u274C' "Expected '$expected', got ${{steps.debug-false.outputs.result}}" {"runnerDebugMode":${{ env.RDMODE }},"debug":false,"info":false}
TESTS
)
strim() { shopt -s extglob; lt="${1##+( )}"; echo "${lt%%+( )}"; }
while IFS='|' read label output expected; do
label="$(strim "$label")"; output="$(strim "$output")"; expected="$(strim "$expected")"
echo -n "- $label:"
if [[ "$output" != "$expected" ]]; then
echo $'\n::error::\u274C' "Expected '$expected', got '$output'"
exit 1 exit 1
fi fi
echo $' \u2705'
done <<< "$tests"
echo $'\u2705 Test passed' | tee -a $GITHUB_STEP_SUMMARY echo $'\u2705 Test passed' | tee -a $GITHUB_STEP_SUMMARY

View File

@@ -13,8 +13,8 @@ inputs:
default: ${{ github.token }} default: ${{ github.token }}
required: false required: false
debug: debug:
description: Whether to tell the GitHub client to log details of its requests 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.
default: false default: ${{ runner.debug == '1' }}
user-agent: user-agent:
description: An optional user-agent string description: An optional user-agent string
default: actions/github-script default: actions/github-script