Skip to content

Commit 5ff862c

Browse files
Merge metadata check into markdown check (#3870)
merged metadata into markdown and moved ignore files inlo new file config\allowlist. Closes #3750 --------- Co-authored-by: Eric Arellano <[email protected]>
1 parent 90bdf5e commit 5ff862c

File tree

11 files changed

+325
-317
lines changed

11 files changed

+325
-317
lines changed

.github/workflows/api-checks.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,5 @@ jobs:
4242
--qiskit-legacy-release-notes
4343
- name: Check for orphan pages
4444
run: npm run check:orphan-pages -- --apis
45-
- name: Check metadata
46-
run: npm run check:metadata -- --apis
4745
- name: Check markdown
4846
run: npm run check:markdown -- --apis

.github/workflows/main.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@ jobs:
3333
- name: Install Playwright
3434
run: npx playwright install
3535

36-
- name: File metadata
37-
run: npm run check:metadata
3836
- name: Check markdown
3937
run: npm run check:markdown
4038
- name: Spellcheck

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ You may find it convenient to install the following VSCode extensions to automat
161161

162162
We offer some tools that are not included in `./check` and `./fix`. Likewise, many of the checks skip API docs by default.
163163

164-
Run `npm run` to see a list of all our checks. For any particular check, run `npm run my-check -- --help` for more information and advanced arguments, such as `npm run check:metadata -- --help`.
164+
Run `npm run` to see a list of all our checks. For any particular check, run `npm run my-check -- --help` for more information and advanced arguments, such as `npm run check:markdown -- --help`.
165165

166166
## Jupyter notebooks
167167

check

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ CHECKS = {
2222
"notebook linters": ["tox", "-e", "lint"],
2323
"all notebooks are tested": ["python3", "scripts/ci/check-all-notebooks-are-tested.py"],
2424
"Qiskit bot": ["npm", "run", "check:qiskit-bot"],
25-
"metadata": ["npm", "run", "check:metadata"],
2625
"patterns index pages": ["npm", "run", "check:patterns-index"],
2726
"tutorials index page": ["python3", "scripts/ci/check-tutorials-index.py"],
2827
"markdown": ["npm", "run", "check:markdown"],

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515
"fmt": "prettier --write .",
1616
"test": "playwright test",
1717
"typecheck": "tsc",
18-
"check": "npm run check:patterns-index && npm run check:qiskit-bot && npm run check:metadata && npm run check:images && npm run check:orphan-pages && npm run check:spelling && npm run check:internal-links",
18+
"check": "npm run check:patterns-index && npm run check:qiskit-bot && npm run check:images && npm run check:orphan-pages && npm run check:spelling && npm run check:internal-links",
1919
"check:markdown": "tsx scripts/js/commands/checkMarkdown.ts",
20-
"check:metadata": "tsx scripts/js/commands/checkMetadata.ts",
2120
"check:spelling": "tsx scripts/js/commands/checkSpelling.ts",
2221
"check:fmt": "prettier --check .",
2322
"check:internal-links": "tsx scripts/js/commands/checkInternalLinks.ts",

scripts/config/allowLists.ts

Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
// This code is a Qiskit project.
2+
//
3+
// (C) Copyright IBM 2025.
4+
//
5+
// This code is licensed under the Apache License, Version 2.0. You may
6+
// obtain a copy of this license in the LICENSE file in the root directory
7+
// of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
8+
//
9+
// Any modifications or derivative works of this code must retain this
10+
// copyright notice, and modified files need to carry a notice indicating
11+
// that they have been altered from the originals.
12+
13+
export const METADATA_ALLOWLIST: Set<string> = new Set([
14+
...metadataIgnoresForLegacyQiskit(),
15+
]);
16+
17+
export const IGNORE_TITLE_MISMATCHES: string[] = [
18+
"docs/migration-guides/external-providers-primitives-v2.mdx",
19+
"docs/migration-guides/local-simulators.mdx",
20+
"docs/migration-guides/metapackage-migration.mdx",
21+
"docs/migration-guides/qiskit-1.0-features.mdx",
22+
"docs/migration-guides/qiskit-1.0-installation.mdx",
23+
"docs/migration-guides/qiskit-algorithms-module.mdx",
24+
"docs/migration-guides/qiskit-backend-primitives.mdx",
25+
"docs/migration-guides/qiskit-backendv1-to-v2.mdx",
26+
"docs/migration-guides/qiskit-opflow-module.mdx",
27+
"docs/migration-guides/qiskit-runtime-from-ibm-provider.mdx",
28+
"docs/migration-guides/qiskit-runtime-from-ibmq-provider.mdx",
29+
"docs/migration-guides/qiskit-runtime-options.mdx",
30+
"docs/guides/access-groups.mdx",
31+
"docs/migration-guides/v2-primitives.mdx",
32+
"docs/guides/execution-modes.mdx",
33+
"docs/guides/install-qiskit-source.mdx",
34+
"docs/guides/manage-cost.mdx",
35+
"docs/guides/plans-overview.mdx",
36+
"docs/guides/qiskit-addons-aqc.mdx",
37+
"docs/guides/qiskit-addons-sqd.mdx",
38+
"docs/guides/qiskit-code-assistant-vscode.mdx",
39+
"docs/guides/qiskit-function-templates.mdx",
40+
"docs/guides/serverless.mdx",
41+
"docs/open-source/code-of-conduct.mdx",
42+
"docs/open-source/create-a-provider.mdx",
43+
"docs/support/execution-modes-faq.mdx",
44+
"docs/support/faq.mdx",
45+
"learning/index.mdx",
46+
"learning/courses/basics-of-quantum-information/exam.mdx",
47+
"learning/courses/basics-of-quantum-information/index.mdx",
48+
"learning/courses/foundations-of-quantum-error-correction/index.mdx",
49+
"learning/courses/fundamentals-of-quantum-algorithms/exam.mdx",
50+
"learning/courses/fundamentals-of-quantum-algorithms/index.mdx",
51+
"learning/courses/quantum-business-foundations/business-impacts.mdx",
52+
"learning/courses/quantum-business-foundations/exam.mdx",
53+
"learning/courses/quantum-business-foundations/quantum-computing-fundamentals.mdx",
54+
"learning/courses/quantum-business-foundations/quantum-technology.mdx",
55+
"learning/courses/quantum-business-foundations/start-your-quantum-journey.mdx",
56+
"learning/courses/quantum-chem-with-vqe/exam.mdx",
57+
"learning/courses/quantum-diagonalization-algorithms/exam.mdx",
58+
"learning/courses/quantum-machine-learning/exam.mdx",
59+
"learning/courses/quantum-safe-cryptography/exam.mdx",
60+
"learning/courses/utility-scale-quantum-computing/classical-simulation.mdx",
61+
"learning/courses/variational-algorithm-design/exam.mdx",
62+
"docs/guides/ai-transpiler-passes.ipynb",
63+
"docs/guides/algorithmiq-tem.ipynb",
64+
"docs/guides/build-noise-models.ipynb",
65+
"docs/guides/classical-feedforward-and-control-flow.ipynb",
66+
"docs/guides/colibritd-pde.ipynb",
67+
"docs/guides/custom-transpiler-pass.ipynb",
68+
"docs/guides/defaults-and-configuration-options.ipynb",
69+
"docs/guides/function-template-chemistry-workflow.ipynb",
70+
"docs/guides/function-template-hamiltonian-simulation.ipynb",
71+
"docs/guides/global-data-quantum-optimizer.ipynb",
72+
"docs/guides/multiverse-computing-singularity.ipynb",
73+
"docs/guides/operators-overview.ipynb",
74+
"docs/guides/plot-quantum-states.ipynb",
75+
"docs/guides/q-ctrl-optimization-solver.ipynb",
76+
"docs/guides/q-ctrl-performance-management.ipynb",
77+
"docs/guides/qedma-qesem.ipynb",
78+
"docs/guides/qiskit-addons-aqc-get-started.ipynb",
79+
"docs/guides/qiskit-addons-cutting-gates.ipynb",
80+
"docs/guides/qiskit-addons-cutting-wires.ipynb",
81+
"docs/guides/qiskit-addons-sqd-get-started.ipynb",
82+
"docs/guides/represent-quantum-computers.ipynb",
83+
"docs/guides/retired-qpus.ipynb",
84+
"docs/guides/save-circuits.ipynb",
85+
"docs/guides/save-jobs.ipynb",
86+
"docs/tutorials/error-mitigation-with-qiskit-functions.ipynb",
87+
"docs/tutorials/fractional-gates.ipynb",
88+
"docs/tutorials/global-data-quantum-optimizer.ipynb",
89+
"docs/tutorials/krylov-quantum-diagonalization.ipynb",
90+
"docs/tutorials/periodic-boundary-conditions-with-circuit-cutting.ipynb",
91+
"docs/tutorials/real-time-benchmarking-for-qubit-selection.ipynb",
92+
"docs/tutorials/sample-based-quantum-diagonalization.ipynb",
93+
"docs/tutorials/shors-algorithm.ipynb",
94+
"docs/tutorials/spin-chain-vqe.ipynb",
95+
"docs/tutorials/transpilation-optimizations-with-sabre.ipynb",
96+
"learning/courses/quantum-chem-with-vqe/ansatz.ipynb",
97+
"learning/courses/quantum-chem-with-vqe/classical-optimizers.ipynb",
98+
"learning/courses/quantum-chem-with-vqe/geometry.ipynb",
99+
"learning/courses/quantum-chem-with-vqe/ground-state.ipynb",
100+
"learning/courses/quantum-chem-with-vqe/hamiltonian-construction.ipynb",
101+
"learning/courses/quantum-computing-in-practice/introduction.ipynb",
102+
"learning/courses/quantum-computing-in-practice/mapping.ipynb",
103+
"learning/courses/quantum-diagonalization-algorithms/introduction.ipynb",
104+
"learning/courses/quantum-diagonalization-algorithms/krylov.ipynb",
105+
"learning/courses/quantum-diagonalization-algorithms/skqd.ipynb",
106+
"learning/courses/quantum-diagonalization-algorithms/sqd-implementation.ipynb",
107+
"learning/courses/quantum-diagonalization-algorithms/sqd-overview.ipynb",
108+
"learning/courses/quantum-diagonalization-algorithms/vqe.ipynb",
109+
"learning/courses/quantum-machine-learning/classical-ml-review.ipynb",
110+
"learning/courses/quantum-machine-learning/introduction.ipynb",
111+
"learning/courses/quantum-machine-learning/quantum-kernel-methods.ipynb",
112+
"learning/courses/quantum-machine-learning/qvc-qnn.ipynb",
113+
"learning/courses/utility-scale-quantum-computing/bits-gates-and-circuits.ipynb",
114+
"learning/courses/utility-scale-quantum-computing/error-mitigation.ipynb",
115+
"learning/courses/utility-scale-quantum-computing/grovers-algorithm.ipynb",
116+
"learning/courses/utility-scale-quantum-computing/quantum-phase-estimation.ipynb",
117+
"learning/courses/utility-scale-quantum-computing/teleportation.ipynb",
118+
"learning/courses/utility-scale-quantum-computing/utility-i.ipynb",
119+
"learning/courses/utility-scale-quantum-computing/utility-ii.ipynb",
120+
"learning/courses/utility-scale-quantum-computing/utility-iii.ipynb",
121+
"learning/courses/utility-scale-quantum-computing/variational-quantum-algorithms.ipynb",
122+
"learning/courses/variational-algorithm-design/ansaetze-and-variational-forms.ipynb",
123+
"learning/modules/computer-science/deutsch-jozsa.ipynb",
124+
"learning/modules/computer-science/quantum-key-distribution.ipynb",
125+
"learning/modules/computer-science/quantum-teleportation.ipynb",
126+
"learning/modules/quantum-mechanics/bells-inequality-with-qiskit.ipynb",
127+
"learning/modules/quantum-mechanics/exploring-uncertainty-with-qiskit.ipynb",
128+
"learning/modules/quantum-mechanics/stern-gerlach-measurements-with-qiskit.ipynb",
129+
"learning/modules/quantum-mechanics/superposition-with-qiskit.ipynb",
130+
"learning/courses/foundations-of-quantum-error-correction/correcting-quantum-errors/repetition-codes.ipynb",
131+
"learning/courses/foundations-of-quantum-error-correction/fault-tolerant-quantum-computing/approach-to-fault-tolerance.ipynb",
132+
"learning/courses/foundations-of-quantum-error-correction/quantum-code-constructions/css-codes.ipynb",
133+
"learning/courses/fundamentals-of-quantum-algorithms/grover-algorithm/grover-algorithm-description.ipynb",
134+
"learning/courses/fundamentals-of-quantum-algorithms/grover-algorithm/number-of-iterations.ipynb",
135+
"learning/courses/fundamentals-of-quantum-algorithms/phase-estimation-and-factoring/phase-estimation-problem.ipynb",
136+
"learning/courses/fundamentals-of-quantum-algorithms/phase-estimation-and-factoring/phase-estimation-procedure.ipynb",
137+
"learning/courses/fundamentals-of-quantum-algorithms/quantum-algorithmic-foundations/factoring-and-gcd.ipynb",
138+
"learning/courses/general-formulation-of-quantum-information/general-measurements/discrimination-and-tomography.ipynb",
139+
"learning/modules/computer-science/vqe.ipynb",
140+
];
141+
142+
function metadataIgnoresForLegacyQiskit(): string[] {
143+
const versions = [
144+
"0.19/",
145+
"0.24/",
146+
"0.25/",
147+
"0.26/",
148+
"0.27/",
149+
"0.28/",
150+
"0.29/",
151+
"0.30/",
152+
"0.31/",
153+
"0.32/",
154+
"0.33/",
155+
"0.35/",
156+
"0.36/",
157+
"0.37/",
158+
"0.38/",
159+
"0.39/",
160+
"0.40/",
161+
"0.41/",
162+
"0.42/",
163+
"0.43/",
164+
"0.44/",
165+
"0.45/",
166+
"0.46/",
167+
];
168+
return [
169+
...versions.flatMap((vers) => [
170+
`docs/api/qiskit/${vers}aer.mdx`,
171+
`docs/api/qiskit/${vers}aqua.mdx`,
172+
`docs/api/qiskit/${vers}ibmq-provider.mdx`,
173+
`docs/api/qiskit/${vers}ibmq_jupyter.mdx`,
174+
`docs/api/qiskit/${vers}ibmq_visualization.mdx`,
175+
`docs/api/qiskit/${vers}parallel.mdx`,
176+
`docs/api/qiskit/${vers}transpiler_builtin_plugins.mdx`,
177+
]),
178+
];
179+
}

0 commit comments

Comments
 (0)