From bcf16c04bd6b31591e953ee15e47afe5241bdc58 Mon Sep 17 00:00:00 2001 From: hathach Date: Sun, 24 Jan 2021 01:28:56 +0700 Subject: enable ci for rp2040 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f1732027f..b9e5d4f38 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,7 +29,7 @@ jobs: family: - 'imxrt' - 'nrf' - #- 'rp2040' + - 'rp2040' - 'samd21' - 'samd51' - 'stm32f4' -- cgit v1.3.1 From c2b0083f0aaa234fbcb237bc223d8bf89ee1b212 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 25 Jan 2021 12:49:04 +0700 Subject: change msp430 caching, use url for cache key --- .github/workflows/build.yml | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b9e5d4f38..62b4a95b6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -94,22 +94,33 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v1 + - name: Checkout TinyUSB + uses: actions/checkout@v2 + with: + submodules: 'true' + + - name: Checkout Sub-Submodules + run: | + # some submodule has it own submodules that need to be fetched as well + git submodule update --init --recursive hw/mcu/microchip + git submodule update --init --recursive lib/FreeRTOS + + # Add MSP430 URL to env + echo >> $GITHUB_ENV MSP430GCC_URL=http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2 + - name: Cache MSP430 Toolchain uses: actions/cache@v2 id: cache-msp430 with: - path: /tmp/dl/ + path: $HOME/msp430-gcc/ # Increment gcc version number at end when updating downloads - key: ${{ runner.os }}-msp430-9.2.0.50 + key: ${{ runner.os }}-${{ env.MSP430GCC_URL }} - name: Install MSP430 Toolchain if: steps.cache-msp430.outputs.cache-hit != 'true' - env: - MSP430GCC_URL: http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2 run: | - mkdir -p /tmp/dl/ - [ -f "/tmp/dl/msp430-gcc.tar.bz2" ] || wget --progress=dot:mega $MSP430GCC_URL -O /tmp/dl/msp430-gcc.tar.bz2 - tar -C $HOME -xaf /tmp/dl/msp430-gcc.tar.bz2 + wget --progress=dot:mega $MSP430GCC_URL -O msp430-gcc.tar.bz2 + tar -C $HOME/msp430-gcc -xaf msp430-gcc.tar.bz2 - name: Install Toolchains run: | @@ -121,18 +132,7 @@ jobs: echo `echo $HOME/opt/xPacks/@xpack-dev-tools/riscv-none-embed-gcc/*/.content/bin` >> $GITHUB_PATH # TI MSP430 GCC - echo `echo $HOME/msp430-gcc-*_linux64/bin` >> $GITHUB_PATH - - - name: Checkout TinyUSB - uses: actions/checkout@v2 - with: - submodules: 'true' - - - name: Checkout Sub-Submodules - run: | - # some submodule has it own submodules that need to be fetched as well - git submodule update --init --recursive hw/mcu/microchip - git submodule update --init --recursive lib/FreeRTOS + echo `echo $HOME/msp430-gcc/msp430-gcc-*_linux64/bin` >> $GITHUB_PATH - name: Build run: python3 tools/build_board.py ${{ matrix.example }} -- cgit v1.3.1 From 0fe0757657925c892360b1102cc2f6b4ca9e7a03 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 25 Jan 2021 12:53:24 +0700 Subject: correct msp430 cache --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) (limited to '.github/workflows') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 62b4a95b6..3d37b7509 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -120,6 +120,7 @@ jobs: if: steps.cache-msp430.outputs.cache-hit != 'true' run: | wget --progress=dot:mega $MSP430GCC_URL -O msp430-gcc.tar.bz2 + mkdir -p $HOME/msp430-gcc tar -C $HOME/msp430-gcc -xaf msp430-gcc.tar.bz2 - name: Install Toolchains -- cgit v1.3.1 From 8bec3be68cd37e945a4ccd62951d09dc114bcbdb Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 25 Jan 2021 13:46:23 +0700 Subject: try fixing msp430 cache --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3d37b7509..cabb8f593 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -112,9 +112,9 @@ jobs: uses: actions/cache@v2 id: cache-msp430 with: - path: $HOME/msp430-gcc/ + path: ${{ env.HOME }}/msp430-gcc/ # Increment gcc version number at end when updating downloads - key: ${{ runner.os }}-${{ env.MSP430GCC_URL }} + key: ${{ runner.os }}-${{ env.MSP430GCC_URL }}-210125 - name: Install MSP430 Toolchain if: steps.cache-msp430.outputs.cache-hit != 'true' -- cgit v1.3.1 From 066d268007780c30e77f75588f29625cc62e5295 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 25 Jan 2021 15:38:29 +0700 Subject: try to cache all toolchains to speed up ci --- .github/workflows/build.yml | 61 ++++++++++++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 23 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cabb8f593..928eab819 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -105,35 +105,50 @@ jobs: git submodule update --init --recursive hw/mcu/microchip git submodule update --init --recursive lib/FreeRTOS - # Add MSP430 URL to env - echo >> $GITHUB_ENV MSP430GCC_URL=http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2 + - name: Pre-Install Toolchain + run: | + # Add Toolchain URL to env + echo >> $GITHUB_ENV ARM_GCC_URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 + echo >> $GITHUB_ENV MSP430_GCC_URL=http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2 + echo >> $GITHUB_ENV RISCV_GCC_URL=https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.08/riscv64-unknown-elf-gcc-10.1.0-2020.08.2-x86_64-linux-ubuntu14.tar.gz - - name: Cache MSP430 Toolchain + - name: Cache Toolchain uses: actions/cache@v2 - id: cache-msp430 + id: cache-toolchain with: - path: ${{ env.HOME }}/msp430-gcc/ - # Increment gcc version number at end when updating downloads - key: ${{ runner.os }}-${{ env.MSP430GCC_URL }}-210125 + path: ${{ HOME }}/cache/ + key: ${{ runner.os }}-21-01-25-${{ env.ARM_GCC_URL }}-${{ env.RISCV_GCC_URL }}-${{ env.MSP430_GCC_URL }} - - name: Install MSP430 Toolchain + - name: Install Toolchain if: steps.cache-msp430.outputs.cache-hit != 'true' run: | - wget --progress=dot:mega $MSP430GCC_URL -O msp430-gcc.tar.bz2 - mkdir -p $HOME/msp430-gcc - tar -C $HOME/msp430-gcc -xaf msp430-gcc.tar.bz2 - - - name: Install Toolchains - run: | - # ARM & RISC-V GCC from xpack - npm install --global xpm - xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@latest - xpm install --global @xpack-dev-tools/riscv-none-embed-gcc@latest - echo `echo $HOME/opt/xPacks/@xpack-dev-tools/arm-none-eabi-gcc/*/.content/bin` >> $GITHUB_PATH - echo `echo $HOME/opt/xPacks/@xpack-dev-tools/riscv-none-embed-gcc/*/.content/bin` >> $GITHUB_PATH - - # TI MSP430 GCC - echo `echo $HOME/msp430-gcc/msp430-gcc-*_linux64/bin` >> $GITHUB_PATH + # ARM GCC + mkdir -p $HOME/cache/arm-gcc + wget --progress=dot:mega $ARM_GCC_URL -O arm-gcc.tar.bz2 + tar -C $HOME/cache/arm-gcc -xaf arm-gcc.tar.bz2 + + # MSP430 GCC + mkdir -p $HOME/cache/msp430-gcc + wget --progress=dot:mega $MSP430_GCC_URL -O msp430-gcc.tar.bz2 + tar -C $HOME/cache/msp430-gcc -xaf msp430-gcc.tar.bz2 + + # RISC-V GCC + mkdir -p $HOME/cache/riscv-gcc + wget --progress=dot:mega $RISCV_GCC_URL -O riscv-gcc.tar.gz + tar -C $HOME/cache/riscv-gcc -xaf riscv-gcc.tar.gz + + - name: Post-Install Toolchains + run: | + ls $HOME/cache/* + + # ARM + echo >> $GITHUB_PATH `echo $HOME/cache/arm-gcc/gcc-arm-none-eabi-*/bin` + + # MSP430 + echo >> $GITHUB_PATH `echo $HOME/cache/msp430-gcc/msp430-gcc-*/bin` + + # RISC-V + echo >> $GITHUB_PATH `echo $HOME/cache/riscv-gcc/riscv64-*/bin` - name: Build run: python3 tools/build_board.py ${{ matrix.example }} -- cgit v1.3.1 From 8820aa8715b962d80bfde678ba879517abe48957 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 25 Jan 2021 15:42:06 +0700 Subject: fix ci --- .github/workflows/build.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 928eab819..99dd26c8c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -116,39 +116,39 @@ jobs: uses: actions/cache@v2 id: cache-toolchain with: - path: ${{ HOME }}/cache/ + path: ~/cache/ key: ${{ runner.os }}-21-01-25-${{ env.ARM_GCC_URL }}-${{ env.RISCV_GCC_URL }}-${{ env.MSP430_GCC_URL }} - name: Install Toolchain if: steps.cache-msp430.outputs.cache-hit != 'true' run: | # ARM GCC - mkdir -p $HOME/cache/arm-gcc + mkdir -p ~/cache/arm-gcc wget --progress=dot:mega $ARM_GCC_URL -O arm-gcc.tar.bz2 - tar -C $HOME/cache/arm-gcc -xaf arm-gcc.tar.bz2 + tar -C ~/cache/arm-gcc -xaf arm-gcc.tar.bz2 # MSP430 GCC - mkdir -p $HOME/cache/msp430-gcc + mkdir -p ~/cache/msp430-gcc wget --progress=dot:mega $MSP430_GCC_URL -O msp430-gcc.tar.bz2 - tar -C $HOME/cache/msp430-gcc -xaf msp430-gcc.tar.bz2 + tar -C ~/cache/msp430-gcc -xaf msp430-gcc.tar.bz2 # RISC-V GCC - mkdir -p $HOME/cache/riscv-gcc + mkdir -p ~/cache/riscv-gcc wget --progress=dot:mega $RISCV_GCC_URL -O riscv-gcc.tar.gz - tar -C $HOME/cache/riscv-gcc -xaf riscv-gcc.tar.gz + tar -C ~/cache/riscv-gcc -xaf riscv-gcc.tar.gz - name: Post-Install Toolchains run: | - ls $HOME/cache/* + ls ~/cache/* # ARM - echo >> $GITHUB_PATH `echo $HOME/cache/arm-gcc/gcc-arm-none-eabi-*/bin` + echo >> $GITHUB_PATH `echo ~/cache/arm-gcc/gcc-arm-none-eabi-*/bin` # MSP430 - echo >> $GITHUB_PATH `echo $HOME/cache/msp430-gcc/msp430-gcc-*/bin` + echo >> $GITHUB_PATH `echo ~/cache/msp430-gcc/msp430-gcc-*/bin` # RISC-V - echo >> $GITHUB_PATH `echo $HOME/cache/riscv-gcc/riscv64-*/bin` + echo >> $GITHUB_PATH `echo ~/cache/riscv-gcc/riscv64-*/bin` - name: Build run: python3 tools/build_board.py ${{ matrix.example }} -- cgit v1.3.1 From 2a3bb7867970fdb5b384c21dbae16120b1f7ef68 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 25 Jan 2021 15:55:58 +0700 Subject: change riscv toolchain to xpack --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 99dd26c8c..c56feec70 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -110,7 +110,7 @@ jobs: # Add Toolchain URL to env echo >> $GITHUB_ENV ARM_GCC_URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 echo >> $GITHUB_ENV MSP430_GCC_URL=http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2 - echo >> $GITHUB_ENV RISCV_GCC_URL=https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.08/riscv64-unknown-elf-gcc-10.1.0-2020.08.2-x86_64-linux-ubuntu14.tar.gz + echo >> $GITHUB_ENV RISCV_GCC_URL=https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/download/v10.1.0-1.1/xpack-riscv-none-embed-gcc-10.1.0-1.1-linux-x64.tar.gz - name: Cache Toolchain uses: actions/cache@v2 @@ -148,7 +148,7 @@ jobs: echo >> $GITHUB_PATH `echo ~/cache/msp430-gcc/msp430-gcc-*/bin` # RISC-V - echo >> $GITHUB_PATH `echo ~/cache/riscv-gcc/riscv64-*/bin` + echo >> $GITHUB_PATH `echo ~/cache/riscv-gcc/xpack-riscv-*/bin` - name: Build run: python3 tools/build_board.py ${{ matrix.example }} -- cgit v1.3.1 From 314c82b2ecc0898bbb031de6c69141aab575cdd7 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 25 Jan 2021 16:11:18 +0700 Subject: more with toolchain cache --- .github/workflows/build.yml | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c56feec70..2fa504fc9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,12 +41,30 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v1 - - name: Install Toolchains + - name: Pre-Install Toolchain run: | - # ARM GCC from xpack - npm install --global xpm - xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@latest - echo `echo $HOME/opt/xPacks/@xpack-dev-tools/arm-none-eabi-gcc/*/.content/bin` >> $GITHUB_PATH + # Add Toolchain URL to env + echo >> $GITHUB_ENV ARM_GCC_URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 + + - name: Cache Toolchain + uses: actions/cache@v2 + id: cache-toolchain + with: + path: ~/cache/ + key: ${{ runner.os }}-21-01-26-${{ env.ARM_GCC_URL }} + + - name: Install Toolchain + if: steps.cache-toolchain.outputs.cache-hit != 'true' + run: | + # ARM GCC + mkdir -p ~/cache/arm-gcc + wget --progress=dot:mega $ARM_GCC_URL -O arm-gcc.tar.bz2 + tar -C ~/cache/arm-gcc -xaf arm-gcc.tar.bz2 + + - name: Post-Install Toolchains + run: | + # ARM + echo >> $GITHUB_PATH `echo ~/cache/arm-gcc/gcc-arm-none-eabi-*/bin` - name: Checkout TinyUSB uses: actions/checkout@v2 @@ -117,10 +135,10 @@ jobs: id: cache-toolchain with: path: ~/cache/ - key: ${{ runner.os }}-21-01-25-${{ env.ARM_GCC_URL }}-${{ env.RISCV_GCC_URL }}-${{ env.MSP430_GCC_URL }} + key: ${{ runner.os }}-21-01-26-${{ env.ARM_GCC_URL }}-${{ env.RISCV_GCC_URL }}-${{ env.MSP430_GCC_URL }} - name: Install Toolchain - if: steps.cache-msp430.outputs.cache-hit != 'true' + if: steps.cache-toolchain.outputs.cache-hit != 'true' run: | # ARM GCC mkdir -p ~/cache/arm-gcc -- cgit v1.3.1 From 6e027b1c4b454a573c6bcb9599d016d98bb6d05a Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 25 Jan 2021 16:42:00 +0700 Subject: revert ci cache toolchain, use xpack for armgcc and risv since there is only 30s in difference --- .github/workflows/build.yml | 73 +++++++++++++-------------------------------- 1 file changed, 20 insertions(+), 53 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2fa504fc9..bf1c63d3f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,30 +41,12 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v1 - - name: Pre-Install Toolchain + - name: Install Toolchains run: | - # Add Toolchain URL to env - echo >> $GITHUB_ENV ARM_GCC_URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 - - - name: Cache Toolchain - uses: actions/cache@v2 - id: cache-toolchain - with: - path: ~/cache/ - key: ${{ runner.os }}-21-01-26-${{ env.ARM_GCC_URL }} - - - name: Install Toolchain - if: steps.cache-toolchain.outputs.cache-hit != 'true' - run: | - # ARM GCC - mkdir -p ~/cache/arm-gcc - wget --progress=dot:mega $ARM_GCC_URL -O arm-gcc.tar.bz2 - tar -C ~/cache/arm-gcc -xaf arm-gcc.tar.bz2 - - - name: Post-Install Toolchains - run: | - # ARM - echo >> $GITHUB_PATH `echo ~/cache/arm-gcc/gcc-arm-none-eabi-*/bin` + # ARM GCC from xpack + npm install --global xpm + xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@latest + echo `echo $HOME/opt/xPacks/@xpack-dev-tools/arm-none-eabi-gcc/*/.content/bin` >> $GITHUB_PATH - name: Checkout TinyUSB uses: actions/checkout@v2 @@ -123,50 +105,35 @@ jobs: git submodule update --init --recursive hw/mcu/microchip git submodule update --init --recursive lib/FreeRTOS - - name: Pre-Install Toolchain - run: | - # Add Toolchain URL to env - echo >> $GITHUB_ENV ARM_GCC_URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 + # Add msp430-gcc url to env echo >> $GITHUB_ENV MSP430_GCC_URL=http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2 - echo >> $GITHUB_ENV RISCV_GCC_URL=https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/download/v10.1.0-1.1/xpack-riscv-none-embed-gcc-10.1.0-1.1-linux-x64.tar.gz - - name: Cache Toolchain + - name: Cache MSP430-GCC uses: actions/cache@v2 - id: cache-toolchain + id: cache-msp430 with: path: ~/cache/ - key: ${{ runner.os }}-21-01-26-${{ env.ARM_GCC_URL }}-${{ env.RISCV_GCC_URL }}-${{ env.MSP430_GCC_URL }} + key: ${{ runner.os }}-21-01-26-${{ env.MSP430_GCC_URL }} - - name: Install Toolchain - if: steps.cache-toolchain.outputs.cache-hit != 'true' + - name: Install MSP430-GCC + if: steps.cache-msp430.outputs.cache-hit != 'true' run: | - # ARM GCC - mkdir -p ~/cache/arm-gcc - wget --progress=dot:mega $ARM_GCC_URL -O arm-gcc.tar.bz2 - tar -C ~/cache/arm-gcc -xaf arm-gcc.tar.bz2 - # MSP430 GCC mkdir -p ~/cache/msp430-gcc wget --progress=dot:mega $MSP430_GCC_URL -O msp430-gcc.tar.bz2 tar -C ~/cache/msp430-gcc -xaf msp430-gcc.tar.bz2 - # RISC-V GCC - mkdir -p ~/cache/riscv-gcc - wget --progress=dot:mega $RISCV_GCC_URL -O riscv-gcc.tar.gz - tar -C ~/cache/riscv-gcc -xaf riscv-gcc.tar.gz - - - name: Post-Install Toolchains - run: | - ls ~/cache/* + - name: Install Toolchains + run: | + # ARM & RISC-V GCC from xpack + npm install --global xpm + xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@latest + xpm install --global @xpack-dev-tools/riscv-none-embed-gcc@latest + echo `echo $HOME/opt/xPacks/@xpack-dev-tools/arm-none-eabi-gcc/*/.content/bin` >> $GITHUB_PATH + echo `echo $HOME/opt/xPacks/@xpack-dev-tools/riscv-none-embed-gcc/*/.content/bin` >> $GITHUB_PATH - # ARM - echo >> $GITHUB_PATH `echo ~/cache/arm-gcc/gcc-arm-none-eabi-*/bin` - - # MSP430 + # TI MSP430 GCC echo >> $GITHUB_PATH `echo ~/cache/msp430-gcc/msp430-gcc-*/bin` - - # RISC-V - echo >> $GITHUB_PATH `echo ~/cache/riscv-gcc/xpack-riscv-*/bin` - name: Build run: python3 tools/build_board.py ${{ matrix.example }} -- cgit v1.3.1