mirror of
https://github.com/github/codeql-action.git
synced 2025-12-06 07:48:17 +08:00
79 lines
2.4 KiB
YAML
Generated
79 lines
2.4 KiB
YAML
Generated
# Warning: This file is generated automatically, and should not be modified.
|
|
# Instead, please modify the template in the pr-checks directory and run:
|
|
# pip install ruamel.yaml && python3 sync.py
|
|
# to regenerate this file.
|
|
|
|
name: PR Check - Split workflow
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
GO111MODULE: auto
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- v1
|
|
pull_request:
|
|
types:
|
|
- opened
|
|
- synchronize
|
|
- reopened
|
|
- ready_for_review
|
|
workflow_dispatch: {}
|
|
jobs:
|
|
split-workflow:
|
|
strategy:
|
|
matrix:
|
|
version: [nightly-20210831] # This CLI version is known to work with package used in this test
|
|
os: [ubuntu-latest, macos-latest]
|
|
name: Split workflow
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Check out repository
|
|
uses: actions/checkout@v2
|
|
- name: Prepare test
|
|
id: prepare-test
|
|
uses: ./.github/prepare-test
|
|
with:
|
|
version: ${{ matrix.version }}
|
|
- uses: ./../action/init
|
|
with:
|
|
config-file: .github/codeql/codeql-config-packaging3.yml
|
|
packs: +dsp-testing/codeql-pack1@0.1.0
|
|
languages: javascript
|
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
- name: Build code
|
|
shell: bash
|
|
run: ./build.sh
|
|
- uses: ./../action/analyze
|
|
with:
|
|
skip-queries: true
|
|
output: ${{ runner.temp }}/results
|
|
env:
|
|
TEST_MODE: true
|
|
- name: Assert No Results
|
|
shell: bash
|
|
run: |
|
|
if [ "$(ls -A $RUNNER_TEMP/results)" ]; then
|
|
echo "Expected results directory to be empty after skipping query execution!"
|
|
exit 1
|
|
fi
|
|
- uses: ./../action/analyze
|
|
with:
|
|
output: ${{ runner.temp }}/results
|
|
env:
|
|
TEST_MODE: true
|
|
- name: Assert Results
|
|
shell: bash
|
|
run: |
|
|
cd "$RUNNER_TEMP/results"
|
|
# We should have 3 hits from these rules
|
|
EXPECTED_RULES="javascript/example/empty-or-one-block javascript/example/empty-or-one-block javascript/example/two-block"
|
|
|
|
# use tr to replace newlines with spaces and xargs to trim leading and trailing whitespace
|
|
RULES="$(cat javascript.sarif | jq -r '.runs[0].results[].ruleId' | sort | tr "\n" " " | xargs)"
|
|
echo "Found matching rules '$RULES'"
|
|
if [ "$RULES" != "$EXPECTED_RULES" ]; then
|
|
echo "Did not match expected rules '$EXPECTED_RULES'."
|
|
exit 1
|
|
fi
|