mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-03 21:09:12 +00:00 
			
		
		
		
	ci: expanded the macOS tests suite to cover more compilers and C++ versions
This commit is contained in:
		
							parent
							
								
									ff31af6d72
								
							
						
					
					
						commit
						1e7ba922e5
					
				
					 1 changed files with 157 additions and 0 deletions
				
			
		
							
								
								
									
										157
									
								
								.github/workflows/test-macos.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										157
									
								
								.github/workflows/test-macos.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,157 @@
 | 
			
		|||
name: Build and run tests (macOS)
 | 
			
		||||
 | 
			
		||||
on: [push, pull_request]
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  test-macos:
 | 
			
		||||
    runs-on: ${{ matrix.os.id }}
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        os:
 | 
			
		||||
          - { id: macos-10.15, name: Catalina }
 | 
			
		||||
          - { id: macos-11, name: 'Big Sur' }
 | 
			
		||||
        cpp_std:
 | 
			
		||||
          - 'c++11'
 | 
			
		||||
          - 'c++14'
 | 
			
		||||
          - 'c++17'
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Install Dependencies
 | 
			
		||||
        run: |
 | 
			
		||||
          brew install bison gawk libffi pkg-config bash
 | 
			
		||||
 | 
			
		||||
      - name: Runtime environment
 | 
			
		||||
        shell: bash
 | 
			
		||||
        env:
 | 
			
		||||
          WORKSPACE: ${{ github.workspace }}
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GITHUB_WORKSPACE=`pwd`" >> $GITHUB_ENV
 | 
			
		||||
          echo "$GITHUB_WORKSPACE/.local/bin" >> $GITHUB_PATH
 | 
			
		||||
          echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
 | 
			
		||||
          echo "procs=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV
 | 
			
		||||
 | 
			
		||||
      - name: Tool versions
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          cc --version
 | 
			
		||||
 | 
			
		||||
      - name: Checkout Yosys
 | 
			
		||||
        uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - name: Get iverilog
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          git clone git://github.com/steveicarus/iverilog.git
 | 
			
		||||
 | 
			
		||||
      - name: Cache iverilog
 | 
			
		||||
        id: cache-iverilog
 | 
			
		||||
        uses: actions/cache@v2
 | 
			
		||||
        with:
 | 
			
		||||
          path: .local/
 | 
			
		||||
          key: ${{ matrix.os.id }}-${{ hashFiles('iverilog/.git/refs/heads/master') }}
 | 
			
		||||
 | 
			
		||||
      - name: Build iverilog
 | 
			
		||||
        if: steps.cache-iverilog.outputs.cache-hit != 'true'
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          mkdir -p $GITHUB_WORKSPACE/.local/
 | 
			
		||||
          cd iverilog
 | 
			
		||||
          autoconf
 | 
			
		||||
          CC=gcc CXX=g++ ./configure --prefix=$GITHUB_WORKSPACE/.local/
 | 
			
		||||
          make -j${{ env.procs }}
 | 
			
		||||
          make install
 | 
			
		||||
 | 
			
		||||
      - name: Build yosys
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          make config-clang
 | 
			
		||||
          make -j${{ env.procs }} CXXSTD=${{ matrix.cpp_std }} CC=cc CXX=cc LD=cc
 | 
			
		||||
 | 
			
		||||
      - name: Run tests
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          make -j${{ env.procs }} test CXXSTD=${{ matrix.cpp_std }} CC=cc CXX=cc LD=cc
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  test-macos-homebrew:
 | 
			
		||||
    runs-on: ${{ matrix.os.id }}
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        os:
 | 
			
		||||
          - { id: macos-10.15, name: Catalina }
 | 
			
		||||
        cpp_std:
 | 
			
		||||
          - 'c++11'
 | 
			
		||||
          - 'c++14'
 | 
			
		||||
          - 'c++17'
 | 
			
		||||
        compiler:
 | 
			
		||||
          - gcc@10
 | 
			
		||||
          - gcc
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Install Dependencies
 | 
			
		||||
        run: |
 | 
			
		||||
          brew install bison gawk libffi pkg-config bash
 | 
			
		||||
 | 
			
		||||
      - name: Runtime environment
 | 
			
		||||
        shell: bash
 | 
			
		||||
        env:
 | 
			
		||||
          WORKSPACE: ${{ github.workspace }}
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "GITHUB_WORKSPACE=`pwd`" >> $GITHUB_ENV
 | 
			
		||||
          echo "$GITHUB_WORKSPACE/.local/bin" >> $GITHUB_PATH
 | 
			
		||||
          echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
 | 
			
		||||
          echo "procs=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV
 | 
			
		||||
 | 
			
		||||
      - name: Setup compiler
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          brew install ${{ matrix.compiler }}
 | 
			
		||||
          CC=${COMPILER/@/-}
 | 
			
		||||
          CXX=${CC/#gcc/g++}
 | 
			
		||||
          echo "CC=$CC" >> $GITHUB_ENV
 | 
			
		||||
          echo "CXX=$CXX" >> $GITHUB_ENV
 | 
			
		||||
        env:
 | 
			
		||||
          COMPILER: ${{ matrix.compiler }}
 | 
			
		||||
 | 
			
		||||
      - name: Tool versions
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          $CC --version
 | 
			
		||||
          $CXX --version
 | 
			
		||||
 | 
			
		||||
      - name: Checkout Yosys
 | 
			
		||||
        uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - name: Get iverilog
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          git clone git://github.com/steveicarus/iverilog.git
 | 
			
		||||
 | 
			
		||||
      - name: Cache iverilog
 | 
			
		||||
        id: cache-iverilog-homebrew
 | 
			
		||||
        uses: actions/cache@v2
 | 
			
		||||
        with:
 | 
			
		||||
          path: .local/
 | 
			
		||||
          key: ${{ matrix.os.id }}-homebrew-${{ hashFiles('iverilog/.git/refs/heads/master') }}
 | 
			
		||||
 | 
			
		||||
      - name: Build iverilog
 | 
			
		||||
        if: steps.cache-iverilog.outputs.cache-hit != 'true'
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          mkdir -p $GITHUB_WORKSPACE/.local
 | 
			
		||||
          cd iverilog
 | 
			
		||||
          autoconf
 | 
			
		||||
          CC=gcc CXX=g++ ./configure --prefix=$GITHUB_WORKSPACE/.local
 | 
			
		||||
          make -j${{ env.procs }}
 | 
			
		||||
          make install
 | 
			
		||||
 | 
			
		||||
      - name: Build yosys
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          make config-gcc
 | 
			
		||||
          make -j${{ env.procs }} CXXSTD=${{ matrix.cpp_std }} CC=$CC CXX=$CC LD=$CC
 | 
			
		||||
 | 
			
		||||
      - name: Run tests
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          make -j${{ env.procs }} test CXXSTD=${{ matrix.cpp_std }} CC=$CC CXX=$CC LD=$CC
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue