From 861cca83978f51fca3efd98e0e4b4ba261c490c7 Mon Sep 17 00:00:00 2001 From: Unai Martinez-Corral Date: Wed, 3 Aug 2022 03:21:24 +0200 Subject: [PATCH] ci/scripts: cleanup Signed-off-by: Unai Martinez-Corral --- .github/scripts/build-examples.sh | 46 +++++++++------------------- .github/scripts/common.sh | 22 ------------- .github/scripts/install-toolchain.sh | 27 ++++------------ docs/building-examples.rst | 9 ++---- 4 files changed, 22 insertions(+), 82 deletions(-) delete mode 100644 .github/scripts/common.sh diff --git a/.github/scripts/build-examples.sh b/.github/scripts/build-examples.sh index 5e84a2c8..82bdfcef 100755 --- a/.github/scripts/build-examples.sh +++ b/.github/scripts/build-examples.sh @@ -18,30 +18,12 @@ set -e -CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -source ${CURRENT_DIR}/common.sh - -# -- validate input ---------------------------------------------------------- - -function help() { - echo - echo "Build examples from the repository" - echo - echo "Syntax: $0 fpga_family [examples]..." - echo "Arguments:" - echo " fpga_family - A supported FPGA family" - echo " examples - A name of an available example" - echo -} - if [[ ! $# -ge 1 ]]; then - echo "Invalid number of arguments!" - help + echo "ERROR: Invalid number of arguments!" >&2 + echo "Please, provide: path/to/build-examples.sh ..." >&2 exit 1 fi -# -- tuttest ----------------------------------------------------------------- - fpga_family=$1 shift @@ -54,29 +36,29 @@ esac fi # activate conda and enter example dir -activate_env="docs/building-examples.rst:export-install-dir,fpga-fam-$fpga_family,conda-prep-env,f4pga-env-bin,f4pga-env-share-$fpga_family,conda-act-env" +activate_env="docs/building-examples.rst:export-install-dir,fpga-fam-$fpga_family,conda-env" snippets="${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 ;; + "counter") tuttest ${snippets} xc7/counter_test/README.rst:example-counter-*-group ;; + "picosoc") tuttest ${snippets} xc7/picosoc_demo/README.rst:example-picosoc-*-group ;; + "litex") tuttest ${snippets} xc7/litex_demo/README.rst:example-litex-dir,example-litex-req,example-litex_picorv32-*-group,example-litex_vexriscv-*-group ;; + "litex_linux") tuttest ${snippets} xc7/linux_litex_demo/README.rst:example-litex-*-group ;; + "litex_sata") tuttest ${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 ;; + "button_controller") tuttest ${snippets} xc7/additional_examples/button_controller/README.rst:additional-examples,example-debouncer-basys3 ;; + "pulse_width_led") tuttest ${snippets} xc7/pulse_width_led/README.rst:example-pulse-arty-35t ;; + "timer") tuttest ${snippets} xc7/timer/README.rst:example-watch-basys3 ;; # 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,,} + tuttest ${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,,} + tuttest ${activate_env} projf-makefiles/hello/hello-arty/${helloexample}/README.rst:hello-arty-${helloexample,,} done ;; *) echo "ERROR: Unknown example name: $example" >&2 exit 1 ;; @@ -85,7 +67,7 @@ case "$fpga_family" in ;; eos-s3) for example in $examples; do case $example in - "counter") tuttest_exec ${snippets} eos-s3/btn_counter/README.rst:eos-s3-counter ;; + "counter") tuttest ${snippets} eos-s3/btn_counter/README.rst:eos-s3-counter ;; *) echo "ERROR: Unknown example name: $example" >&2 exit 1 ;; esac diff --git a/.github/scripts/common.sh b/.github/scripts/common.sh deleted file mode 100644 index 50d690cf..00000000 --- a/.github/scripts/common.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -# -# Copyright 2020-2022 F4PGA Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -function tuttest_exec() { - echo -e "\e[93mExecuting tuttest $@\e[39m" - (echo "trap 'printf \"+ %s\\n\" \"\$BASH_COMMAND\" >&2' DEBUG"; tuttest "$@") | bash -e - -} diff --git a/.github/scripts/install-toolchain.sh b/.github/scripts/install-toolchain.sh index 356fc79c..ab07d41d 100755 --- a/.github/scripts/install-toolchain.sh +++ b/.github/scripts/install-toolchain.sh @@ -18,31 +18,16 @@ set -e -CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -source ${CURRENT_DIR}/common.sh - -# -- validate input ----------------------------------------------------------- - -function help() { - echo - echo "Install the F4PGA toolchain as described in the sphinx documentation" - echo - echo "Syntax: $0 fpga_family os" - echo "Arguments:" - echo " fpga_family - A supported FPGA family" - echo " os - A supported operating system" - echo -} - if [[ ! $# -eq 2 ]]; then - echo "ERROR: Invalid number of arguments" >&2 - help >&2 + echo "ERROR: Two arguments are required!" >&2 + echo "Please, provide: path/to/install-toolchain.sh " >&2 exit 1 fi -# -- tuttest ------------------------------------------------------------------ - +# A supported FPGA family fpga_family=$1 + +# A supported operating system os=$2 -tuttest_exec docs/getting.rst:install-reqs-$os,wget-conda,conda-install-dir,fpga-fam-$fpga_family,env-setup +tuttest "docs/getting.rst:install-reqs-$os,wget-conda,conda-install-dir,fpga-fam-$fpga_family,env-setup" diff --git a/docs/building-examples.rst b/docs/building-examples.rst index c15734d5..c5b2af06 100644 --- a/docs/building-examples.rst +++ b/docs/building-examples.rst @@ -29,19 +29,14 @@ Select your FPGA family: FPGA_FAM="eos-s3" -Next, prepare the environment: +Next, prepare and activate the environment: .. code-block:: bash - :name: conda-prep-env + :name: conda-env export PATH="$F4PGA_INSTALL_DIR/$FPGA_FAM/install/bin:$PATH"; source "$F4PGA_INSTALL_DIR/$FPGA_FAM/conda/etc/profile.d/conda.sh" -Finally, enter your working Conda environment: - -.. code-block:: bash - :name: conda-act-env - conda activate $FPGA_FAM .. tip::