You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			110 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
			
		
		
	
	
			110 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
| name: 'test'
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|   pull_request:
 | |
|   schedule:
 | |
|     - cron: '0 0 * * 5'
 | |
|   workflow_dispatch:
 | |
| 
 | |
| jobs:
 | |
| 
 | |
|   build:
 | |
|     runs-on: ubuntu-latest
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         backend:
 | |
|         - llvm
 | |
|         - gcc
 | |
|     container: ghdl/vunit:${{ matrix.backend }}
 | |
|     steps:
 | |
|     - uses: actions/checkout@v2
 | |
|     - run: make GNATMAKE='gnatmake -j'$(nproc)
 | |
| 
 | |
|   py:
 | |
|     needs: [build]
 | |
|     runs-on: ubuntu-latest
 | |
|     container: ghdl/vunit:llvm
 | |
|     steps:
 | |
|     - uses: actions/checkout@v2
 | |
|     - run: |
 | |
|         apt update
 | |
|         apt install -y python3-pexpect
 | |
|         make -j$(nproc) test_micropython test_micropython_long        
 | |
| 
 | |
|   test:
 | |
|     needs: [build]
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       max-parallel: 3
 | |
|       matrix:
 | |
|         task: [
 | |
|           "tests_console",
 | |
|           "{1..99}",
 | |
|           "{100..199}",
 | |
|           "{200..299}",
 | |
|           "{300..399}",
 | |
|           "{400..499}",
 | |
|           "{500..599}",
 | |
|           "{600..699}",
 | |
|           "{700..799}",
 | |
|           "{800..899}",
 | |
|           "{900..999}",
 | |
|         ]
 | |
|     runs-on: ubuntu-latest
 | |
|     container: ghdl/vunit:llvm
 | |
|     steps:
 | |
|     - uses: actions/checkout@v2
 | |
|     - run: bash -c "make -j$(nproc) ${{ matrix.task }}"
 | |
| 
 | |
|   VUnit:
 | |
|     needs: [build]
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|     - uses: actions/checkout@v2
 | |
|     - uses: docker://ghdl/vunit:llvm
 | |
|       with:
 | |
|         args: python3 ./run.py -p10
 | |
| 
 | |
|   symbiflow:
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       max-parallel: 2
 | |
|       matrix:
 | |
|         task: [ ECP5-EVN, ORANGE-CRAB, ORANGE-CRAB-0.21 ]
 | |
|     runs-on: ubuntu-latest
 | |
|     env:
 | |
|       DOCKER: 1
 | |
|       FPGA_TARGET: ${{matrix.task}}
 | |
|     steps:
 | |
|     - uses: actions/checkout@v2
 | |
|     - run: make microwatt.json
 | |
|     - run: make microwatt.bit
 | |
|     - run: make microwatt.svf
 | |
|     - uses: actions/upload-artifact@v2
 | |
|       with:
 | |
|         name: ${{matrix.task}}-bitstream
 | |
|         path: microwatt.svf
 | |
| 
 | |
| # test building verilog target from yosys/nextpnr
 | |
|   verilog:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|     - uses: actions/checkout@v2
 | |
|     - run: make DOCKER=1 microwatt.v
 | |
| 
 | |
|   verilator:
 | |
|     runs-on: ubuntu-latest
 | |
|     env:
 | |
|       DOCKER: 1
 | |
|       FPGA_TARGET: verilator
 | |
|       RAM_INIT_FILE: micropython/firmware.hex
 | |
|       MEMORY_SIZE: 524288
 | |
|     steps:
 | |
|     - uses: actions/checkout@v2
 | |
|     - run: |
 | |
|         sudo apt update
 | |
|         sudo apt install -y python3-pexpect
 | |
|         make -j$(nproc) test_micropython_verilator test_micropython_verilator_long        
 |