Merge branch 'master' into dependabot/submodules/vtr-verilog-to-routing-4834fd0

This commit is contained in:
tangxifan 2022-11-04 22:10:39 -07:00 committed by GitHub
commit 243704c089
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 35 additions and 30 deletions

View File

@ -22,7 +22,7 @@ env:
jobs: jobs:
change_detect: change_detect:
name: "Detect code changes" name: "Detect code changes"
runs-on: ubuntu-18.04 runs-on: ubuntu-20.04
outputs: outputs:
# this is output as string, see https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idoutputs # this is output as string, see https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idoutputs
source_modified: ${{ steps.changes.outputs.status_code == '1' }} source_modified: ${{ steps.changes.outputs.status_code == '1' }}
@ -67,7 +67,7 @@ jobs:
needs: change_detect needs: change_detect
if: ${{ fromJSON(needs.change_detect.outputs.source_modified) }} if: ${{ fromJSON(needs.change_detect.outputs.source_modified) }}
name: ${{ matrix.config.name }} name: ${{ matrix.config.name }}
runs-on: ubuntu-18.04 runs-on: ubuntu-20.04
# Note: dependencies are installed in the container. See details about dependency list in docker/Dockerfile.master # Note: dependencies are installed in the container. See details about dependency list in docker/Dockerfile.master
# Comment the line out when base image is built again # Comment the line out when base image is built again
#container: ghcr.io/${{ needs.change_detect.outputs.docker_repo }}/openfpga-build-${{ matrix.config.cc}} #container: ghcr.io/${{ needs.change_detect.outputs.docker_repo }}/openfpga-build-${{ matrix.config.cc}}
@ -76,31 +76,31 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
config: config:
- name: "Build Compatibility: GCC-7 (Ubuntu 18.04)" - name: "Build Compatibility: GCC-7 (Ubuntu 20.04)"
cc: gcc-7 cc: gcc-7
cxx: g++-7 cxx: g++-7
- name: "Build Compatibility: GCC-8 (Ubuntu 18.04)" - name: "Build Compatibility: GCC-8 (Ubuntu 20.04)"
cc: gcc-8 cc: gcc-8
cxx: g++-8 cxx: g++-8
- name: "Build Compatibility: GCC-9 (Ubuntu 18.04)" - name: "Build Compatibility: GCC-9 (Ubuntu 20.04)"
cc: gcc-9 cc: gcc-9
cxx: g++-9 cxx: g++-9
- name: "Build Compatibility: GCC-10 (Ubuntu 18.04)" - name: "Build Compatibility: GCC-10 (Ubuntu 20.04)"
cc: gcc-10 cc: gcc-10
cxx: g++-10 cxx: g++-10
- name: "Build Compatibility: GCC-11 (Ubuntu 18.04)" - name: "Build Compatibility: GCC-11 (Ubuntu 20.04)"
cc: gcc-11 cc: gcc-11
cxx: g++-11 cxx: g++-11
- name: "Build Compatibility: Clang-6 (Ubuntu 18.04)" - name: "Build Compatibility: Clang-6 (Ubuntu 20.04)"
cc: clang-6.0 cc: clang-6.0
cxx: clang++-6.0 cxx: clang++-6.0
- name: "Build Compatibility: Clang-7 (Ubuntu 18.04)" - name: "Build Compatibility: Clang-7 (Ubuntu 20.04)"
cc: clang-7 cc: clang-7
cxx: clang++-7 cxx: clang++-7
- name: "Build Compatibility: Clang-8 (Ubuntu 18.04)" - name: "Build Compatibility: Clang-8 (Ubuntu 20.04)"
cc: clang-8 cc: clang-8
cxx: clang++-8 cxx: clang++-8
- name: "Build Compatibility: Clang-10 (Ubuntu 18.04)" - name: "Build Compatibility: Clang-10 (Ubuntu 20.04)"
cc: clang-10 cc: clang-10
cxx: clang++-10 cxx: clang++-10
# Define the steps to run the build job # Define the steps to run the build job
@ -119,7 +119,7 @@ jobs:
submodules: true submodules: true
- name: Install dependencies - name: Install dependencies
run: ./.github/workflows/install_dependencies_build.sh run: sudo bash ./.github/workflows/install_dependencies_build.sh
- name: Dump tool versions - name: Dump tool versions
run: | run: |
@ -200,7 +200,7 @@ jobs:
submodules: true submodules: true
- name: Install dependencies - name: Install dependencies
run: ./.github/workflows/install_dependencies_build.sh run: sudo bash ./.github/workflows/install_dependencies_build.sh
- name: Dump tool versions - name: Dump tool versions
run: | run: |
@ -217,7 +217,7 @@ jobs:
docker_distribution: docker_distribution:
name: Build docker image for distribution name: Build docker image for distribution
runs-on: ubuntu-latest runs-on: ubuntu-20.04
needs: [linux_build, change_detect] needs: [linux_build, change_detect]
steps: steps:
- name: Cancel previous - name: Cancel previous
@ -251,9 +251,10 @@ jobs:
tags: | tags: |
ghcr.io/${{ needs.change_detect.outputs.docker_repo }}/openfpga-master:latest ghcr.io/${{ needs.change_detect.outputs.docker_repo }}/openfpga-master:latest
ghcr.io/${{ needs.change_detect.outputs.docker_repo }}/openfpga-master:${{ needs.change_detect.outputs.sha_short }} ghcr.io/${{ needs.change_detect.outputs.docker_repo }}/openfpga-master:${{ needs.change_detect.outputs.sha_short }}
linux_regression_tests: linux_regression_tests:
name: linux_regression_tests name: linux_regression_tests
runs-on: ubuntu-18.04 runs-on: ubuntu-20.04
needs: [linux_build, change_detect] needs: [linux_build, change_detect]
container: ghcr.io/${{ needs.change_detect.outputs.docker_repo }}/openfpga-env container: ghcr.io/${{ needs.change_detect.outputs.docker_repo }}/openfpga-env
strategy: strategy:
@ -293,7 +294,7 @@ jobs:
chmod +x yosys/install/bin/yosys-config chmod +x yosys/install/bin/yosys-config
chmod +x yosys/install/bin/yosys-filterlib chmod +x yosys/install/bin/yosys-filterlib
chmod +x yosys/install/bin/yosys-smtbmc chmod +x yosys/install/bin/yosys-smtbmc
- name: ${{matrix.config.name}}_GCC-8_(Ubuntu 18.04) - name: ${{matrix.config.name}}_GCC-8_(Ubuntu 20.04)
shell: bash shell: bash
run: source openfpga.sh && source openfpga_flow/regression_test_scripts/${{matrix.config.name}}.sh --debug --show_thread_logs run: source openfpga.sh && source openfpga_flow/regression_test_scripts/${{matrix.config.name}}.sh --debug --show_thread_logs
- name: Upload artifact - name: Upload artifact
@ -304,11 +305,12 @@ jobs:
retention-days: 1 retention-days: 1
path: | path: |
openfpga_flow/**/*.log openfpga_flow/**/*.log
docker_regression_tests: docker_regression_tests:
needs: change_detect needs: change_detect
if: ${{ !fromJSON(needs.change_detect.outputs.source_modified) }} if: ${{ !fromJSON(needs.change_detect.outputs.source_modified) }}
name: docker_regression_tests name: docker_regression_tests
runs-on: ubuntu-18.04 runs-on: ubuntu-20.04
container: container:
image: ghcr.io/${{ needs.change_detect.outputs.docker_repo }}/openfpga-master:latest image: ghcr.io/${{ needs.change_detect.outputs.docker_repo }}/openfpga-master:latest
options: --user root --workdir /home/openfpga_user options: --user root --workdir /home/openfpga_user
@ -336,7 +338,7 @@ jobs:
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
submodules: true submodules: true
- name: ${{matrix.config.name}}_GCC-8_(Ubuntu 18.04) - name: ${{matrix.config.name}}_GCC-8_(Ubuntu 20.04)
shell: bash shell: bash
run: | run: |
bash .github/workflows/install_dependencies_run.sh bash .github/workflows/install_dependencies_run.sh

