diff --git a/.github/scripts/build-examples.sh b/.github/scripts/build-examples.sh index 98eee1e..2f6dd93 100755 --- a/.github/scripts/build-examples.sh +++ b/.github/scripts/build-examples.sh @@ -46,110 +46,52 @@ fpga_family=$1 shift examples="$@" -if [ "$fpga_family" == "xc7" -a -z "$examples" ]; then - examples="counter picosoc litex litex_linux litex_sata button_controller timer pulse_width_led hello-a" -elif [ "$fpga_family" == "eos-s3" -a -z "$examples" ]; then - examples="counter" +if [ -z "$examples" ]; then +case "$fpga_family" in + xc7) examples="counter picosoc litex litex_linux litex_sata button_controller timer pulse_width_led hello-a" ;; + eos-s3) examples="counter" ;; +esac fi - # activate conda and enter example dir activate_env="docs/building-examples.rst:export-install-dir,fpga-fam-$fpga_family,conda-prep-env-$fpga_family,f4pga-env-bin,f4pga-env-share-$fpga_family,conda-act-env" snippets="${activate_env},enter-dir-$fpga_family" -additionalDesigns="${activate_env},enter-dir-$fpga_family" +case "$fpga_family" in + xc7) for example in $examples; do + case $example in + "counter") tuttest_exec ${snippets} xc7/counter_test/README.rst:example-counter-*-group ;; + "picosoc") tuttest_exec ${snippets} xc7/picosoc_demo/README.rst:example-picosoc-*-group ;; + "litex") tuttest_exec ${snippets} xc7/litex_demo/README.rst:example-litex-dir,example-litex-req,example-litex_picorv32-*-group,example-litex_vexriscv-*-group ;; + "litex_linux") tuttest_exec ${snippets} xc7/linux_litex_demo/README.rst:example-litex-*-group ;; + "litex_sata") tuttest_exec ${snippets} xc7/litex_sata_demo/README.rst:example-litex-sata-*-group ;; -# Xilinx 7-Series examples -if [ "$fpga_family" = "xc7" ]; then - for example in $examples; do - case $example in - "counter") - snippets="${snippets} xc7/counter_test/README.rst:example-counter-*-group" - ;; - "picosoc") - snippets="${snippets} xc7/picosoc_demo/README.rst:example-picosoc-*-group" - ;; - "litex") - snippets="${snippets} xc7/litex_demo/README.rst:example-litex-dir,example-litex-req,example-litex_picorv32-*-group,example-litex_vexriscv-*-group" - ;; - "litex_linux") - snippets="${snippets} xc7/linux_litex_demo/README.rst:example-litex-*-group" - ;; - "litex_sata") - snippets="${snippets} xc7/litex_sata_demo/README.rst:example-litex-sata-*-group" - ;; + #Additional examples: + "button_controller") tuttest_exec ${activate_env},enter-dir-$fpga_family xc7/additional_examples/button_controller/README.rst:additional-examples,example-debouncer-basys3 ;; + "pulse_width_led") tuttest_exec ${snippets} xc7/pulse_width_led/README.rst:example-pulse-arty-35t ;; + "timer") tuttest_exec ${snippets} xc7/timer/README.rst:example-watch-basys3 ;; - #Additional examples: - "button_controller") - snippets="${additionalDesigns} xc7/additional_examples/button_controller/README.rst:additional-examples,example-debouncer-basys3" - ;; - "pulse_width_led") - snippets="${snippets} xc7/pulse_width_led/README.rst:example-pulse-arty-35t" - ;; - "timer") - snippets="${snippets} xc7/timer/README.rst:example-watch-basys3" - ;; - - # Project F examples - "hello-a") - snippets="${activate_env} projf-makefiles/hello/hello-arty/A/README.rst:hello-arty-a" - ;; - "hello-b") - snippets="${activate_env} projf-makefiles/hello/hello-arty/B/README.rst:hello-arty-b" - ;; - "hello-c") - snippets="${activate_env} projf-makefiles/hello/hello-arty/C/README.rst:hello-arty-c" - ;; - "hello-d") - snippets="${activate_env} projf-makefiles/hello/hello-arty/D/README.rst:hello-arty-d" - ;; - "hello-e") - snippets="${activate_env} projf-makefiles/hello/hello-arty/E/README.rst:hello-arty-e" - ;; - "hello-f") - snippets="${activate_env} projf-makefiles/hello/hello-arty/F/README.rst:hello-arty-f" - ;; - "hello-g") - snippets="${activate_env} projf-makefiles/hello/hello-arty/G/README.rst:hello-arty-g" - ;; - "hello-h") - snippets="${activate_env} projf-makefiles/hello/hello-arty/H/README.rst:hello-arty-h" - ;; - "hello-i") - snippets="${activate_env} projf-makefiles/hello/hello-arty/I/README.rst:hello-arty-i" - ;; - "hello-j") - snippets="${activate_env} projf-makefiles/hello/hello-arty/J/README.rst:hello-arty-j" - ;; - "hello-k") - snippets="${activate_env} projf-makefiles/hello/hello-arty/K/README.rst:hello-arty-k" - ;; - "hello-l") - snippets="${activate_env} projf-makefiles/hello/hello-arty/L/README.rst:hello-arty-l" - ;; - *) - echo "ERROR: Unknown example name: $example" >&2 - exit 1 - ;; - esac - done -# QuickLogic EOS-S3 examples -elif [ "$fpga_family" = "eos-s3" ]; then - for example in $examples; do - case $example in - "counter") - snippets="${snippets} eos-s3/btn_counter/README.rst:eos-s3-counter" - ;; - *) - echo "ERROR: Unknown example name: $example" >&2 - exit 1 - ;; - esac - done -else - echo "ERROR: Unknown fpga_family: $fpga_family" >&2 - exit 1 -fi - -# call tuttest -tuttest_exec ${snippets} + # Project F examples + "hello") for helloexample in A B C D E F G H I J; do + tuttest_exec ${activate_env} projf-makefiles/hello/hello-arty/${helloexample}/README.rst:hello-arty-${helloexample,,} + done ;; + "hello-k") for helloexample in K L; do + tuttest_exec ${activate_env} projf-makefiles/hello/hello-arty/${helloexample}/README.rst:hello-arty-${helloexample,,} + done ;; + *) echo "ERROR: Unknown example name: $example" >&2 + exit 1 ;; + esac + done + ;; + eos-s3) for example in $examples; do + case $example in + "counter") tuttest_exec ${snippets} eos-s3/btn_counter/README.rst:eos-s3-counter ;; + *) echo "ERROR: Unknown example name: $example" >&2 + exit 1 ;; + esac + done + ;; + *) echo "ERROR: Unknown fpga_family: $fpga_family" >&2 + exit 1 + ;; +esac diff --git a/.github/scripts/generate_job_matrices.py b/.github/scripts/generate_job_matrices.py index 5af44c5..18436d0 100755 --- a/.github/scripts/generate_job_matrices.py +++ b/.github/scripts/generate_job_matrices.py @@ -34,16 +34,7 @@ def get_jobs( ): examples = [ "pulse_width_led", - "hello-a", - "hello-b", - "hello-c", - "hello-d", - "hello-e", - "hello-f", - "hello-g", - "hello-h", - "hello-i", - "hello-j", + "hello", ] # Skip tests that are currently unsupported @@ -55,7 +46,6 @@ def get_jobs( "button_controller", "timer", "hello-k", - "hello-l" ]) jobs = []