Add docker build workflow and fix submodule issues.
This commit is contained in:
parent
b29fca6bfa
commit
e280b5b344
|
@ -10,6 +10,7 @@ docs
|
|||
libopenfpga
|
||||
libs
|
||||
LICENSE
|
||||
Makefile
|
||||
openfpga
|
||||
openfpga_flow
|
||||
openfpga.sh
|
||||
|
|
|
@ -0,0 +1,79 @@
|
|||
name: Build docker CI images
|
||||
on:
|
||||
- workflow_dispatch
|
||||
jobs:
|
||||
base_images:
|
||||
name: Push Docker images
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.CR_PAT }}
|
||||
- name: Build base
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: .
|
||||
file: ./docker/Dockerfile.base
|
||||
add_git_labels: true
|
||||
push: true
|
||||
tags: ghcr.io/lnis-uofu/openfpga-buildenv-base:latest
|
||||
- name: Build test image
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: .
|
||||
file: ./docker/Dockerfile.test
|
||||
add_git_labels: true
|
||||
push: true
|
||||
tags: ghcr.io/lnis-uofu/openfpga-buildenv-test:latest
|
||||
- name: Build run time image
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: .
|
||||
file: ./docker/Dockerfile.run
|
||||
add_git_labels: true
|
||||
push: true
|
||||
tags: ghcr.io/lnis-uofu/openfpga-buildenv-run:latest
|
||||
compiler_images:
|
||||
name: Build ${{ matrix.compiler }} compiler image
|
||||
needs: base_images
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
compiler:
|
||||
- gcc-5
|
||||
- gcc-6
|
||||
- gcc-7
|
||||
- gcc-8
|
||||
- gcc-9
|
||||
- clang-6
|
||||
- clang-8
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.CR_PAT }}
|
||||
- name: Build ${{ matrix.compiler }} image
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: .
|
||||
file: ./docker/Dockerfile.${{ matrix.compiler }}
|
||||
add_git_labels: true
|
||||
push: true
|
||||
tags: ghcr.io/lnis-uofu/openfpga-buildenv-${{ matrix.compiler }}:latest
|
|
@ -0,0 +1,38 @@
|
|||
apt-get update && apt-get install -y \
|
||||
autoconf \
|
||||
automake \
|
||||
bison \
|
||||
ccache \
|
||||
cmake \
|
||||
ctags \
|
||||
curl \
|
||||
doxygen \
|
||||
flex \
|
||||
fontconfig \
|
||||
gdb \
|
||||
git \
|
||||
gperf \
|
||||
iverilog \
|
||||
libc6-dev \
|
||||
libcairo2-dev \
|
||||
libevent-dev \
|
||||
libffi-dev \
|
||||
libfontconfig1-dev \
|
||||
liblist-moreutils-perl \
|
||||
libncurses5-dev \
|
||||
libreadline-dev \
|
||||
libx11-dev \
|
||||
libxft-dev \
|
||||
libxml++2.6-dev \
|
||||
make \
|
||||
perl \
|
||||
pkg-config \
|
||||
python3 \
|
||||
python3-setuptools \
|
||||
python3-lxml \
|
||||
python3-pip \
|
||||
qt5-default \
|
||||
texinfo \
|
||||
time \
|
||||
valgrind \
|
||||
zip
|
|
@ -0,0 +1,2 @@
|
|||
apt-get update && apt-get install -y \
|
||||
libc6 libffi6 libgcc1 libreadline7 libstdc++6 libtcl8.6 python3 zlib1g libbz2-1.0
|
|
@ -0,0 +1,2 @@
|
|||
apt-get update && apt-get install -y libdatetime-perl iverilog python3-pip \
|
||||
libc6 libffi6 libgcc1 libreadline7 libstdc++6 libtcl8.6 python3 zlib1g libbz2-1.0
|
|
@ -1,53 +0,0 @@
|
|||
# Install all the dependency for OpenFPGA in Ubuntu-18.04
|
||||
sudo apt-get update
|
||||
sudo apt-get install autoconf
|
||||
sudo apt-get install automake
|
||||
sudo apt-get install bash
|
||||
sudo apt-get install bison
|
||||
sudo apt-get install build-essential
|
||||
sudo apt-get install cmake
|
||||
sudo apt-get install ccache
|
||||
sudo apt-get install ctags
|
||||
sudo apt-get install curl
|
||||
sudo apt-get install doxygen
|
||||
sudo apt-get install flex
|
||||
sudo apt-get install fontconfig
|
||||
sudo apt-get install gdb
|
||||
sudo apt-get install git
|
||||
sudo apt-get install gperf
|
||||
sudo apt-get install iverilog
|
||||
sudo apt-get install libcairo2-dev
|
||||
sudo apt-get install libevent-dev
|
||||
sudo apt-get install libfontconfig1-dev
|
||||
sudo apt-get install liblist-moreutils-perl
|
||||
sudo apt-get install libncurses5-dev
|
||||
sudo apt-get install libx11-dev
|
||||
sudo apt-get install libxft-dev
|
||||
sudo apt-get install libxml++2.6-dev
|
||||
sudo apt-get install perl
|
||||
sudo apt-get install python
|
||||
sudo apt-get install python3-setuptools
|
||||
sudo apt-get install python-lxml
|
||||
sudo apt-get install tcllib
|
||||
sudo apt-get install tcl8.6-dev
|
||||
sudo apt-get install texinfo
|
||||
sudo apt-get install time
|
||||
sudo apt-get install valgrind
|
||||
sudo apt-get install zip
|
||||
sudo apt-get install qt5-default
|
||||
sudo apt-get install clang-format-7
|
||||
# Add all the supported compilers
|
||||
sudo apt-get install g++-5
|
||||
sudo apt-get install gcc-5
|
||||
sudo apt-get install g++-6
|
||||
sudo apt-get install gcc-6
|
||||
sudo apt-get install g++-7
|
||||
sudo apt-get install gcc-7
|
||||
sudo apt-get install g++-8
|
||||
sudo apt-get install gcc-8
|
||||
sudo apt-get install g++-9
|
||||
sudo apt-get install gcc-9
|
||||
sudo apt-get install clang-6.0
|
||||
sudo apt-get install clang-8
|
||||
# Python dependencies
|
||||
python3 -m pip install -r /home/runner/work/OpenFPGA/OpenFPGA/requirements.txt
|
|
@ -1,42 +1,9 @@
|
|||
FROM ubuntu:18.04
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get update && apt-get install -y \
|
||||
autoconf \
|
||||
automake \
|
||||
bison \
|
||||
ccache \
|
||||
cmake \
|
||||
ctags \
|
||||
curl \
|
||||
doxygen \
|
||||
flex \
|
||||
fontconfig \
|
||||
gdb \
|
||||
git \
|
||||
gperf \
|
||||
iverilog \
|
||||
libc6-dev \
|
||||
libcairo2-dev \
|
||||
libevent-dev \
|
||||
libffi-dev \
|
||||
libfontconfig1-dev \
|
||||
liblist-moreutils-perl \
|
||||
libncurses5-dev \
|
||||
libreadline-dev \
|
||||
libx11-dev \
|
||||
libxft-dev \
|
||||
libxml++2.6-dev \
|
||||
make \
|
||||
perl \
|
||||
pkg-config \
|
||||
python3 \
|
||||
python3-setuptools \
|
||||
python3-lxml \
|
||||
python3-pip \
|
||||
qt5-default \
|
||||
texinfo \
|
||||
time \
|
||||
valgrind \
|
||||
zip
|
||||
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_build.sh install_dependencies_build.sh
|
||||
RUN bash install_dependencies_build.sh
|
||||
ADD requirements.txt requirements.txt
|
||||
RUN python3 -m pip install -r requirements.txt
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
FROM openfpga-buildenv-base
|
||||
FROM ghcr.io/lnis-uofu/openfpga-buildenv-base
|
||||
RUN apt-get update && apt-get install -y clang-format-7 clang-6.0
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
FROM openfpga-buildenv-base
|
||||
FROM ghcr.io/lnis-uofu/openfpga-buildenv-base
|
||||
RUN apt-get update && apt-get install -y clang-format-7 clang-8
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
FROM openfpga-buildenv-base
|
||||
FROM ghcr.io/lnis-uofu/openfpga-buildenv-base
|
||||
RUN apt-get update && apt-get install -y gcc-5 g++-5
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
FROM openfpga-buildenv-base
|
||||
FROM ghcr.io/lnis-uofu/openfpga-buildenv-base
|
||||
RUN apt-get update && apt-get install -y gcc-6 g++-6
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
FROM openfpga-buildenv-base
|
||||
FROM ghcr.io/lnis-uofu/openfpga-buildenv-base
|
||||
RUN apt-get update && apt-get install -y gcc-7 g++-7
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
FROM openfpga-buildenv-base
|
||||
FROM ghcr.io/lnis-uofu/openfpga-buildenv-base
|
||||
RUN apt-get update && apt-get install -y gcc-8 g++-8
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
FROM openfpga-buildenv-base
|
||||
FROM ghcr.io/lnis-uofu/openfpga-buildenv-base
|
||||
RUN apt-get install -y software-properties-common
|
||||
RUN add-apt-repository ppa:ubuntu-toolchain-r/test
|
||||
RUN apt-get update && apt-get install -y gcc-9 g++-9
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
FROM ubuntu:18.04
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libc6 libffi6 libgcc1 libreadline7 libstdc++6 libtcl8.6 python3 zlib1g libbz2-1.0
|
||||
ADD .github/workflows/install_dependencies_runtime.sh install_dependencies_runtime.sh
|
||||
RUN bash install_dependencies_runtime.sh
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
FROM ubuntu:18.04
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libc6 libffi6 libgcc1 libreadline7 libstdc++6 libtcl8.6 python3 zlib1g libbz2-1.0
|
||||
RUN apt-get install -y libdatetime-perl iverilog python3-pip
|
||||
ADD .github/workflows/install_dependencies_test.sh install_dependencies_test.sh
|
||||
RUN bash install_dependencies_test.sh
|
||||
ADD requirements.txt requirements.txt
|
||||
RUN python3 -m pip install -r requirements.txt
|
||||
|
|
Loading…
Reference in New Issue