3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-11-03 13:07:58 +00:00

CI: Split dependency setup

Split into common + build/docs/test (common always installs, build/docs/test are installed as requested with `build-*-deps` input flag).
This commit is contained in:
Krystine Sherwin 2025-11-01 14:29:58 +13:00
parent dcc24edd9a
commit 1c4d2f7790
No known key found for this signature in database
5 changed files with 52 additions and 6 deletions

View file

@ -5,6 +5,21 @@ 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
@ -14,13 +29,34 @@ inputs:
runs:
using: composite
steps:
- name: Install Linux Dependencies
- name: Linux common dependencies
if: runner.os == 'Linux'
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
with:
packages: gperf build-essential bison flex libfl-dev libreadline-dev gawk tcl-dev libffi-dev git graphviz xdot pkg-config python3 libboost-system-dev libboost-python-dev libboost-filesystem-dev zlib1g-dev libbz2-dev libgtest-dev
packages: autoconf 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
- name: Linux test dependencies
if: runner.os == 'Linux' && inputs.get-test-deps == 'true'
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
with:
packages: gawk libgtest-dev
version: ${{ inputs.runs-on }}-testys
- name: Install macOS Dependencies
if: runner.os == 'macOS'
shell: bash

View file

@ -10,8 +10,11 @@ jobs:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Install deps
run: sudo apt-get install bison flex libfl-dev libreadline-dev tcl-dev libffi-dev
- name: Setup environment
uses: ./.github/actions/setup-build-env
with:
runs-on: ubuntu-latest
get-build-deps: true
- name: Checkout repository
uses: actions/checkout@v4

View file

@ -62,6 +62,7 @@ jobs:
uses: ./.github/actions/setup-build-env
with:
runs-on: ${{ matrix.os }}
get-build-deps: true
- name: Build
shell: bash
@ -109,7 +110,8 @@ jobs:
uses: ./.github/actions/setup-build-env
with:
runs-on: ${{ matrix.os }}
setup-iverilog: true
get-test-deps: true
get-iverilog: true
- name: Download build artifact
uses: actions/download-artifact@v4
@ -196,6 +198,8 @@ jobs:
uses: ./.github/actions/setup-build-env
with:
runs-on: ${{ matrix.os }}
get-build-deps: true
get-docs-deps: true
- name: Download build artifact
uses: actions/download-artifact@v4

View file

@ -62,6 +62,7 @@ jobs:
uses: ./.github/actions/setup-build-env
with:
runs-on: ${{ matrix.os }}
get-build-deps: true
- name: Setup Cpp
uses: aminya/setup-cpp@v1

View file

@ -46,7 +46,9 @@ jobs:
uses: ./.github/actions/setup-build-env
with:
runs-on: ${{ matrix.os }}
setup-iverilog: true
get-build-deps: true
get-test-deps: true
get-iverilog: true
- name: Build
shell: bash