Fix dockerfile for master build to include yosys/share, and fix conditionals.
This commit is contained in:
parent
f956f28792
commit
8cca1c63c3
|
@ -29,3 +29,4 @@ yosys
|
|||
!yosys/yosys-config
|
||||
!yosys/yosys-filterlib
|
||||
!yosys/yosys-smtbmc
|
||||
!yosys/share
|
||||
|
|
|
@ -3,11 +3,10 @@ name: linux_build
|
|||
# Run CI on push, PR, and weekly.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
# push:
|
||||
# pull_request:
|
||||
# schedule:
|
||||
# - cron: '0 0 * * 0 ' # weekly
|
||||
push:
|
||||
pull_request:
|
||||
schedule:
|
||||
- cron: '0 0 * * 0 ' # weekly
|
||||
|
||||
# Environment variables
|
||||
env:
|
||||
|
@ -21,7 +20,8 @@ jobs:
|
|||
name: "Detect code changes"
|
||||
runs-on: ubuntu-18.04
|
||||
outputs:
|
||||
source_modified: ${{ steps.changes.outputs.status_code != '0'}}
|
||||
# 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 == '0' }}
|
||||
steps:
|
||||
- name: Checkout OpenFPGA repo
|
||||
uses: actions/checkout@v2
|
||||
|
@ -32,14 +32,14 @@ jobs:
|
|||
id: changes
|
||||
run: |
|
||||
if git diff origin/master HEAD --name-status --exit-code -- . ':!openfpga_flow' ':!docs'; then
|
||||
echo "::set-output name=status_code::$?"
|
||||
else
|
||||
echo "::set-output name=status_code::0"
|
||||
else
|
||||
echo "::set-output name=status_code::$?"
|
||||
fi
|
||||
# Test the compilation compatibility
|
||||
linux_build:
|
||||
needs: change_detect
|
||||
if: ${{needs.change_detect.outputs.source_modified || github.ref == 'refs/heads/master' }}
|
||||
if: ${{ fromJSON(needs.change_detect.outputs.source_modified) || github.ref == 'refs/heads/master' }}
|
||||
name: ${{ matrix.config.name }}
|
||||
runs-on: ubuntu-18.04
|
||||
container: ghcr.io/lnis-uofu/openfpga-build-${{ matrix.config.cc}}
|
||||
|
@ -226,7 +226,7 @@ jobs:
|
|||
run: source .github/workflows/${{matrix.config.script}}
|
||||
docker_regression_tests:
|
||||
needs: change_detect
|
||||
#if: ${{ !needs.change_detect.outputs.source_modified }}
|
||||
if: ${{ !fromJSON(needs.change_detect.outputs.source_modified) }}
|
||||
name: Regression tests against master artifacts
|
||||
runs-on: ubuntu-18.04
|
||||
container: ghcr.io/lnis-uofu/openfpga-master:latest
|
||||
|
@ -247,16 +247,19 @@ jobs:
|
|||
steps:
|
||||
- name: Checkout OpenFPGA repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- name: ${{matrix.config.name}}
|
||||
shell: bash
|
||||
run:
|
||||
ln -s /opt/openfpga/abc abc/abc
|
||||
ln -s /opt/openfpga/ace ace2/ace
|
||||
ln -s /opt/openfpga/openfpga openfpga/openfpga
|
||||
ln -s /opt/openfpga/vpr vpr/vpr
|
||||
ln -s /opt/openfpga/yosys yosys/yosys
|
||||
ln -s /opt/openfpga/yosys-abc yosys/yosys-abc
|
||||
ln -s /opt/openfpga/yosys-config yosys/yosys-config
|
||||
ln -s /opt/openfpga/yosys-filterlib yosys/yosys-filterlib
|
||||
ln -s /opt/openfpga/yosys-smtbmc yosys/yosys-smtbmc
|
||||
run: |
|
||||
cp /opt/openfpga/abc/abc abc/abc
|
||||
cp /opt/openfpga/ace2/ace ace2/ace
|
||||
cp /opt/openfpga/openfpga openfpga/openfpga
|
||||
cp /opt/openfpga/vpr/vpr vpr/vpr
|
||||
cp /opt/openfpga/yosys/yosys yosys/yosys
|
||||
cp /opt/openfpga/yosys/yosys-abc yosys/yosys-abc
|
||||
cp /opt/openfpga/yosys/yosys-config yosys/yosys-config
|
||||
cp /opt/openfpga/yosys/yosys-filterlib yosys/yosys-filterlib
|
||||
cp /opt/openfpga/yosys/yosys-smtbmc yosys/yosys-smtbmc
|
||||
cp -r /opt/openfpga/yosys/share yosys/share
|
||||
source .github/workflows/${{matrix.config.script}}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
name: Build docker CI images
|
||||
on: push
|
||||
on:
|
||||
- workflow_dispatch
|
||||
jobs:
|
||||
base_images:
|
||||
name: Push Docker images
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
apt-get update && apt-get install -y libdatetime-perl iverilog python3-pip \
|
||||
apt-get update && apt-get install -y libdatetime-perl iverilog python3-pip git \
|
||||
libc6 libffi6 libgcc1 libreadline7 libstdc++6 libtcl8.6 python3 zlib1g libbz2-1.0
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
FROM ubuntu:18.04
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get update && apt-get install software-properties-common -y
|
||||
# 18.04 includes 2.17 but github requires 2.18+ to support submodules.
|
||||
RUN add-apt-repository ppa:git-core/ppa
|
||||
ADD .github/workflows/install_dependencies_run.sh install_dependencies_run.sh
|
||||
RUN bash install_dependencies_test.sh
|
||||
RUN bash install_dependencies_run.sh
|
||||
ADD requirements.txt requirements.txt
|
||||
RUN python3 -m pip install -r requirements.txt
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
FROM ghcr.io/lnis-uofu/openfpga-env
|
||||
RUN mkdir /opt/openfpga
|
||||
COPY abc/abc ace2/ace openfpga/openfpga vpr/vpr yosys/yosys yosys/yosys-abc yosys/yosys-config yosys/yosys-filterlib yosys/yosys-smtbmc /opt/openfpga/
|
||||
RUN cd /opt/openfpga && chmod +x abc ace openfpga vpr yosys yosys-abc yosys-config yosys-filterlib yosys-smtbmc
|
||||
ENV PATH="/opt/openfpga:${PATH}"
|
||||
RUN mkdir /opt/openfpga /opt/openfpga/abc /opt/openfpga/ace2 /opt/openfpga/vpr /opt/openfpga/yosys
|
||||
COPY openfpga/openfpga /opt/openfpga/openfpga
|
||||
COPY abc/abc /opt/openfpga/abc/
|
||||
COPY ace2/ace /opt/openfpga/ace2/
|
||||
COPY vpr/vpr /opt/openfpga/vpr/
|
||||
COPY yosys/yosys yosys/yosys-abc yosys/yosys-config yosys/yosys-filterlib yosys/yosys-smtbmc /opt/openfpga/yosys/
|
||||
COPY yosys/share /opt/openfpga/yosys/share
|
||||
RUN cd /opt/openfpga && chmod +x abc/abc ace2/ace openfpga vpr/vpr yosys/yosys yosys/yosys-abc yosys/yosys-config yosys/yosys-filterlib yosys/yosys-smtbmc
|
||||
ENV PATH="/opt/openfpga:/opt/openfpga/yosys:/opt/openfpga/ace2:/opt/openfpga/abc:/opt/openfpga/vpr:${PATH}"
|
||||
|
|
Loading…
Reference in New Issue