mirror of
https://github.com/YosysHQ/yosys
synced 2025-11-05 13:56:04 +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:
parent
dcc24edd9a
commit
1c4d2f7790
5 changed files with 52 additions and 6 deletions
40
.github/actions/setup-build-env/action.yml
vendored
40
.github/actions/setup-build-env/action.yml
vendored
|
|
@ -5,6 +5,21 @@ inputs:
|
||||||
runs-on:
|
runs-on:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
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:
|
get-iverilog:
|
||||||
description: 'Install iverilog'
|
description: 'Install iverilog'
|
||||||
default: false
|
default: false
|
||||||
|
|
@ -14,13 +29,34 @@ inputs:
|
||||||
runs:
|
runs:
|
||||||
using: composite
|
using: composite
|
||||||
steps:
|
steps:
|
||||||
- name: Install Linux Dependencies
|
- name: Linux common dependencies
|
||||||
if: runner.os == 'Linux'
|
if: runner.os == 'Linux'
|
||||||
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
|
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
|
||||||
with:
|
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
|
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
|
- name: Install macOS Dependencies
|
||||||
if: runner.os == 'macOS'
|
if: runner.os == 'macOS'
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
||||||
7
.github/workflows/codeql.yml
vendored
7
.github/workflows/codeql.yml
vendored
|
|
@ -10,8 +10,11 @@ jobs:
|
||||||
name: Analyze
|
name: Analyze
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Install deps
|
- name: Setup environment
|
||||||
run: sudo apt-get install bison flex libfl-dev libreadline-dev tcl-dev libffi-dev
|
uses: ./.github/actions/setup-build-env
|
||||||
|
with:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
get-build-deps: true
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
|
||||||
6
.github/workflows/test-build.yml
vendored
6
.github/workflows/test-build.yml
vendored
|
|
@ -62,6 +62,7 @@ jobs:
|
||||||
uses: ./.github/actions/setup-build-env
|
uses: ./.github/actions/setup-build-env
|
||||||
with:
|
with:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
get-build-deps: true
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
@ -109,7 +110,8 @@ jobs:
|
||||||
uses: ./.github/actions/setup-build-env
|
uses: ./.github/actions/setup-build-env
|
||||||
with:
|
with:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
setup-iverilog: true
|
get-test-deps: true
|
||||||
|
get-iverilog: true
|
||||||
|
|
||||||
- name: Download build artifact
|
- name: Download build artifact
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
|
|
@ -196,6 +198,8 @@ jobs:
|
||||||
uses: ./.github/actions/setup-build-env
|
uses: ./.github/actions/setup-build-env
|
||||||
with:
|
with:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
get-build-deps: true
|
||||||
|
get-docs-deps: true
|
||||||
|
|
||||||
- name: Download build artifact
|
- name: Download build artifact
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
|
|
|
||||||
1
.github/workflows/test-compile.yml
vendored
1
.github/workflows/test-compile.yml
vendored
|
|
@ -62,6 +62,7 @@ jobs:
|
||||||
uses: ./.github/actions/setup-build-env
|
uses: ./.github/actions/setup-build-env
|
||||||
with:
|
with:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
get-build-deps: true
|
||||||
|
|
||||||
- name: Setup Cpp
|
- name: Setup Cpp
|
||||||
uses: aminya/setup-cpp@v1
|
uses: aminya/setup-cpp@v1
|
||||||
|
|
|
||||||
4
.github/workflows/test-sanitizers.yml
vendored
4
.github/workflows/test-sanitizers.yml
vendored
|
|
@ -46,7 +46,9 @@ jobs:
|
||||||
uses: ./.github/actions/setup-build-env
|
uses: ./.github/actions/setup-build-env
|
||||||
with:
|
with:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
setup-iverilog: true
|
get-build-deps: true
|
||||||
|
get-test-deps: true
|
||||||
|
get-iverilog: true
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue