From 0b4631a7741df403510281b304d7bd6b169beebc Mon Sep 17 00:00:00 2001 From: kwryankrattiger <80296582+kwryankrattiger@users.noreply.github.com> Date: Wed, 2 Aug 2023 11:51:12 -0500 Subject: CI: Refactor ci reproducer (#37088) * CI: Refactor ci reproducer * Autostart container * Reproducer paths match CI paths * Generate start scripts for docker and reproducer * CI: Add interactive and gpg options to reproduce-build * Interactive will determine if the docker container persists after running reproduction. * GPG path/url allow downloading GPG keys needed for binary cache download validation. This is important for running reproducer for protected CI jobs. * Add exit_on_failure option to CI scripts * CI: Add runtime option for reproducer --- share/spack/spack-completion.bash | 2 +- share/spack/spack-completion.fish | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'share') diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index 409bb617f8..9e184aa9a7 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -638,7 +638,7 @@ _spack_ci_rebuild() { _spack_ci_reproduce_build() { if $list_options then - SPACK_COMPREPLY="-h --help --working-dir" + SPACK_COMPREPLY="-h --help --runtime --working-dir -s --autostart --gpg-file --gpg-url" else SPACK_COMPREPLY="" fi diff --git a/share/spack/spack-completion.fish b/share/spack/spack-completion.fish index da8b2a4da3..9b4027dfe3 100755 --- a/share/spack/spack-completion.fish +++ b/share/spack/spack-completion.fish @@ -949,12 +949,20 @@ complete -c spack -n '__fish_spack_using_command ci rebuild' -l fail-fast -f -a complete -c spack -n '__fish_spack_using_command ci rebuild' -l fail-fast -d 'stop stand-alone tests after the first failure' # spack ci reproduce-build -set -g __fish_spack_optspecs_spack_ci_reproduce_build h/help working-dir= +set -g __fish_spack_optspecs_spack_ci_reproduce_build h/help runtime= working-dir= s/autostart gpg-file= gpg-url= complete -c spack -n '__fish_spack_using_command_pos 0 ci reproduce-build' -f complete -c spack -n '__fish_spack_using_command ci reproduce-build' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command ci reproduce-build' -s h -l help -d 'show this help message and exit' +complete -c spack -n '__fish_spack_using_command ci reproduce-build' -l runtime -r -f -a 'docker podman' +complete -c spack -n '__fish_spack_using_command ci reproduce-build' -l runtime -r -d 'Container runtime to use.' complete -c spack -n '__fish_spack_using_command ci reproduce-build' -l working-dir -r -f -a working_dir complete -c spack -n '__fish_spack_using_command ci reproduce-build' -l working-dir -r -d 'where to unpack artifacts' +complete -c spack -n '__fish_spack_using_command ci reproduce-build' -s s -l autostart -f -a autostart +complete -c spack -n '__fish_spack_using_command ci reproduce-build' -s s -l autostart -d 'Run docker reproducer automatically' +complete -c spack -n '__fish_spack_using_command ci reproduce-build' -l gpg-file -r -f -a gpg_file +complete -c spack -n '__fish_spack_using_command ci reproduce-build' -l gpg-file -r -d 'Path to public GPG key for validating binary cache installs' +complete -c spack -n '__fish_spack_using_command ci reproduce-build' -l gpg-url -r -f -a gpg_url +complete -c spack -n '__fish_spack_using_command ci reproduce-build' -l gpg-url -r -d 'URL to public GPG key for validating binary cache installs' # spack clean set -g __fish_spack_optspecs_spack_clean h/help s/stage d/downloads f/failures m/misc-cache p/python-cache b/bootstrap a/all -- cgit v1.2.3-60-g2f50