mirror of https://github.com/YosysHQ/yosys.git
92 lines
2.9 KiB
YAML
92 lines
2.9 KiB
YAML
name: Build environment setup
|
|
description: Configure build env for Yosys builds
|
|
|
|
inputs:
|
|
runs-on:
|
|
required: true
|
|
type: string
|
|
get-build-deps:
|
|
description: 'Install Yosys build dependencies'
|
|
default: false
|
|
required: false
|
|
type: boolean
|
|
get-docs-deps:
|
|
description: 'Install Yosys docs dependencies'
|
|
default: false
|
|
required: false
|
|
type: boolean
|
|
get-test-deps:
|
|
description: 'Install Yosys test dependencies'
|
|
default: false
|
|
required: false
|
|
type: boolean
|
|
get-iverilog:
|
|
description: 'Install iverilog'
|
|
default: false
|
|
required: false
|
|
type: boolean
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
# if updating common/build/docs dependencies, make sure to update README.md
|
|
# and docs/source/getting_started/installation.rst to match.
|
|
- name: Linux common dependencies
|
|
if: runner.os == 'Linux'
|
|
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
|
|
with:
|
|
packages: gawk git make python3
|
|
version: ${{ inputs.runs-on }}-commonys
|
|
|
|
- name: Linux build dependencies
|
|
if: runner.os == 'Linux' && inputs.get-build-deps == 'true'
|
|
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
|
|
with:
|
|
packages: bison clang flex libboost-filesystem-dev libboost-python-dev libboost-system-dev libbz2-dev libffi-dev libfl-dev libreadline-dev pkg-config tcl-dev zlib1g-dev
|
|
version: ${{ inputs.runs-on }}-buildys
|
|
|
|
- name: Linux docs dependencies
|
|
if: runner.os == 'Linux' && inputs.get-docs-deps == 'true'
|
|
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
|
|
with:
|
|
packages: graphviz xdot
|
|
version: ${{ inputs.runs-on }}-docsys
|
|
|
|
# if updating test dependencies, make sure to update
|
|
# docs/source/yosys_internals/extending_yosys/test_suites.rst to match.
|
|
- name: Linux test dependencies
|
|
if: runner.os == 'Linux' && inputs.get-test-deps == 'true'
|
|
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
|
|
with:
|
|
packages: libgtest-dev
|
|
version: ${{ inputs.runs-on }}-testys
|
|
|
|
- name: Install macOS Dependencies
|
|
if: runner.os == 'macOS'
|
|
shell: bash
|
|
run: |
|
|
brew bundle
|
|
|
|
- name: Linux runtime environment
|
|
if: runner.os == 'Linux'
|
|
shell: bash
|
|
run: |
|
|
echo "${{ github.workspace }}/.local/bin" >> $GITHUB_PATH
|
|
echo "procs=$(nproc)" >> $GITHUB_ENV
|
|
|
|
- name: macOS runtime environment
|
|
if: runner.os == 'macOS'
|
|
shell: bash
|
|
run: |
|
|
echo "${{ github.workspace }}/.local/bin" >> $GITHUB_PATH
|
|
echo "$(brew --prefix llvm@20)/bin" >> $GITHUB_PATH
|
|
echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
|
|
echo "$(brew --prefix flex)/bin" >> $GITHUB_PATH
|
|
echo "procs=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV
|
|
|
|
- name: Setup iverilog
|
|
if: inputs.get-iverilog == 'true'
|
|
uses: ./.github/actions/setup-iverilog
|
|
with:
|
|
runs-on: ${{ inputs.runs-on }}
|