mirror of
https://github.com/github/codeql-action.git
synced 2026-05-23 22:39:01 +00:00
4e2406de1b
Bumps the actions group with 6 updates in the / directory: | Package | From | To | | --- | --- | --- | | [actions/setup-go](https://github.com/actions/setup-go) | `5` | `6` | | [actions/github-script](https://github.com/actions/github-script) | `7` | `8` | | [actions/setup-node](https://github.com/actions/setup-node) | `4` | `5` | | [ruby/setup-ruby](https://github.com/ruby/setup-ruby) | `1.257.0` | `1.262.0` | | [actions/create-github-app-token](https://github.com/actions/create-github-app-token) | `2.1.1` | `2.1.4` | | [actions/setup-python](https://github.com/actions/setup-python) | `5` | `6` | Updates `actions/setup-go` from 5 to 6 - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v5...v6) Updates `actions/github-script` from 7 to 8 - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/v7...v8) Updates `actions/setup-node` from 4 to 5 - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v4...v5) Updates `ruby/setup-ruby` from 1.257.0 to 1.262.0 - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](https://github.com/ruby/setup-ruby/compare/44511735964dcb71245e7e55f72539531f7bc0eb...cf7216d52fba1017929b4d7162fabe2b30af5b49) Updates `actions/create-github-app-token` from 2.1.1 to 2.1.4 - [Release notes](https://github.com/actions/create-github-app-token/releases) - [Commits](https://github.com/actions/create-github-app-token/compare/v2.1.1...v2.1.4) Updates `actions/setup-python` from 5 to 6 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/setup-go dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/github-script dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/setup-node dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: ruby/setup-ruby dependency-version: 1.262.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: actions/create-github-app-token dependency-version: 2.1.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: actions/setup-python dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions ... Signed-off-by: dependabot[bot] <support@github.com>
146 lines
5.2 KiB
YAML
Generated
146 lines
5.2 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:
|
|
# pr-checks/sync.sh
|
|
# to regenerate this file.
|
|
|
|
name: PR Check - Diagnostic export
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
GO111MODULE: auto
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- releases/v*
|
|
pull_request:
|
|
types:
|
|
- opened
|
|
- synchronize
|
|
- reopened
|
|
- ready_for_review
|
|
schedule:
|
|
- cron: '0 5 * * *'
|
|
workflow_dispatch:
|
|
inputs: {}
|
|
workflow_call:
|
|
inputs: {}
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
concurrency:
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
jobs:
|
|
diagnostics-export:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-latest
|
|
version: linked
|
|
- os: macos-latest
|
|
version: linked
|
|
- os: windows-latest
|
|
version: linked
|
|
- os: ubuntu-latest
|
|
version: nightly-latest
|
|
- os: macos-latest
|
|
version: nightly-latest
|
|
- os: windows-latest
|
|
version: nightly-latest
|
|
name: Diagnostic export
|
|
permissions:
|
|
contents: read
|
|
security-events: read
|
|
timeout-minutes: 45
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Check out repository
|
|
uses: actions/checkout@v5
|
|
- name: Prepare test
|
|
id: prepare-test
|
|
uses: ./.github/actions/prepare-test
|
|
with:
|
|
version: ${{ matrix.version }}
|
|
use-all-platform-bundle: 'false'
|
|
setup-kotlin: 'true'
|
|
- uses: ./../action/init
|
|
id: init
|
|
with:
|
|
languages: javascript
|
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
- name: Add test diagnostics
|
|
env:
|
|
CODEQL_PATH: ${{ steps.init.outputs.codeql-path }}
|
|
run: |
|
|
"$CODEQL_PATH" database add-diagnostic \
|
|
"$RUNNER_TEMP/codeql_databases/javascript" \
|
|
--file-path /path/to/file \
|
|
--plaintext-message "Plaintext message" \
|
|
--source-id "lang/diagnostics/example" \
|
|
--source-name "Diagnostic name" \
|
|
--ready-for-status-page
|
|
- uses: ./../action/analyze
|
|
with:
|
|
output: ${{ runner.temp }}/results
|
|
upload-database: false
|
|
- name: Upload SARIF
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: diagnostics-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
|
|
path: ${{ runner.temp }}/results/javascript.sarif
|
|
retention-days: 7
|
|
- name: Check diagnostics appear in SARIF
|
|
uses: actions/github-script@v8
|
|
env:
|
|
SARIF_PATH: ${{ runner.temp }}/results/javascript.sarif
|
|
with:
|
|
script: |
|
|
const fs = require('fs');
|
|
|
|
function checkStatusPageNotification(n) {
|
|
const expectedMessage = 'Plaintext message';
|
|
if (n.message.text !== expectedMessage) {
|
|
core.setFailed(`Expected the status page diagnostic to have the message '${expectedMessage}', but found '${n.message.text}'.`);
|
|
}
|
|
if (n.locations.length !== 1) {
|
|
core.setFailed(`Expected the status page diagnostic to have exactly 1 location, but found ${n.locations.length}.`);
|
|
}
|
|
}
|
|
|
|
const sarif = JSON.parse(fs.readFileSync(process.env['SARIF_PATH'], 'utf8'));
|
|
const run = sarif.runs[0];
|
|
|
|
const toolExecutionNotifications = run.invocations[0].toolExecutionNotifications;
|
|
const statusPageNotifications = toolExecutionNotifications.filter(n =>
|
|
n.descriptor.id === 'lang/diagnostics/example' && n.properties?.visibility?.statusPage
|
|
);
|
|
if (statusPageNotifications.length !== 1) {
|
|
core.setFailed(
|
|
'Expected exactly one status page reporting descriptor for this diagnostic in the ' +
|
|
`'runs[].invocations[].toolExecutionNotifications[]' SARIF property, but found ` +
|
|
`${statusPageNotifications.length}. All notification reporting descriptors: ` +
|
|
`${JSON.stringify(toolExecutionNotifications)}.`
|
|
);
|
|
}
|
|
checkStatusPageNotification(statusPageNotifications[0]);
|
|
|
|
const notifications = run.tool.driver.notifications;
|
|
const diagnosticNotification = notifications.filter(n =>
|
|
n.id === 'lang/diagnostics/example' && n.name === 'lang/diagnostics/example' &&
|
|
n.fullDescription.text === 'Diagnostic name'
|
|
);
|
|
if (diagnosticNotification.length !== 1) {
|
|
core.setFailed(
|
|
'Expected exactly one notification for this diagnostic in the ' +
|
|
`'runs[].tool.driver.notifications[]' SARIF property, but found ` +
|
|
`${diagnosticNotification.length}. All notifications: ` +
|
|
`${JSON.stringify(notifications)}.`
|
|
);
|
|
}
|
|
|
|
core.info('Finished diagnostic export test');
|
|
env:
|
|
CODEQL_ACTION_EXPORT_DIAGNOSTICS: true
|
|
CODEQL_ACTION_TEST_MODE: true
|