Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2056 commits
Select commit Hold shift + click to select a range
b1c0a07
[openquantumhardware/qick_internal#43] Updated testbench tests_genera…
mmdiego Aug 28, 2025
3c77af9
Merge branch '43-build-a-complete-qick-testbench-to-run-simulations' …
mmdiego Aug 28, 2025
60cc1f7
[openquantumhardware/qick_internal#43] Updated qick testbench to add …
mmdiego Aug 28, 2025
cf88fcc
update time tagger read_mem
meeg Aug 28, 2025
d33d9af
[openquantumhardware/qick_internal#53] Added test for issue53 to test…
mmdiego Aug 29, 2025
6bf3580
[openquantumhardware/qick_internal#53] Added test_issue53 to qick_tes…
mmdiego Aug 29, 2025
a1503dd
[openquantumhardware/qick_internal#53] Fixed axis_cdcsync and tproc_d…
mmdiego Aug 29, 2025
0477524
[openquantumhardware/qick_internal#53] Fixed axis_cdcsync and tproc_d…
mmdiego Aug 29, 2025
8681a70
[openquantumhardware/qick_internal#53] Added revision 27 to asm_v2.py
mmdiego Aug 29, 2025
5925df7
update version
qickbot Aug 29, 2025
e9fc72e
[openquantumhardware/qick#45] Replaced fifo_dc_axi with fifo_dc_axi_x…
mmdiego Aug 29, 2025
61db8d7
Recovered wrongly deleted axis_cdcsync tb.sv
mmdiego Aug 29, 2025
0f5a891
warn if time-tagger memory appears to be full; try to flush at init
meeg Aug 30, 2025
6d8f98e
reset/clear interrupts on ADCs after power-up
meeg Aug 30, 2025
aac095f
tweak printout text
meeg Aug 30, 2025
95e89a7
add time tagger and ADC methods to QickSoc
meeg Aug 30, 2025
d7228e7
update version
qickbot Aug 30, 2025
666bd34
Merge pull request #365 from openquantumhardware/sho
meeg Aug 30, 2025
ed034a6
Update index.rst
sarafs1926 Sep 1, 2025
603e544
update version
qickbot Sep 1, 2025
b05ac89
Merge pull request #366 from openquantumhardware/sarafs1926-patch-1
meeg Sep 1, 2025
32dd404
[openquantumhardware/qick_internal#43] Updated random_benchmarking no…
mmdiego Sep 2, 2025
c01bb72
[openquantumhardware/qick_internal#43] Updated qick testbench to para…
mmdiego Sep 2, 2025
8b9cfd0
[openquantumhardware/qick_internal#55] Updated data_reader to fix odd…
mmdiego Sep 3, 2025
d636b23
Merge remote-tracking branch 'origin/main' into 43-build-a-complete-q…
mmdiego Sep 3, 2025
ff2ddde
Merge branch '55-avg_buffer-generates-wrong-last-and-valid-signals-wh…
mmdiego Sep 3, 2025
4483306
[openquantumhardware/qick#45] Updated avg_top.v to use compatible fif…
mmdiego Sep 3, 2025
293ecda
[openquantumhardware/qick_internal#43] Updated and fixed several thin…
mmdiego Sep 4, 2025
c189469
[openquantumhardware/qick_internal#46] Cleaned-up some CDCs and warni…
mmdiego Sep 4, 2025
7c30dcc
Merge remote-tracking branch 'origin/49-tproc-core-may-not-restart-co…
mmdiego Sep 4, 2025
b5067f6
Merge remote-tracking branch 'origin/53-tproc-wave-dispatcher-doesnt-…
mmdiego Sep 4, 2025
e4e35da
Merge remote-tracking branch 'origin/55-avg_buffer-generates-wrong-la…
mmdiego Sep 4, 2025
94699b6
Merge remote-tracking branch 'origin/45-bug-in-fifo_dc_axi-implementa…
mmdiego Sep 4, 2025
42dc44c
[openquantumhardware/qick_internal#46] Updated timing.xdc to search f…
mmdiego Sep 4, 2025
384a69e
Merge remote-tracking branch 'origin/46-proj-timing-constraints' into…
mmdiego Sep 4, 2025
bcdfb9c
Fixed qproc_dispatcher wrong merge
mmdiego Sep 5, 2025
a742776
[openquantumhardware/qick_internal#46] Added ASYNC_REG property to sy…
mmdiego Sep 5, 2025
d3e0ef8
Merge branch '46-synchronizers' into xx_firmware_merge_test
mmdiego Sep 5, 2025
7e2ad8e
[openquantumhardware/qick_internal#46] Updated axis_signal_gen_v6 to …
mmdiego Sep 5, 2025
37936ae
[openquantumhardware/qick_internal#55] Updated data_reader to fix odd…
mmdiego Sep 5, 2025
904b06d
Merge remote-tracking branch 'origin/55-avg_buffer-generates-wrong-la…
mmdiego Sep 5, 2025
3480dd9
update version
qickbot Sep 5, 2025
6d06dd3
[openquantumhardware/qick_internal#43] Bring several improvements to …
mmdiego Sep 5, 2025
0be5cfe
Merge branch '43-qick-testbench-updates' into PR-firmware_merge_test
mmdiego Sep 5, 2025
514d0e2
[openquantumhardware/qick_internal#46] Fixed bram_dp_xpm and fifo_xpm…
mmdiego Sep 7, 2025
a311371
increase FIFO depth to meet XPM_FIFO_ASYNC requirement (same as commi…
meeg Sep 8, 2025
af0b083
[openquantumhardware/qick_internal#46] Updated bram_dp_xpm and signal…
mmdiego Sep 10, 2025
6f82b83
merge avg_buffer changes from 8b9cfd0, 37936ae
meeg Sep 10, 2025
cf1e3f3
[openquantumhardware/qick_internal#46] Fixed pinc_Nm multiplier new i…
mmdiego Sep 11, 2025
dd24fd8
Merge branch '46-signal_gen_updates' into PR-firmware_merge_test
mmdiego Sep 11, 2025
4867615
Merge remote-tracking branch 'qick_internal/PR-firmware_merge_test' i…
mmdiego Sep 11, 2025
5e89581
[openquantumhardware/qick_internal#46] Updated qick_testbench project
mmdiego Sep 11, 2025
974b5ea
Merge branch '46-signal_gen_updates' into PR-firmware_merge_test
mmdiego Sep 11, 2025
e262b91
Merge remote-tracking branch 'qick_internal/PR-firmware_merge_test' i…
mmdiego Sep 11, 2025
05bc8d8
[openquantumhardware/qick_internal#53] Clean-up fix
mmdiego Sep 11, 2025
6413002
Merge remote-tracking branch 'qick_internal/PR-firmware_merge_test' i…
mmdiego Sep 11, 2025
cc669cd
clear BASE_BOARD_PART parameter in .xci files, to get rid of warnings…
meeg Sep 11, 2025
162d052
update tProc revisions list
meeg Sep 13, 2025
8318920
Merge pull request #367 from openquantumhardware/PR-firmware_merge_test
meeg Sep 13, 2025
00c8191
Merge remote-tracking branch 'origin/main' into 43-build-a-complete-q…
mmdiego Sep 17, 2025
124ade0
tweak firmware mapping code and MR buffer driver to better handle fir…
meeg Sep 24, 2025
05ede8d
add support for ADC mixer
meeg Sep 25, 2025
56cecdf
bus tracing improvements
meeg Sep 26, 2025
8747009
update version
qickbot Sep 26, 2025
c619ace
Merge pull request #369 from openquantumhardware/spectrum
meeg Sep 26, 2025
64f9ebe
Merge remote-tracking branch 'qick_internal/43-build-a-complete-qick-…
mmdiego Oct 6, 2025
9d98886
update version
qickbot Oct 6, 2025
825c7da
[#370] reverted some changes in qick_asm.py
mmdiego Oct 6, 2025
bda7b82
Merge branch 'PR-43-build-a-complete-qick-testbench-to-run-simulation…
mmdiego Oct 6, 2025
7134db5
[openquantumhardware/qick_internal#43] Added soccfg.json to be used w…
mmdiego Oct 9, 2025
7ecb605
[openquantumhardware/qick_internal#43] Fixed casting in print_pmem2he…
mmdiego Oct 9, 2025
1a6a7a9
Merge remote-tracking branch 'qick_internal/43-build-a-complete-qick-…
mmdiego Oct 9, 2025
a71c64b
Moved testbench notebooks under firmware/testbench folder
mmdiego Oct 10, 2025
24efe4d
Merge pull request #370 from openquantumhardware/PR-43-build-a-comple…
meeg Oct 10, 2025
cc6bdd2
[openquantumhardware/qick_internal#63] Updated qick_lib to support br…
mmdiego Oct 21, 2025
7dfe3c1
update version
qickbot Oct 21, 2025
89d1bd3
[openquantumhardware/qick_internal#63] Replaced if condition to check…
mmdiego Oct 21, 2025
0c91bb3
Merge branch 'PR-63-tproc_v2-branch-instructions-immediate-address-va…
mmdiego Oct 21, 2025
9db8ae1
fix bug where the insts list was getting overwritten
meeg Oct 25, 2025
ecd9234
Merge branch '63-tproc_v2-branch-instructions-immediate-address-value…
meeg Oct 25, 2025
5bd1c1d
fix bug with the target program address
meeg Oct 25, 2025
87e2b71
a bit more cleanup
meeg Oct 25, 2025
4972014
LINE and P_ADDR of the leading NOP were wrong
meeg Oct 28, 2025
2ba031c
dereference labels to addresses using parse_lines_and_labels, not the…
meeg Oct 28, 2025
d96803e
fix weird list2asm behavior for WAIT
meeg Oct 28, 2025
5f05823
[openquantumhardware/qick_internal#22] Added RB_tProc_v1_experiment n…
mmdiego Oct 29, 2025
c430151
[openquantumhardware/qick_internal#22] Updated test03_random_benchmar…
mmdiego Oct 29, 2025
cbde8bc
[openquantumhardware/qick_internal#22] Renamed test03_random_benchmar…
mmdiego Oct 29, 2025
ae5a6e0
use pseudolabels HERE, NEXT, SKIP, etc. instead of p_addr which doesn…
meeg Oct 30, 2025
adc2d0a
[openquantumhardware/qick_internal#66] Call DynamicPLLConfig() after …
mmdiego Oct 31, 2025
74dac22
add WriteLabel macro to clean things up
meeg Oct 31, 2025
bb049e3
update version
qickbot Oct 31, 2025
bac972f
more cleanup
meeg Nov 1, 2025
8329c53
clean up the final sanity checks in list2bin
meeg Nov 3, 2025
e064685
sanity check of WAIT['ADDR']; some cleanup
meeg Nov 3, 2025
6adbc0b
Merge pull request #371 from openquantumhardware/PR-63-tproc_v2-branc…
meeg Nov 3, 2025
fc72bd0
Merge branch 'main' into PR-66-pulses-might-not-generatedemodulate-co…
meeg Nov 4, 2025
ad372c8
do this differently - restart tiles after setting clock chips
meeg Nov 4, 2025
db35bca
cleanup
meeg Nov 8, 2025
7f15bf7
restore old logic for downloading bitstream
meeg Nov 8, 2025
326557a
tweak startup messages
meeg Nov 8, 2025
a491229
add a note for later
meeg Nov 8, 2025
2ad08aa
Merge branch 'pl_reset' into PR-66-pulses-might-not-generatedemodulat…
meeg Nov 8, 2025
20b1b82
clean up old PL reset code
meeg Nov 8, 2025
ac77c13
move code around
meeg Nov 8, 2025
08a7bb0
Merge pull request #372 from openquantumhardware/PR-66-pulses-might-n…
meeg Nov 9, 2025
ca61e2d
Merge remote-tracking branch 'origin/main' into 43-build-a-complete-q…
mmdiego Nov 10, 2025
9fa0c5c
[openquantumhardware/qick_internal#79] Updated qick_time_tagger IP Pa…
mmdiego Nov 10, 2025
90f70b7
update version
qickbot Nov 10, 2025
00db7fc
Merge pull request #375 from openquantumhardware/PR-79-review-qick_ti…
meeg Nov 11, 2025
6daaa27
[openquantumhardware/qick_internal#32] Fixed axi_mst_write to capture…
mmdiego Nov 17, 2025
67dc2bb
[openquantumhardware/qick_internal#32] Reorganized axis_buffer_ddr fi…
mmdiego Nov 18, 2025
ee58795
[openquantumhardware/qick_internal#32] Created AxisBufferDdrV1pt1 cla…
mmdiego Nov 18, 2025
d0459a5
[openquantumhardware/qick_internal#32] Replaced tabs with spaces. Add…
mmdiego Nov 18, 2025
3297e97
[openquantumhardware/qick_internal#32] Updated JUNK_SAMPLES_BUG_FIX d…
mmdiego Nov 18, 2025
ab437ac
[openquantumhardware/qick_internal#32] Updated tprocv2 standard proje…
mmdiego Nov 18, 2025
42c5087
update version
qickbot Nov 19, 2025
1b2032b
[openquantumhardware/qick_internal#32] Updated readout.py and reverte…
mmdiego Nov 19, 2025
0e3f177
Merge remote-tracking branch 'qick_internal/32-review-if-first-sample…
mmdiego Nov 19, 2025
edb78ef
fix comment
meeg Nov 19, 2025
ae9742b
do this the same way we do elsewhere
meeg Nov 20, 2025
0dbdd9c
update demo
meeg Nov 20, 2025
10d0d79
Merge pull request #376 from openquantumhardware/PR-32-fix-axis-ddr-b…
meeg Nov 20, 2025
2641a12
Merge remote-tracking branch 'origin/main' into 43-build-a-complete-q…
mmdiego Nov 20, 2025
062db18
[openquantumhardware/qick_internal#43] Moved testbench_notebooks to f…
mmdiego Nov 20, 2025
5a11fd3
Update papers list and last modified date
sarafs1926 Nov 27, 2025
11bf35e
update version
qickbot Nov 27, 2025
9c17406
Merge pull request #378 from openquantumhardware/sarafs1926-patch-1
meeg Nov 28, 2025
4336ccf
Update papers.rst with news section and new papers
sarafs1926 Dec 3, 2025
5f34a5b
update version
qickbot Dec 3, 2025
785a709
fix header formatting
meeg Dec 4, 2025
55b6a05
VERSION change should not trigger tests
meeg Dec 4, 2025
390db42
Merge pull request #380 from openquantumhardware/sarafs1926-patch-2
meeg Dec 4, 2025
13cfcc1
Merge remote-tracking branch 'origin/main' into 43-build-a-complete-q…
mmdiego Dec 5, 2025
e6d2891
Add note on PYNQ compat
tomhepz Dec 9, 2025
a55fe65
update version
qickbot Dec 9, 2025
3e1a8f3
[#381] Added a PYNQ version check when importing QICK library
mmdiego Dec 9, 2025
fd630eb
[#381] Skip PYNQ version check if not running on Zynq board
mmdiego Dec 9, 2025
88f70eb
limit pynq version in install_requires; always recommend offline install
meeg Dec 10, 2025
ab04c00
rework the new warning
meeg Dec 10, 2025
81af1cd
tweak the README
meeg Dec 10, 2025
f274eb5
trim noisy prints
meeg Dec 10, 2025
3a47a96
Merge pull request #381 from tomhepz/patch-1
meeg Dec 10, 2025
c153651
[openquantumhardware/qick_internal#43] moved stimuli and tasks code f…
mmdiego Jan 8, 2026
a838f28
[openquantumhardware/qick_internal#43] created qick_dut and moved tpr…
mmdiego Jan 8, 2026
90192c9
[openquantumhardware/qick_internal#43] moved sg and ro blocks into qi…
mmdiego Jan 9, 2026
0cbd9e8
[openquantumhardware/qick_internal#43] moved model_DAC_ADC to its own…
mmdiego Jan 9, 2026
e2340e7
Merge remote-tracking branch 'origin/main' into 43-build-a-complete-q…
mmdiego Jan 9, 2026
4bf966f
Merge branch '43-qick-testbench-ai-mods' into 43-build-a-complete-qic…
mmdiego Jan 9, 2026
ed60e9c
Update papers list and last modified date
sarafs1926 Jan 26, 2026
5c69ece
update version
qickbot Jan 26, 2026
3ea429f
fix header underline lengths
meeg Jan 26, 2026
f74f001
Merge pull request #385 from openquantumhardware/sarafs1926-patch-1-1
meeg Jan 26, 2026
275edbc
updated copyright year to 2026
mmdiego Jan 26, 2026
7890889
update version
qickbot Jan 26, 2026
eeb4281
remove copyright year
meeg Jan 26, 2026
b65260c
Merge pull request #386 from openquantumhardware/update-copyright-year
meeg Jan 26, 2026
573609c
Create placeholder.md
sarafs1926 Jan 27, 2026
9805027
Add files via upload
sarafs1926 Jan 27, 2026
056f0c6
Create paper_stats.rst for QICK paper statistics
sarafs1926 Jan 27, 2026
1aae02b
Add papers_stats to documentation table of contents
sarafs1926 Jan 27, 2026
4a46c17
Rename paper_stats.rst to papers_stats.rst
sarafs1926 Jan 27, 2026
dba0d6e
Update image paths in papers_stats.rst
sarafs1926 Jan 27, 2026
ff6108d
Reorganize Huang et al. reference in papers list
sarafs1926 Jan 27, 2026
fbdca06
update version
qickbot Jan 27, 2026
0ee9451
update papers graphs with extrapolation label
meeg Jan 28, 2026
53119c7
merge stats and papers pages, nest categories
meeg Jan 28, 2026
565c612
be consistent about arxiv link type
meeg Jan 28, 2026
238853e
update discord links
meeg Jan 28, 2026
d8ebb33
clean up
meeg Jan 28, 2026
805e483
Merge pull request #387 from openquantumhardware/sarafs1926-patch-2
meeg Jan 28, 2026
077755e
Update papers list with new date and reference
sarafs1926 Jan 29, 2026
0e77730
update version
qickbot Jan 29, 2026
0840908
Merge pull request #388 from openquantumhardware/sarafs1926-patch-2-1
meeg Jan 30, 2026
4bccba1
[openquantumhardware/qick_internal#43] Added option to dump_cfg() to …
mmdiego Feb 11, 2026
5570b19
Update papers list and last modified date
sarafs1926 Feb 21, 2026
7926ab2
update version
qickbot Feb 21, 2026
9a5c387
Update QICK papers list and add new entries
sarafs1926 Mar 14, 2026
7f99b90
Add new paper reference on QICK and ML-based readout
sarafs1926 Mar 15, 2026
267946f
fix title underlines
meeg Mar 16, 2026
4a1a455
Merge pull request #390 from openquantumhardware/sarafs1926-patch-3
meeg Mar 16, 2026
d57a8d6
Add commercial products section to papers documentation
sarafs1926 Mar 16, 2026
277913d
update version
qickbot Mar 16, 2026
f2f067f
Add Safran and RealDigital QICK box references
sarafs1926 Mar 16, 2026
5e7768a
Merge pull request #393 from openquantumhardware/sarafs1926-patch-4
meeg Mar 17, 2026
411b3e1
Reorder commercial products based on QICK in order of start date
sarafs1926 Mar 17, 2026
f7b7a05
update version
qickbot Mar 17, 2026
ad2c3d0
Merge pull request #394 from openquantumhardware/sarafs1926-patch-5
meeg Mar 17, 2026
f5b37b3
Update papers.rst with new content and date changes
sarafs1926 Mar 20, 2026
f1abd34
update version
qickbot Mar 20, 2026
70efa0f
Add new reference for Millimeter Wave Readout
sarafs1926 Mar 20, 2026
20ba2a5
Papers update XCOM
sarafs1926 Mar 21, 2026
db93e40
Merge pull request #396 from openquantumhardware/sarafs1926-patch-4
meeg Mar 22, 2026
ed3f4ec
Add open-source commitment section to README
sarafs1926 Mar 28, 2026
8f7ad9c
update version
qickbot Mar 28, 2026
ef394ae
Clarify commercial partnerships in README
sarafs1926 Mar 28, 2026
eb49663
tweaks to language
meeg Apr 3, 2026
0cf59b2
Merge pull request #397 from openquantumhardware/sarafs1926-patch-4
meeg Apr 3, 2026
8a1ad78
update actions versions, split wheels action into two jobs as recomme…
meeg Apr 3, 2026
27177e7
change workflow trigger
meeg Apr 3, 2026
704d9ee
update version
qickbot Apr 3, 2026
c15458e
Merge pull request #398 from openquantumhardware/actions
meeg Apr 3, 2026
3e9b6b1
enable dependabot for github actions
meeg Apr 6, 2026
121ca76
update version
qickbot Apr 6, 2026
14690dd
Merge pull request #399 from openquantumhardware/actions-1
meeg Apr 6, 2026
e1fcbea
Bump actions/upload-artifact from 6 to 7
dependabot[bot] Apr 6, 2026
d59e340
update version
qickbot Apr 6, 2026
da9f358
Merge pull request #400 from openquantumhardware/dependabot/github_ac…
meeg Apr 6, 2026
c3a939c
Bump actions/download-artifact from 6 to 8
dependabot[bot] Apr 6, 2026
a6cb003
update version
qickbot Apr 6, 2026
601c8a9
Merge pull request #401 from openquantumhardware/dependabot/github_ac…
meeg Apr 6, 2026
8a3c136
Merge remote-tracking branch 'qick_internal/43-build-a-complete-qick-…
mmdiego Apr 15, 2026
5d652c7
update version
qickbot Apr 15, 2026
0d49d48
[openquantumhardware/qick_internal#43] Fixed some Copilot review comm…
mmdiego Apr 17, 2026
431f15d
Merge remote-tracking branch 'qick_internal/43-build-a-complete-qick-…
mmdiego Apr 17, 2026
74279ae
Merge branch 'PR-43-build-a-complete-qick-testbench-to-run-simulation…
mmdiego Apr 17, 2026
55dd4e6
[openquantumhardware/qick_internal#43] Fixed some Copilot review comm…
mmdiego Apr 17, 2026
dbc08ea
Merge remote-tracking branch 'qick_internal/43-build-a-complete-qick-…
mmdiego Apr 17, 2026
d57c7f5
[openquantumhardware/qick_internal#43] Fixed some Copilot review comm…
mmdiego Apr 17, 2026
49bf0b9
Merge remote-tracking branch 'qick_internal/43-build-a-complete-qick-…
mmdiego Apr 17, 2026
22d80a1
Update papers list and add new references
sarafs1926 May 2, 2026
1ee2047
update version
qickbot May 2, 2026
952ecaa
Add files via upload
sarafs1926 May 3, 2026
57f2c83
Update paper statistics and image references
sarafs1926 May 3, 2026
7e1a466
Merge pull request #405 from openquantumhardware/sarafs1926-patch-4
meeg May 3, 2026
c0c8280
Add files via upload
sarafs1926 May 6, 2026
cc00e55
update version
qickbot May 6, 2026
313c74a
Merge pull request #406 from openquantumhardware/sarafs1926-patch-5
meeg May 11, 2026
580183e
Merge remote-tracking branch 'origin/main' into PR-43-build-a-complet…
mmdiego Jun 1, 2026
a05f5b6
update version
qickbot Jun 1, 2026
37f919f
Add missing balun detection.
BBArikL Jun 5, 2026
6300885
update version
qickbot Jun 5, 2026
abdaad2
Merge pull request #413 from BBArikL/main
meeg Jun 5, 2026
906d63f
fix bug affecting testing firmwares
meeg Jun 6, 2026
2f95fae
fix typo introduced in #367
meeg Jun 6, 2026
53e8413
fix reps_innermost bug
meeg Jun 6, 2026
4d05e94
fix averager_program raw data bug from #342
meeg Jun 6, 2026
967971d
update version
qickbot Jun 6, 2026
9f205a3
Merge pull request #414 from openquantumhardware/bugfix
meeg Jun 6, 2026
0dd600a
Merge remote-tracking branch 'origin/main' into PR-43-build-a-complet…
mmdiego Jun 10, 2026
fc871d5
update version
qickbot Jun 10, 2026
69eeac4
move print_sg_mem to where it belongs
meeg Jun 15, 2026
18ab912
add caution in docstring
meeg Jun 15, 2026
fbfef12
Merge pull request #404 from openquantumhardware/PR-43-build-a-comple…
meeg Jun 15, 2026
cecef5f
Bump actions/checkout from 6 to 7
dependabot[bot] Jun 18, 2026
fc18384
update version
qickbot Jun 18, 2026
ba47c44
Merge pull request #418 from openquantumhardware/dependabot/github_ac…
meeg Jun 18, 2026
e6d1cd9
Revise papers list and update QICK last update date
sarafs1926 Jul 11, 2026
73b4bf3
update version
qickbot Jul 11, 2026
779dffa
Merge pull request #420 from openquantumhardware/sarafs1926-patch-4
meeg Jul 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .github/SUPPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Getting help with QICK

For ways to get in touch with developers and members of the QICK community, see the [contact page](https://qick-docs.readthedocs.io/latest/contact.html) on our Read the Docs site.
14 changes: 14 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
# Enable version updates for GitHub Actions
- package-ecosystem: "github-actions"
# Workflow files stored in the default location of `.github/workflows`
# You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`.
directory: "/"
schedule:
interval: "weekly"
48 changes: 48 additions & 0 deletions .github/workflows/test_zcu111.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Install the QICK library on the runner (a QICK board) and run tests.
# The FPGA can only be accessed as root, so the tests must run with sudo.
# This pollutes the repo with files owned by root, which interfere with the "clean" step in the checkout action.
# We therefore do the clean manually (with sudo) before checkout.

name: Test ZCU111

on:
workflow_dispatch:
pull_request:
paths:
- 'qick_demos/**'
- 'qick_lib/**'
- '**.py'
- '!qick_lib/qick/VERSION'

permissions:
contents: write

jobs:
run_test:
runs-on: [zcu111]
steps:
- name: Clean repo
continue-on-error: true
run: |
sudo git clean -ffdx
sudo git reset --hard HEAD
- uses: actions/checkout@v7
- name: Install package
run: |
sudo -E -H python -m pip install -e .
- name: Test notebooks
run: |
sudo -E python -m pytest --nbmake --overwrite ./qick_demos/00_Send_receive_pulse.ipynb
sudo -E python -m pytest --nbmake ./qick_demos/01_Phase_coherent_readout.ipynb
sudo -E python -m pytest --nbmake ./qick_demos/02_Sweeping_variables.ipynb
sudo -E python -m pytest --nbmake ./qick_demos/03_Conditional_logic.ipynb
sudo -E python -m pytest --nbmake ./qick_demos/04_Reading_Math_Writing.ipynb
sudo -E python -m pytest --nbmake ./qick_demos/05_PhaseCoherence_QickProgram.ipynb
# sudo -E python -m pytest --nbmake ./qick_demos/06_qubit_demos.ipynb
sudo -E python -m pytest --nbmake ./qick_demos/07_Sweep_ND_variables.ipynb
sudo -E python -m pytest --nbmake ./qick_demos/08_Special_buffers.ipynb
- name: Archive test results
uses: actions/upload-artifact@v7
with:
name: demo_notebooks
path: qick_demos/*.ipynb
120 changes: 120 additions & 0 deletions .github/workflows/update_version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# Automatically update the package version.
# The version has the format major.minor.PR, where PR is the number of the most recent pull request.
# This action runs automatically when a pull request is opened, or a commit is added to an open pull request.
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target
#
# It checks the version number against the PR number; if it does not match, the version number is updated in a new commit.
# The commit will be credited to the GitHub Actions user.
# https://github.com/orgs/community/discussions/26560#discussioncomment-3252339
#
# We need write access, which is only available using the pull_request_target trigger.
# It is dangerous to have write access at the same time that you are checking out untrusted code from a PR.
# However, we are only extracting a version number and (possibly) committing a new version number back to the PR, which is relatively safe.
# In other words, we are doing a bad thing ("pull_request_target with an explicit PR checkout") but our workflow is safe ("Reformat and commit the code"):
# https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
#
# If you don't want this action to run (e.g. if you want a different version number for a certain PR), include [skip actions] in the commit message.
# https://docs.github.com/en/actions/managing-workflow-runs/skipping-workflow-runs
#
# If we make a new commit in this action, the action doesn't get run on the new commit (not sure why, actually).
# This is a problem if we want to use this as a status check.
# The workaround is to manually apply the status at the end: ugly!
# Using: https://docs.github.com/en/rest/commits/statuses?apiVersion=2022-11-28#create-a-commit-status
#
# Because this action uses the pull_request_target trigger, it's exempt from the workflow approval rules and will run automatically regardless of the submitter:
# https://docs.github.com/en/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks#about-workflow-runs-from-public-forks

name: Update version

on:
pull_request_target:
types: [opened, reopened, synchronize]
branches:
- main

permissions:
contents: write
pull-requests: write
statuses: write
checks: write

jobs:
update_version:
runs-on: ubuntu-latest
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
GH_TOKEN: ${{ github.token }}
VERSION_PATH: qick_lib/qick/VERSION
CHECK_TOKEN: ${{ secrets.CHECK_TOKEN }}
steps:
- uses: actions/checkout@v7
- name: Checkout pull request
run: gh pr checkout $PR_NUMBER
- name: Compare version numbers
run: |
file_version=$(cut -d '.' -f 3 "$VERSION_PATH")
echo "PR number: $PR_NUMBER, VERSION number: $file_version"
echo "file_version=$file_version" >> $GITHUB_ENV
- name: Debug
run: gh auth status
- name: Update VERSION if necessary
if: env.file_version != github.event.pull_request.number
run: |
echo "updating VERSION"
echo "$(cut -d '.' -f -2 $VERSION_PATH).$PR_NUMBER" > "$VERSION_PATH"
git config user.email "129547417+qickbot@users.noreply.github.com"
git config user.name "QICK actions [bot]"
git config push.default upstream
git add "$VERSION_PATH"
git commit -am "update version"
git push
repopath=$(git remote get-url origin|cut -d'/' -f4,5)
headpath=$(gh pr view --json headRepositoryOwner,headRepository -t '{{.headRepositoryOwner.login}}/{{.headRepository.name}}')
new_sha="$(git rev-parse HEAD)"
reporef="/repos/${repopath}/statuses/${new_sha}"
headref="/repos/${headpath}/statuses/${new_sha}"
echo "reporef=$reporef" >> $GITHUB_ENV
echo "headref=$headref" >> $GITHUB_ENV
- name: Set status for update commit using CLI and GITHUB_TOKEN, PR head path
continue-on-error: true
if: env.file_version != github.event.pull_request.number
run: |
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"$headref" \
-f state='success' \
-f context='update_version'
- name: Set status for update commit using CLI and GITHUB_TOKEN, repo path
continue-on-error: true
if: env.file_version != github.event.pull_request.number
run: |
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"$reporef" \
-f state='success' \
-f context='update_version'
- name: Set status for update commit using curl and PAT, PR head path
continue-on-error: true
if: env.file_version != github.event.pull_request.number
run: |
curl -L -X POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
-H "Authorization: Bearer $CHECK_TOKEN" \
"https://api.github.com${headref}" \
-d '{"state":"success","context":"update_version"}'
- name: Set status for update commit using curl and PAT, repo path
continue-on-error: true
if: env.file_version != github.event.pull_request.number
run: |
repopath=$(git remote get-url origin|cut -d'/' -f4,5)
curl -L -X POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
-H "Authorization: Bearer $CHECK_TOKEN" \
"https://api.github.com${reporef}" \
-d '{"state":"success","context":"update_version"}'
61 changes: 61 additions & 0 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Build a wheel and publish to PyPI when a pull request merges.
# https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
#
# Based on https://github.com/orgs/community/discussions/26724#discussioncomment-3253102 we trigger this workflow on a push to main branch, and protect the main branch.
#
# We previously used the pull_request_target workflow trigger, but it seems that since sometime between January and March 2026 this no longer works with trusted publishing.
# How that used to work:
#
# We need access to the repo secrets, which are only available using the pull_request_target trigger.
# For security this requires us to use the repo HEAD and not the PR merge commit.
# But since this action only executes on merge, those are the same thing.
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target

name: Build wheel

on:
push:
branches:
- main

permissions:
contents: read
pull-requests: read

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.x"
- name: Build wheel
run: |
python -m pip install --user --upgrade pip build wheel
python -m build
- name: Store the distribution packages
uses: actions/upload-artifact@v7
with:
name: python-package-distributions
path: dist/

publish-to-pypi:
needs:
- build
runs-on: ubuntu-latest
environment:
name: release
url: https://pypi.org/p/qick
permissions:
# IMPORTANT: this permission is mandatory for trusted publishing
id-token: write
steps:
- name: Download all the dists
uses: actions/download-artifact@v8
with:
name: python-package-distributions
path: dist/
- name: Publish distribution to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
Loading