View File

@ -13,7 +13,7 @@ jobs:
# Test the RTL compilation compatibility # Test the RTL compilation compatibility
verilog: verilog:
name: RTL compilation and tests name: RTL compilation and tests
runs-on: ubuntu-18.04 runs-on: ubuntu-20.04
steps: steps:
- name: Cancel previous - name: Cancel previous
uses: styfle/cancel-workflow-action@0.9.1 uses: styfle/cancel-workflow-action@0.9.1

View File

@ -10,7 +10,7 @@ env:
jobs: jobs:
change_detect: change_detect:
name: "Detect code changes" name: "Detect code changes"
runs-on: ubuntu-18.04 runs-on: ubuntu-20.04
outputs: outputs:
docker_repo: ${{ steps.changes.outputs.docker_repo }} docker_repo: ${{ steps.changes.outputs.docker_repo }}
steps: steps:

View File

@ -31,7 +31,7 @@ jobs:
uses: actions/checkout@v2 uses: actions/checkout@v2
- name: Install dependencies - name: Install dependencies
run: ./.github/workflows/install_dependencies_build.sh run: sudo bash ./.github/workflows/install_dependencies_build.sh
- name: Dump tool versions - name: Dump tool versions
run: | run: |

View File

@ -1,8 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# The package list is designed for Ubuntu 20.04 LTS # The package list is designed for Ubuntu 20.04 LTS
sudo apt-get update add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get install -y \ apt-get update
apt-get install -y \
autoconf \ autoconf \
automake \ automake \
bison \ bison \
@ -25,6 +26,7 @@ sudo apt-get install -y \
liblist-moreutils-perl \ liblist-moreutils-perl \
libncurses5-dev \ libncurses5-dev \
libreadline-dev \ libreadline-dev \
libreadline8 \
libx11-dev \ libx11-dev \
libxft-dev \ libxft-dev \
libxml++2.6-dev \ libxml++2.6-dev \

