I'm running a test using a GitHub Actions workflow, and I would like to fail the test if the resulting object produced by the test is empty. How do I check if a JSON object is empty?
My current workflow job contains the step:
- name: Fail if security tests found any issues
if: ${{ steps.securityTestsResults != {} }}
uses: actions/github-script@v3
with:
script: |
core.setFailed('security tests failed: non-empty results')
But the code above currently results in the error:
Invalid workflow file : .github/workflows/securityTests.yml#L34
The workflow is not valid. .github/workflows/securityTests.yml (Line: 34, Col: 11): Unexpected symbol: '{}'. Located at position 31 within expression: steps.securityTestsResults != {}
It's confusing since I believe my code would work in regular javascript, but it doesn't appear to work here. I've also tried Object.keys(obj).length === 0 and JSON.stringify(obj) == '{}' but these don't work either (it doesn't recognize the Object or JSON classes).