name: compare description: "Compare the output of a command to an expected value." inputs: expected: description: "Expected output." required: false actual: description: "Actual output." required: true exitOnFail: description: "Should the program exit on a failure." required: true default: "true" outputs: success: description: "The result of the comparison." value: ${{ steps.compare.outputs.success }} runs: using: "composite" steps: - name: "Compare input and output" id: compare run: | EXPECTED=$(cat <> "$GITHUB_OUTPUT" else echo "success=false" >> "$GITHUB_OUTPUT" if [[ "${{ inputs.exitOnFail }}" == "true" ]]; then echo EXPECTED: "$EXPECTED" echo -------------------------------- echo ACTUAL: "$ACTUAL" exit 1 fi fi shell: bash