name: doc-test on: workflow_call: inputs: distribution: description: 'Distribution to execute tests on' required: true type: string jobs: Matrix: runs-on: ubuntu-latest outputs: matrix: ${{ steps.generate.outputs.matrix }} surelog-matrix: ${{ steps.generate-surelog.outputs.matrix }} steps: - name: Setup repository uses: actions/checkout@v3 - name: Generate examples matrix id: generate run: >- F4PGA_EXAMPLES_DISTRIBUTION='${{ inputs.distribution }}' ./.github/scripts/generate_job_matrix.py '${{ github.repository }}' Test: needs: Matrix strategy: fail-fast: false matrix: include: ${{ fromJson(needs.Matrix.outputs.matrix) }} runs-on: ${{ matrix.runs-on }} name: ${{ matrix.os-version }} | ${{ matrix.name }} | ${{ matrix.fpga-fam }} | ${{ matrix.example }} env: LANG: "en_US.UTF-8" DEBIAN_FRONTEND: "noninteractive" GHA_PREEMPTIBLE: "false" SURELOG_CMD: ${{ matrix.surelog }} container: ${{matrix.os}}:${{matrix.os-version}} steps: - name: Setup repository uses: actions/checkout@v3 with: submodules: recursive - name: Install utils run: | case ${{ matrix.os }} in ubuntu|debian) apt -qqy update && apt -qqy install git wget locales && locale-gen $LANG ;; centos) yum -y install git wget ;; fedora) dnf install -y git wget ;; esac - name: Install tuttest run: | wget https://github.com/antmicro/tuttest/releases/download/v0.2-beta/tuttest -O /usr/bin/tuttest chmod a+rx /usr/bin/tuttest - name: Install F4PGA toolchain run: bash .github/scripts/install-toolchain.sh ${{matrix.fpga-fam}} ${{matrix.os}} - name: Build examples run: bash .github/scripts/build-examples.sh ${{matrix.fpga-fam}} ${{matrix.example}} - uses: actions/upload-artifact@v3 with: name: f4pga-examples-bitstreams-${{ matrix.name }} path: '**/*.bit' - uses: actions/upload-artifact@v3 with: name: f4pga-examples-plots-${{ matrix.name }} path: '**/plot_*.svg'