From b62e8432681337ed6d4a31d4c5b897458d0edde1 Mon Sep 17 00:00:00 2001 From: umarcor Date: Tue, 19 Oct 2021 23:43:29 +0200 Subject: [PATCH 1/3] ci: generate job matrix through a Python script Signed-off-by: umarcor --- .github/workflows/sphinx-tuttest.yml | 184 +++++++++++++++------------ 1 file changed, 103 insertions(+), 81 deletions(-) diff --git a/.github/workflows/sphinx-tuttest.yml b/.github/workflows/sphinx-tuttest.yml index 9691302..fa99bf9 100644 --- a/.github/workflows/sphinx-tuttest.yml +++ b/.github/workflows/sphinx-tuttest.yml @@ -7,92 +7,114 @@ on: - cron: "0 0 * * *" jobs: - test: + + + Matrix: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.generate.outputs.matrix }} + + steps: + + - name: Setup repository + uses: actions/checkout@v2 + + - name: Generate examples matrix + id: generate + shell: python + run: | + print('::set-output name=matrix::' + str([ + {'fpga-fam': "eos-s3", 'os': "ubuntu", 'os-version': "xenial", 'example': "counter"}, + {'fpga-fam': "eos-s3", 'os': "ubuntu", 'os-version': "bionic", 'example': "counter"}, + {'fpga-fam': "eos-s3", 'os': "ubuntu", 'os-version': "focal", 'example': "counter"}, + {'fpga-fam': "eos-s3", 'os': "centos", 'os-version': "7", 'example': "counter"}, + {'fpga-fam': "eos-s3", 'os': "centos", 'os-version': "8", 'example': "counter"}, + {'fpga-fam': "eos-s3", 'os': "debian", 'os-version': "buster", 'example': "counter"}, + {'fpga-fam': "eos-s3", 'os': "debian", 'os-version': "bullseye", 'example': "counter"}, + {'fpga-fam': "eos-s3", 'os': "debian", 'os-version': "sid", 'example': "counter"}, + + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "counter"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "counter"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "counter"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "counter"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "counter"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "counter"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "counter"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "counter"}, + + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "picosoc"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "picosoc"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "picosoc"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "picosoc"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "picosoc"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "picosoc"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "picosoc"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "picosoc"}, + + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "litex"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "litex"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "litex"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "litex"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "litex"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "litex"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "litex"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "litex"}, + + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "litex_linux"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "litex_linux"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "litex_linux"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "litex_linux"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "litex_linux"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "litex_linux"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "litex_linux"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "litex_linux"}, + + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "button_controller"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "button_controller"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "button_controller"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "button_controller"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "button_controller"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "button_controller"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "button_controller"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "button_controller"}, + + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "pulse_width_led"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "pulse_width_led"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "pulse_width_led"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "pulse_width_led"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "pulse_width_led"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "pulse_width_led"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "pulse_width_led"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "pulse_width_led"}, + + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "timer"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "timer"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "timer"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "timer"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "timer"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "timer"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "timer"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "timer"}, + + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "hello-a"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "hello-a"}, + {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "hello-a"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "hello-a"}, + {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "hello-a"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "hello-a"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "hello-a"}, + {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "hello-a"}, + ])) + + + Test: + needs: Matrix runs-on: [self-hosted, Linux, X64] strategy: fail-fast: false matrix: - include: - - {fpga-fam: "eos-s3", os: "ubuntu", os-version: "xenial", example: "counter"} - - {fpga-fam: "eos-s3", os: "ubuntu", os-version: "bionic", example: "counter"} - - {fpga-fam: "eos-s3", os: "ubuntu", os-version: "focal", example: "counter"} - - {fpga-fam: "eos-s3", os: "centos", os-version: "7", example: "counter"} - - {fpga-fam: "eos-s3", os: "centos", os-version: "8", example: "counter"} - - {fpga-fam: "eos-s3", os: "debian", os-version: "buster", example: "counter"} - - {fpga-fam: "eos-s3", os: "debian", os-version: "bullseye", example: "counter"} - - {fpga-fam: "eos-s3", os: "debian", os-version: "sid", example: "counter"} + include: ${{ fromJson(needs.Matrix.outputs.matrix) }} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "xenial", example: "counter"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "bionic", example: "counter"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "focal", example: "counter"} - - {fpga-fam: "xc7", os: "centos", os-version: "7", example: "counter"} - - {fpga-fam: "xc7", os: "centos", os-version: "8", example: "counter"} - - {fpga-fam: "xc7", os: "debian", os-version: "buster", example: "counter"} - - {fpga-fam: "xc7", os: "debian", os-version: "bullseye", example: "counter"} - - {fpga-fam: "xc7", os: "debian", os-version: "sid", example: "counter"} - - - {fpga-fam: "xc7", os: "ubuntu", os-version: "xenial", example: "picosoc"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "bionic", example: "picosoc"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "focal", example: "picosoc"} - - {fpga-fam: "xc7", os: "centos", os-version: "7", example: "picosoc"} - - {fpga-fam: "xc7", os: "centos", os-version: "8", example: "picosoc"} - - {fpga-fam: "xc7", os: "debian", os-version: "buster", example: "picosoc"} - - {fpga-fam: "xc7", os: "debian", os-version: "bullseye", example: "picosoc"} - - {fpga-fam: "xc7", os: "debian", os-version: "sid", example: "picosoc"} - - - {fpga-fam: "xc7", os: "ubuntu", os-version: "xenial", example: "litex"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "bionic", example: "litex"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "focal", example: "litex"} - - {fpga-fam: "xc7", os: "centos", os-version: "7", example: "litex"} - - {fpga-fam: "xc7", os: "centos", os-version: "8", example: "litex"} - - {fpga-fam: "xc7", os: "debian", os-version: "buster", example: "litex"} - - {fpga-fam: "xc7", os: "debian", os-version: "bullseye", example: "litex"} - - {fpga-fam: "xc7", os: "debian", os-version: "sid", example: "litex"} - - - {fpga-fam: "xc7", os: "ubuntu", os-version: "xenial", example: "litex_linux"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "bionic", example: "litex_linux"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "focal", example: "litex_linux"} - - {fpga-fam: "xc7", os: "centos", os-version: "7", example: "litex_linux"} - - {fpga-fam: "xc7", os: "centos", os-version: "8", example: "litex_linux"} - - {fpga-fam: "xc7", os: "debian", os-version: "buster", example: "litex_linux"} - - {fpga-fam: "xc7", os: "debian", os-version: "bullseye", example: "litex_linux"} - - {fpga-fam: "xc7", os: "debian", os-version: "sid", example: "litex_linux"} - - - {fpga-fam: "xc7", os: "ubuntu", os-version: "xenial", example: "button_controller"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "bionic", example: "button_controller"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "focal", example: "button_controller"} - - {fpga-fam: "xc7", os: "centos", os-version: "7", example: "button_controller"} - - {fpga-fam: "xc7", os: "centos", os-version: "8", example: "button_controller"} - - {fpga-fam: "xc7", os: "debian", os-version: "buster", example: "button_controller"} - - {fpga-fam: "xc7", os: "debian", os-version: "bullseye", example: "button_controller"} - - {fpga-fam: "xc7", os: "debian", os-version: "sid", example: "button_controller"} - - - {fpga-fam: "xc7", os: "ubuntu", os-version: "xenial", example: "pulse_width_led"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "bionic", example: "pulse_width_led"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "focal", example: "pulse_width_led"} - - {fpga-fam: "xc7", os: "centos", os-version: "7", example: "pulse_width_led"} - - {fpga-fam: "xc7", os: "centos", os-version: "8", example: "pulse_width_led"} - - {fpga-fam: "xc7", os: "debian", os-version: "buster", example: "pulse_width_led"} - - {fpga-fam: "xc7", os: "debian", os-version: "bullseye", example: "pulse_width_led"} - - {fpga-fam: "xc7", os: "debian", os-version: "sid", example: "pulse_width_led"} - - - {fpga-fam: "xc7", os: "ubuntu", os-version: "xenial", example: "timer"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "bionic", example: "timer"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "focal", example: "timer"} - - {fpga-fam: "xc7", os: "centos", os-version: "7", example: "timer"} - - {fpga-fam: "xc7", os: "centos", os-version: "8", example: "timer"} - - {fpga-fam: "xc7", os: "debian", os-version: "buster", example: "timer"} - - {fpga-fam: "xc7", os: "debian", os-version: "bullseye", example: "timer"} - - {fpga-fam: "xc7", os: "debian", os-version: "sid", example: "timer"} - - - {fpga-fam: "xc7", os: "ubuntu", os-version: "xenial", example: "hello-a"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "bionic", example: "hello-a"} - - {fpga-fam: "xc7", os: "ubuntu", os-version: "focal", example: "hello-a"} - - {fpga-fam: "xc7", os: "centos", os-version: "7", example: "hello-a"} - - {fpga-fam: "xc7", os: "centos", os-version: "8", example: "hello-a"} - - {fpga-fam: "xc7", os: "debian", os-version: "buster", example: "hello-a"} - - {fpga-fam: "xc7", os: "debian", os-version: "bullseye", example: "hello-a"} - - {fpga-fam: "xc7", os: "debian", os-version: "sid", example: "hello-a"} env: LANG: "en_US.UTF-8" DEBIAN_FRONTEND: "noninteractive" From 42937545d5a7e2fadf75fbbdda3128798104174d Mon Sep 17 00:00:00 2001 From: umarcor Date: Wed, 20 Oct 2021 00:00:11 +0200 Subject: [PATCH 2/3] ci: generate the matrix using for loops and list comprehension Signed-off-by: umarcor --- .github/workflows/sphinx-tuttest.yml | 118 ++++++++------------------- 1 file changed, 35 insertions(+), 83 deletions(-) diff --git a/.github/workflows/sphinx-tuttest.yml b/.github/workflows/sphinx-tuttest.yml index fa99bf9..27c7c14 100644 --- a/.github/workflows/sphinx-tuttest.yml +++ b/.github/workflows/sphinx-tuttest.yml @@ -16,95 +16,47 @@ jobs: steps: - - name: Setup repository - uses: actions/checkout@v2 - - name: Generate examples matrix id: generate shell: python run: | - print('::set-output name=matrix::' + str([ - {'fpga-fam': "eos-s3", 'os': "ubuntu", 'os-version': "xenial", 'example': "counter"}, - {'fpga-fam': "eos-s3", 'os': "ubuntu", 'os-version': "bionic", 'example': "counter"}, - {'fpga-fam': "eos-s3", 'os': "ubuntu", 'os-version': "focal", 'example': "counter"}, - {'fpga-fam': "eos-s3", 'os': "centos", 'os-version': "7", 'example': "counter"}, - {'fpga-fam': "eos-s3", 'os': "centos", 'os-version': "8", 'example': "counter"}, - {'fpga-fam': "eos-s3", 'os': "debian", 'os-version': "buster", 'example': "counter"}, - {'fpga-fam': "eos-s3", 'os': "debian", 'os-version': "bullseye", 'example': "counter"}, - {'fpga-fam': "eos-s3", 'os': "debian", 'os-version': "sid", 'example': "counter"}, + examples = [ + "counter", + "picosoc", + "litex", + "litex_linux", + "button_controller", + "pulse_width_led", + "timer", + "hello-a" + ] + osvers = [ + ("ubuntu", "xenial"), + ("ubuntu", "bionic"), + ("ubuntu", "focal"), + ("centos", "7"), + ("centos", "8"), + ("debian", "buster"), + ("debian", "bullseye"), + ("debian", "sid") + ] + jobs = [] + for osver in osvers: + jobs += [{ + 'fpga-fam': "xc7", + 'os': osver[0], + 'os-version': osver[1], + 'example': example + } for example in examples] - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "counter"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "counter"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "counter"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "counter"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "counter"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "counter"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "counter"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "counter"}, + jobs += [{ + 'fpga-fam': "eos-s3", + 'os': osver[0], + 'os-version': osver[1], + 'example': "counter" + } for osver in osvers] - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "picosoc"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "picosoc"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "picosoc"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "picosoc"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "picosoc"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "picosoc"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "picosoc"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "picosoc"}, - - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "litex"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "litex"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "litex"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "litex"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "litex"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "litex"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "litex"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "litex"}, - - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "litex_linux"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "litex_linux"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "litex_linux"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "litex_linux"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "litex_linux"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "litex_linux"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "litex_linux"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "litex_linux"}, - - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "button_controller"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "button_controller"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "button_controller"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "button_controller"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "button_controller"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "button_controller"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "button_controller"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "button_controller"}, - - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "pulse_width_led"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "pulse_width_led"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "pulse_width_led"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "pulse_width_led"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "pulse_width_led"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "pulse_width_led"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "pulse_width_led"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "pulse_width_led"}, - - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "timer"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "timer"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "timer"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "timer"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "timer"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "timer"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "timer"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "timer"}, - - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "xenial", 'example': "hello-a"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "bionic", 'example': "hello-a"}, - {'fpga-fam': "xc7", 'os': "ubuntu", 'os-version': "focal", 'example': "hello-a"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "7", 'example': "hello-a"}, - {'fpga-fam': "xc7", 'os': "centos", 'os-version': "8", 'example': "hello-a"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "buster", 'example': "hello-a"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "bullseye", 'example': "hello-a"}, - {'fpga-fam': "xc7", 'os': "debian", 'os-version': "sid", 'example': "hello-a"}, - ])) + print('::set-output name=matrix::' + str(jobs)) Test: From 34e623421469ff35675c5c79e1f7227b613ff288 Mon Sep 17 00:00:00 2001 From: umarcor Date: Wed, 20 Oct 2021 00:05:37 +0200 Subject: [PATCH 3/3] ci: move matrix generation script to a file Signed-off-by: umarcor --- .github/scripts/generate_job_matrix.py | 42 +++++++++++++++++++++++++ .github/workflows/sphinx-tuttest.yml | 43 +++----------------------- 2 files changed, 46 insertions(+), 39 deletions(-) create mode 100755 .github/scripts/generate_job_matrix.py diff --git a/.github/scripts/generate_job_matrix.py b/.github/scripts/generate_job_matrix.py new file mode 100755 index 0000000..a610921 --- /dev/null +++ b/.github/scripts/generate_job_matrix.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 + +examples = [ + "counter", + "picosoc", + "litex", + "litex_linux", + "button_controller", + "pulse_width_led", + "timer", + "hello-a" +] + +jobs = [] + +osvers = [ + ("ubuntu", "xenial"), + ("ubuntu", "bionic"), + ("ubuntu", "focal"), + ("centos", "7"), + ("centos", "8"), + ("debian", "buster"), + ("debian", "bullseye"), + ("debian", "sid") +] + +for osver in osvers: + jobs += [{ + 'fpga-fam': "xc7", + 'os': osver[0], + 'os-version': osver[1], + 'example': example + } for example in examples] + +jobs += [{ + 'fpga-fam': "eos-s3", + 'os': osver[0], + 'os-version': osver[1], + 'example': "counter" +} for osver in osvers] + +print('::set-output name=matrix::' + str(jobs)) diff --git a/.github/workflows/sphinx-tuttest.yml b/.github/workflows/sphinx-tuttest.yml index 27c7c14..6451517 100644 --- a/.github/workflows/sphinx-tuttest.yml +++ b/.github/workflows/sphinx-tuttest.yml @@ -16,47 +16,12 @@ jobs: steps: + - name: Setup repository + uses: actions/checkout@v2 + - name: Generate examples matrix id: generate - shell: python - run: | - examples = [ - "counter", - "picosoc", - "litex", - "litex_linux", - "button_controller", - "pulse_width_led", - "timer", - "hello-a" - ] - osvers = [ - ("ubuntu", "xenial"), - ("ubuntu", "bionic"), - ("ubuntu", "focal"), - ("centos", "7"), - ("centos", "8"), - ("debian", "buster"), - ("debian", "bullseye"), - ("debian", "sid") - ] - jobs = [] - for osver in osvers: - jobs += [{ - 'fpga-fam': "xc7", - 'os': osver[0], - 'os-version': osver[1], - 'example': example - } for example in examples] - - jobs += [{ - 'fpga-fam': "eos-s3", - 'os': osver[0], - 'os-version': osver[1], - 'example': "counter" - } for osver in osvers] - - print('::set-output name=matrix::' + str(jobs)) + run: ./.github/scripts/generate_job_matrix.py Test: