Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Dockerfile.use-installer to install the compiler for the QORC toolchain in a container, and test it with sample apps in qorc-sdk. #51

Open
wants to merge 28 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
a76f330
Merge pull request #5 from QuickLogic-Corp/master
Thirsty2 Nov 6, 2020
5122d3a
Merge remote-tracking branch 'upstream/master'
Thirsty2 Dec 1, 2020
20027b4
Merge remote-tracking branch 'upstream/master'
Thirsty2 Dec 2, 2020
294af3a
Add Dockerfile.qorc to build and test full quicklogic toolchain.
Thirsty2 Dec 3, 2020
6a3017a
Merge branch 'master' of github.com:Thirsty2/quicklogic-fpga-toolchain
Thirsty2 Dec 3, 2020
7713e29
Add missing files used by Dockerfile.qorc.
Thirsty2 Dec 4, 2020
bb561bd
Added comments to document how to build and use the targets of this d…
Thirsty2 Dec 6, 2020
690afa3
Add github action workflow to create qorc package.
Thirsty2 Dec 11, 2020
1dec99c
Add github action workflow to create qorc-user package.
Thirsty2 Dec 11, 2020
73c2655
The default qorc target now has an entrypoint and a user.
Thirsty2 Dec 16, 2020
b338638
Integrated Dockerfile.qorc into Dockerfile.use-installer with qorc as…
Thirsty2 Dec 17, 2020
b9969a4
Fixed comments for Dockerfile.use-installer.
Thirsty2 Dec 17, 2020
9a59b0a
Merge remote-tracking branch 'upstream/master'
Thirsty2 Dec 18, 2020
282c3fe
Merge remote-tracking branch 'upstream/master'
Thirsty2 Dec 25, 2020
0e84467
Install bazel, needed for tensorflow.
Thirsty2 Dec 30, 2020
4ae3b66
Updated documentation and comments.
Thirsty2 Dec 30, 2020
4eb57fb
Clean up formatting of documentation.
Thirsty2 Dec 30, 2020
9daf0f1
Merge remote-tracking branch 'upstream/master'
Thirsty2 Jun 20, 2021
d245410
Add libtbb-dev
Thirsty2 Jun 21, 2021
0a62bad
Last build succeeded. Comment out long running test to troubleshoot …
Thirsty2 Jun 21, 2021
6b1750c
Last build succeeded. Comment out long running test to troubleshoot …
Thirsty2 Jun 21, 2021
20de793
Build token timeout fixed, run make all_ql_tests.
Thirsty2 Jun 22, 2021
8480813
Merge remote-tracking branch 'upstream/master'
Thirsty2 Jun 26, 2021
4e403f2
Fix Dockerfile - clone master branch of vtr as described in README file.
Thirsty2 Jul 4, 2021
480ddb0
Run tests using a layer that is tagged as the final image provided th…
Thirsty2 Jul 5, 2021
73ecc2f
Merged latest upstream commits from Quicklogic.
Thirsty2 Aug 16, 2021
77b3612
Update README.rst
Thirsty2 Aug 16, 2021
d8338e2
Update README.rst
Thirsty2 Aug 16, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/docker-publish-tagged-qorc-base.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Docker

on:
push:
tags: [ v* ]
workflow_dispatch:

env:
IMAGE_NAME: qorc-base

jobs:
push:
runs-on: ubuntu-latest
if: github.event_name == 'push'

steps:
- uses: actions/checkout@v2

- name: Build image
run: |
# Strip git ref prefix from version
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')

docker build --build-arg TAG=$VERSION --target qorc-base . --file Dockerfile.use-installer --tag $IMAGE_NAME

- name: Log into registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin

- name: Push image
run: |
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME

# Change all uppercase to lowercase
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')

# Strip git ref prefix from version
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')

# Strip "v" prefix from tag name
[[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//')

# Use Docker `latest` tag convention
[ "$VERSION" == "master" ] && VERSION=latest

echo IMAGE_ID=$IMAGE_ID
echo VERSION=$VERSION

docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
49 changes: 49 additions & 0 deletions .github/workflows/docker-publish-tagged-qorc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Docker

on:
push:
tags: [ v* ]
workflow_dispatch:

env:
IMAGE_NAME: qorc

jobs:
push:
runs-on: ubuntu-latest
if: github.event_name == 'push'

steps:
- uses: actions/checkout@v2

- name: Build image
run: |
# Strip git ref prefix from version
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')

docker build --build-arg TAG=$VERSION . --file Dockerfile.use-installer --tag $IMAGE_NAME

- name: Log into registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin

- name: Push image
run: |
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME

# Change all uppercase to lowercase
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')

# Strip git ref prefix from version
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')

# Strip "v" prefix from tag name
[[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//')

# Use Docker `latest` tag convention
[ "$VERSION" == "master" ] && VERSION=latest

echo IMAGE_ID=$IMAGE_ID
echo VERSION=$VERSION

docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
2 changes: 1 addition & 1 deletion .github/workflows/docker-publish-tagged.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
# Strip git ref prefix from version
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')

docker build --build-arg TAG=$VERSION . --file Dockerfile.use-installer --tag $IMAGE_NAME
docker build --build-arg TAG=$VERSION --target symbiflow-ql . --file Dockerfile.use-installer --tag $IMAGE_NAME

- name: Log into registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,6 @@ jobs:
echo VERSION=$VERSION

docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
20 changes: 13 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ RUN apt-get update -qq \
git \
libffi-dev \
libreadline-dev \
libtbb-dev \
tcl-dev \
graphviz \
wget \
Expand All @@ -40,35 +41,35 @@ RUN apt-get update -qq \
iverilog \
pkg-config

#Checkout *yosys* repository (https://github.com/QuickLogic-Corp/yosys.git), branch: **quicklogic-rebased**.
#Checkout *yosys* repository (https://github.com/QuickLogic-Corp/yosys.git), branch: **quicklogic-rebased**.
RUN git clone https://github.com/QuickLogic-Corp/yosys.git -b quicklogic-rebased quicklogic-yosys
RUN cd quicklogic-yosys
WORKDIR /quicklogic-yosys

RUN make config-gcc
RUN make install PREFIX=${INSTALL_DIR}/install
RUN cd -

#Checkout *yosys-symbiflow-plugins* (https://github.com/QuickLogic-Corp/yosys-symbiflow-plugins), branch: **ql-ios**.
WORKDIR /
RUN git clone https://github.com/QuickLogic-Corp/yosys-symbiflow-plugins -b ql-ios
RUN cd yosys-symbiflow-plugins

WORKDIR /yosys-symbiflow-plugins
# export PATH='specify Yosys installation path as specified in PREFIX in previous step':$PATH
RUN make
RUN make install
RUN cd -

#Checkout *vpr* repository (https://github.com/QuickLogic-Corp/vtr-verilog-to-routing.git), branch: **blackbox_timing**.
#Checkout *vpr* repository (https://github.com/SymbiFlow/vtr-verilog-to-routing.git), branch: **master**.
WORKDIR /
RUN git clone https://github.com/QuickLogic-Corp/vtr-verilog-to-routing -b blackbox_timing
RUN git clone https://github.com/SymbiFlow/vtr-verilog-to-routing -b master
RUN cd vtr-verilog-to-routing
WORKDIR /vtr-verilog-to-routing
RUN make

#Checkout *symbiflow-arch-defs* repository (https://github.com/QuickLogic-Corp/symbiflow-arch-defs.git), branch: **quicklogic-upstream-rebase**.
#Checkout *symbiflow-arch-defs* repository (https://github.com/QuickLogic-Corp/symbiflow-arch-defs.git), branch: **quicklogic-upstream-rebase**.
WORKDIR /
RUN git clone https://github.com/QuickLogic-Corp/symbiflow-arch-defs.git -b quicklogic-upstream-rebase
RUN cd symbiflow-arch-defs

WORKDIR /symbiflow-arch-defs

RUN make env
Expand All @@ -86,6 +87,11 @@ COPY --from=build /symbiflow-arch-defs /symbiflow-arch-defs/
COPY --from=build /yosys-symbiflow-plugins /yosys-symbiflow-plugins/
COPY --from=build /vtr-verilog-to-routing /vtr-verilog-to-routing/

# Probably should add these to the release candidate:
# ENV YOSYS='path to Yosys binary, installed in first step'
# ENV VPR='path to vpr binary built'
# ENV GENFASM='path to genfasm binary built'

FROM release-candidate AS all_quick_tests

WORKDIR /symbiflow-arch-defs/build/quicklogic/pp3/tests
Expand Down
Loading