145 строки
4.6 KiB
YAML
145 строки
4.6 KiB
YAML
# 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 - Use a custom `checkout_path`
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
GO111MODULE: auto
|
|
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- releases/v2
|
|
pull_request:
|
|
types:
|
|
- opened
|
|
- synchronize
|
|
- reopened
|
|
- ready_for_review
|
|
workflow_dispatch: {}
|
|
jobs:
|
|
with-checkout-path:
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-20.04
|
|
version: stable-20211005
|
|
- os: macos-latest
|
|
version: stable-20211005
|
|
- os: windows-2019
|
|
version: stable-20211005
|
|
- os: ubuntu-20.04
|
|
version: stable-20220120
|
|
- os: macos-latest
|
|
version: stable-20220120
|
|
- os: windows-2019
|
|
version: stable-20220120
|
|
- os: ubuntu-latest
|
|
version: stable-20220401
|
|
- os: macos-latest
|
|
version: stable-20220401
|
|
- os: windows-latest
|
|
version: stable-20220401
|
|
- os: ubuntu-latest
|
|
version: cached
|
|
- os: macos-latest
|
|
version: cached
|
|
- os: windows-latest
|
|
version: cached
|
|
- os: ubuntu-latest
|
|
version: latest
|
|
- os: macos-latest
|
|
version: latest
|
|
- os: windows-latest
|
|
version: latest
|
|
- os: ubuntu-latest
|
|
version: nightly-latest
|
|
- os: macos-latest
|
|
version: nightly-latest
|
|
- os: windows-latest
|
|
version: nightly-latest
|
|
name: Use a custom `checkout_path`
|
|
timeout-minutes: 45
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Check out repository
|
|
uses: actions/checkout@v3
|
|
- name: Prepare test
|
|
id: prepare-test
|
|
uses: ./.github/actions/prepare-test
|
|
with:
|
|
version: ${{ matrix.version }}
|
|
- name: Set up Go
|
|
if: matrix.os == 'ubuntu-20.04' || matrix.os == 'windows-2019'
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: ^1.13.1
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
ref: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
|
path: x/y/z/some-path
|
|
- uses: ./../action/init
|
|
with:
|
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
# it's enough to test one compiled language and one interpreted language
|
|
languages: csharp,javascript
|
|
source-path: x/y/z/some-path/tests/multi-language-repo
|
|
debug: true
|
|
- name: Build code (non-windows)
|
|
shell: bash
|
|
if: ${{ runner.os != 'Windows' }}
|
|
run: |
|
|
$CODEQL_RUNNER x/y/z/some-path/tests/multi-language-repo/build.sh
|
|
- name: Build code (windows)
|
|
shell: bash
|
|
if: ${{ runner.os == 'Windows' }}
|
|
run: |
|
|
x/y/z/some-path/tests/multi-language-repo/build.sh
|
|
- uses: ./../action/analyze
|
|
with:
|
|
checkout_path: x/y/z/some-path/tests/multi-language-repo
|
|
ref: v1.1.0
|
|
sha: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
|
upload: never
|
|
upload-database: false
|
|
|
|
- uses: ./../action/upload-sarif
|
|
with:
|
|
ref: v1.1.0
|
|
sha: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
|
|
checkout_path: x/y/z/some-path/tests/multi-language-repo
|
|
|
|
- name: Verify SARIF after upload
|
|
shell: bash
|
|
run: |
|
|
EXPECTED_COMMIT_OID="474bbf07f9247ffe1856c6a0f94aeeb10e7afee6"
|
|
EXPECTED_REF="v1.1.0"
|
|
EXPECTED_CHECKOUT_URI_SUFFIX="/x/y/z/some-path/tests/multi-language-repo"
|
|
|
|
ACTUAL_COMMIT_OID="$(cat "$RUNNER_TEMP/payload.json" | jq -r .commit_oid)"
|
|
ACTUAL_REF="$(cat "$RUNNER_TEMP/payload.json" | jq -r .ref)"
|
|
ACTUAL_CHECKOUT_URI="$(cat "$RUNNER_TEMP/payload.json" | jq -r .checkout_uri)"
|
|
|
|
if [[ "$EXPECTED_COMMIT_OID" != "$ACTUAL_COMMIT_OID" ]]; then
|
|
echo "::error Invalid commit oid. Expected: $EXPECTED_COMMIT_OID Actual: $ACTUAL_COMMIT_OID"
|
|
echo "$RUNNER_TEMP/payload.json"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "$EXPECTED_REF" != "$ACTUAL_REF" ]]; then
|
|
echo "::error Invalid ref. Expected: '$EXPECTED_REF' Actual: '$ACTUAL_REF'"
|
|
echo "$RUNNER_TEMP/payload.json"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "$ACTUAL_CHECKOUT_URI" != *$EXPECTED_CHECKOUT_URI_SUFFIX ]]; then
|
|
echo "::error Invalid checkout URI suffix. Expected suffix: $EXPECTED_CHECKOUT_URI_SUFFIX Actual uri: $ACTUAL_CHECKOUT_URI"
|
|
echo "$RUNNER_TEMP/payload.json"
|
|
exit 1
|
|
fi
|
|
env:
|
|
CODEQL_ACTION_TEST_MODE: true
|