You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add self-validating workflow gate jobs (#458)
Add gate job that fail if any workflow job fails OR if any job is
missing from the gate's needs array. Prevents both job failures and
configuration drift when adding new workflow jobs.
Add CodeQL advanced config to align with ADOT Lang (e.g.
https://github.com/aws-observability/aws-otel-python-instrumentation/blob/main/.github/workflows/codeql.yml),
add gate job to workflow.Callout: I don't think it's possible to have
one gate for both workflows, but it should not be the case that we add
more over time.
CodeQL is generated by using the GitHub UI to enable advance config. I
only changed `<action>@v#` -> `<action>@<SHA>` and added the
`all-codeql-checks-pass` job, aligning with other repos.
### Testing:
See:
aws-observability/aws-otel-python-instrumentation#477
*Rollback procedure:*
Revert
*Ensure you've run the following tests on your changes and include the
link below:*
PR workflow sufficient
By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 license.
# required to fetch internal or private CodeQL packs
36
+
packages: read
37
+
38
+
# only required for workflows in private repositories
39
+
actions: read
40
+
contents: read
41
+
42
+
strategy:
43
+
fail-fast: false
44
+
matrix:
45
+
include:
46
+
- language: actions
47
+
build-mode: none
48
+
- language: csharp
49
+
build-mode: none
50
+
- language: java-kotlin
51
+
build-mode: none # This mode only analyzes Java. Set this to 'autobuild' or 'manual' to analyze Kotlin too.
52
+
- language: javascript-typescript
53
+
build-mode: none
54
+
- language: python
55
+
build-mode: none
56
+
# CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift'
57
+
# Use `c-cpp` to analyze code written in C, C++ or both
58
+
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
59
+
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
60
+
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
61
+
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
62
+
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
63
+
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
# If you wish to specify custom queries, you can do so here or in a config file.
81
+
# By default, queries listed here will override any specified in a config file.
82
+
# Prefix the list here with "+" to use these queries and those in the config file.
83
+
84
+
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
85
+
# queries: security-extended,security-and-quality
86
+
87
+
# If the analyze step fails for one of the languages you are analyzing with
88
+
# "We were unable to automatically build your code", modify the matrix above
89
+
# to set the build mode to "manual" for that language. Then modify this step
90
+
# to build your code.
91
+
# ℹ️ Command-line programs to run using the OS shell.
92
+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
93
+
- if: matrix.build-mode == 'manual'
94
+
shell: bash
95
+
run: |
96
+
echo 'If you are using a "manual" build mode for one or more of the' \
97
+
'languages you are analyzing, replace this with the commands to build' \
0 commit comments