CI: run separate job for each plugin
diff --git a/.github/workflows/build-and-test.sh b/.github/workflows/build-and-test.sh index 7d0401e..70741a5 100755 --- a/.github/workflows/build-and-test.sh +++ b/.github/workflows/build-and-test.sh
@@ -19,12 +19,17 @@ source .github/workflows/common.sh +if [ -z "${PLUGIN_NAME}" ]; then + echo "Missing \${PLUGIN_NAME} env value" + exit 1 +fi + ########################################################################## start_section Building export CXXFLAGS=-Werror -make UHDM_INSTALL_DIR=`pwd`/env/conda/envs/yosys-plugins/ plugins -j`nproc` +make UHDM_INSTALL_DIR=`pwd`/env/conda/envs/yosys-plugins/ ${PLUGIN_NAME}.so -j`nproc` unset CXXFLAGS end_section @@ -32,19 +37,19 @@ ########################################################################## start_section Installing -make install -j`nproc` +make install_${PLUGIN_NAME} -j`nproc` end_section ########################################################################## start_section Testing -make test -j`nproc` +make test_${PLUGIN_NAME} -j`nproc` end_section ########################################################################## start_section Cleanup -make plugins_clean -j`nproc` +make clean_${PLUGIN_NAME} -j`nproc` end_section ##########################################################################
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4ab1814..1ab44d1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml
@@ -23,6 +23,22 @@ Run-tests: runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + plugin: + - fasm + - xdc + - params + - sdc + - ql-iob + - design_introspection + - integrateinv + - ql-qlf + - systemverilog + - uhdm + - dsp-ff + steps: - uses: actions/checkout@v2 @@ -61,3 +77,4 @@ source .github/workflows/build-and-test.sh env: OS: ${{ runner.os }} + PLUGIN_NAME: ${{ matrix.plugin }}