View File

@ -1,4 +1,4 @@
apt-get install --no-install-recommends -y \ apt-get install --no-install-recommends -y \
libdatetime-perl libc6 libffi6 libgcc1 libreadline7 libstdc++6 \ libdatetime-perl libc6 libffi-dev libgcc1 libreadline8 libstdc++6 \
libtcl8.6 python3.8 python3-pip zlib1g libbz2-1.0 \ libtcl8.6 python3.8 python3-pip zlib1g libbz2-1.0 \
iverilog git rsync make curl wget tree python3.8-venv iverilog git rsync make curl wget tree python3.8-venv

View File

@ -1,4 +1,4 @@
FROM ubuntu:18.04 FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install software-properties-common -y RUN apt-get update && apt-get install software-properties-common -y
# 18.04 includes 2.17 but github requires 2.18+ to support submodules. # 18.04 includes 2.17 but github requires 2.18+ to support submodules.

View File

@ -1,14 +1,15 @@
FROM ubuntu:18.04 FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install --no-install-recommends software-properties-common -y RUN apt-get update && apt-get install --no-install-recommends software-properties-common -y
# 18.04 includes 2.17 but github requires 2.18+ to support submodules. # 18.04 includes 2.17 but github requires 2.18+ to support submodules.
RUN add-apt-repository ppa:git-core/ppa #RUN add-apt-repository ppa:git-core/ppa
ADD .github/workflows/install_dependencies_run.sh install_dependencies_run.sh ADD .github/workflows/install_dependencies_run.sh install_dependencies_run.sh
RUN bash install_dependencies_run.sh RUN bash install_dependencies_run.sh
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
RUN python3.8 get-pip.py && rm get-pip.py RUN python3.8 get-pip.py && rm get-pip.py
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2 RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1 # Comment out this line since Ubuntu 20.04 does not support it
# RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
ADD requirements.txt requirements.txt ADD requirements.txt requirements.txt
ENV PYTHON_EXEC=python3.8 ENV PYTHON_EXEC=python3.8
RUN ${PYTHON_EXEC} -m pip install -r requirements.txt RUN ${PYTHON_EXEC} -m pip install -r requirements.txt

View File

@ -1,2 +1,2 @@
FROM ghcr.io/lnis-uofu/openfpga-build-base FROM ghcr.io/lnis-uofu/openfpga-build-base
RUN apt-get update && apt-get install -y gcc-10 g++-10 RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test && apt-get update && apt-get install -y gcc-10 g++-10

View File

@ -1,2 +1,2 @@
FROM ghcr.io/lnis-uofu/openfpga-build-base FROM ghcr.io/lnis-uofu/openfpga-build-base
RUN apt-get update && apt-get install -y gcc-11 g++-11 RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test && apt-get update && apt-get install -y gcc-11 g++-11