Giter Site home page Giter Site logo

docker-tools's People

Contributors

nancy-chauhan avatar oleg-nenashev avatar wallento avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

docker-tools's Issues

Docker image should work correctly on anonymous user

Example from the Jenkins run:

.
[Pipeline] withDockerContainer
$ docker run -t -d -u 106:111 -w /var/lib/jenkins/workspace/Infra/FuseSoC-Docker -v /var/lib/jenkins/workspace/Infra/FuseSoC-Docker:/var/lib/jenkins/workspace/Infra/FuseSoC-Docker:rw -v /var/lib/jenkins/workspace/Infra/FuseSoC-Docker@tmp:/var/lib/jenkins/workspace/Infra/FuseSoC-Docker@tmp:rw -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** onenashev/fusesoc-icarus cat
[Pipeline] {
[Pipeline] sh
[FuseSoC-Docker] Running shell script
+ cd /var/lib/jenkins/workspace/Infra/FuseSoC-Docker
+ fusesoc init -y
Traceback (most recent call last):
  File "/usr/local/bin/fusesoc", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/fusesoc/main.py", line 357, in main
    run(parsed_args)
  File "/usr/local/lib/python2.7/dist-packages/fusesoc/main.py", line 262, in run
    config = Config()
  File "/usr/local/lib/python2.7/dist-packages/fusesoc/config.py", line 68, in __init__
    os.makedirs(self.cache_root)
  File "/usr/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/fusesoc/.cache'
[Pipeline] }

FuseSoC cannot determine cores on the CI instance

Expected behavior (local Machine)

MacBook-Pro-onenashev-2:fusesoc-icarus nenashev$ docker run -u 106:111 onenashev/fusesoc-icarus fusesoc sim wb_sdram_ctrl
Running FuseSoC in /fusesoc
Cloning into '/fusesoc/.local/share/orpsoc-cores'...
WARN:  Failed to register cores root '/fusesoc/.local/share/orpsoc-cores is not a directory'
INFO:  Initializing orpsoc-cores
INFO:  Writing configuration file to '/fusesoc/.config/fusesoc/fusesoc.conf'
INFO:  FuseSoC is ready to use!
Compiling /fusesoc/build/wb_sdram_ctrl/src/elf-loader/elf-loader.c...
Compiling /fusesoc/build/wb_sdram_ctrl/src/elf-loader/vpi_wrapper.c...
Making elf-loader.vpi from  elf-loader.o vpi_wrapper.o...
wb_sdram_ctrl_tb.masters[0].wb_bfm_transactor0 : Running 1000 transactions
Max burst length=5
wb_sdram_ctrl_tb.masters[1].wb_bfm_transactor0 : Running 1000 transactions
Max burst length=5
wb_sdram_ctrl_tb.masters[2].wb_bfm_transactor0 : Running 1000 transactions
Max burst length=5
wb_sdram_ctrl_tb.masters[0].wb_bfm_transactor0 : 0/1000
wb_sdram_ctrl_tb.masters[2].wb_bfm_transactor0 : 0/1000
wb_sdram_ctrl_tb.masters[1].wb_bfm_transactor0 : 0/1000
wb_sdram_ctrl_tb.masters[0].wb_bfm_transactor0 : 100/1000
wb_sdram_ctrl_tb.masters[2].wb_bfm_transactor0 : 100/1000
wb_sdram_ctrl_tb.masters[1].wb_bfm_transactor0 : 100/1000
wb_sdram_ctrl_tb.masters[0].wb_bfm_transactor0 : 200/1000
wb_sdram_ctrl_tb.masters[2].wb_bfm_transactor0 : 200/1000
wb_sdram_ctrl_tb.masters[1].wb_bfm_transactor0 : 200/1000
wb_sdram_ctrl_tb.masters[0].wb_bfm_transactor0 : 300/1000
wb_sdram_ctrl_tb.masters[2].wb_bfm_transactor0 : 300/1000
wb_sdram_ctrl_tb.masters[1].wb_bfm_transactor0 : 300/1000
wb_sdram_ctrl_tb.masters[0].wb_bfm_transactor0 : 400/1000
wb_sdram_ctrl_tb.masters[2].wb_bfm_transactor0 : 400/1000
wb_sdram_ctrl_tb.masters[1].wb_bfm_transactor0 : 400/1000
wb_sdram_ctrl_tb.masters[0].wb_bfm_transactor0 : 500/1000
wb_sdram_ctrl_tb.masters[2].wb_bfm_transactor0 : 500/1000
wb_sdram_ctrl_tb.masters[1].wb_bfm_transactor0 : 500/1000
wb_sdram_ctrl_tb.masters[0].wb_bfm_transactor0 : 600/1000
wb_sdram_ctrl_tb.masters[2].wb_bfm_transactor0 : 600/1000
wb_sdram_ctrl_tb.masters[1].wb_bfm_transactor0 : 600/1000
wb_sdram_ctrl_tb.masters[0].wb_bfm_transactor0 : 700/1000
wb_sdram_ctrl_tb.masters[2].wb_bfm_transactor0 : 700/1000
wb_sdram_ctrl_tb.masters[1].wb_bfm_transactor0 : 700/1000
wb_sdram_ctrl_tb.masters[0].wb_bfm_transactor0 : 800/1000
wb_sdram_ctrl_tb.masters[2].wb_bfm_transactor0 : 800/1000
wb_sdram_ctrl_tb.masters[1].wb_bfm_transactor0 : 800/1000
wb_sdram_ctrl_tb.masters[0].wb_bfm_transactor0 : 900/1000
wb_sdram_ctrl_tb.masters[2].wb_bfm_transactor0 : 900/1000
wb_sdram_ctrl_tb.masters[1].wb_bfm_transactor0 : 900/1000
Average wait times
Master 0 : 390970.000000
Master 1 : 406820.000000
Master 2 : 398920.000000
All tests passed!
WARN:  plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in stream_utils-1.0
WARN:  plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in elf-loader
WARN:  plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in vlog_tb_utils
WARN:  plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in wb_altera_ddr_wrapper
WARN:  plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in fifo-1.0
WARN:  plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in ram_wb
WARN:  plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in wb_intercon-1.0
WARN:  plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in wb_intercon
WARN:  plusargs section is deprecated and will not be parsed by FuseSoC. Please migrate to parameters in wb_sdram_ctrl
INFO:  Preparing elf-loader
INFO:  Preparing wiredelay
INFO:  Preparing mt48lc16m16a2
INFO:  Checking out http://www.micron.com/~/media/Documents/Products/Sim%20Model/DRAM/DRAM/4012mt48lc16m16a2.zip to /fusesoc/cache/mt48lc16m16a2
INFO:  Preparing vlog_tb_utils-1.0
INFO:  Preparing wb_bfm
INFO:  Preparing wb_sdram_ctrl
INFO:  Downloading skristiansson/wb_sdram_ctrl from github

INFO:  Running /fusesoc/.local/share/orpsoc-cores/cores/elf-loader/check_libelf.sh

Actual behavior:

[Pipeline] withDockerContainer
$ docker run -t -d -u 106:111 -w /var/lib/jenkins/workspace/Infra/FuseSoC-Docker -v /var/lib/jenkins/workspace/Infra/FuseSoC-Docker:/var/lib/jenkins/workspace/Infra/FuseSoC-Docker:rw -v /var/lib/jenkins/workspace/Infra/FuseSoC-Docker@tmp:/var/lib/jenkins/workspace/Infra/FuseSoC-Docker@tmp:rw -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** onenashev/fusesoc-icarus cat
[Pipeline] {
[Pipeline] sh
[FuseSoC-Docker] Running shell script
+ fusesoc init -y
�[1;33mWARN:  '/fusesoc/.local/share/orpsoc-cores' already exists�[0m
�[1;37mINFO:  Writing configuration file to '/fusesoc/.config/fusesoc/fusesoc.conf'�[0m
�[1;37mINFO:  FuseSoC is ready to use!�[0m
[Pipeline] sh
[FuseSoC-Docker] Running shell script
+ fusesoc list-cores

Available cores on the CI instance:

�[1;31mERROR: No cores found in /fusesoc/.local/share/orpsoc-cores:/fusesoc/systems�[0m
[Pipeline] }
$ docker stop f5d4d007ee87c27ed2ceb26b53e508234d051ae8a2958c476cc5ffddacb80805
$ docker rm -f f5d4d007ee87c27ed2ceb26b53e508234d051ae8a2958c476cc5ffddacb80805
[Pipeline] // withDockerContainer
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE

Decouple Java Image to the special image

Java is likely unrequired for common cases, excepting Jenkins.
In #3 the builder has been integrated into generic FuseSoC Dockerfile, but ideally we want to only inherit it

Add SVN to the images

Particular projects require SVN (e.g. sockit).
SVN tool is not so big, hence it makes sense to bundle it along with git

Provide image with Quartus for sybsystem builds

Requirements:

  • FuseSoc and Icarus are available by default
  • Quartus is installed
  • Quartus has device libs for Cyclone II and Cyclone IV E
  • TBD: ModelSim Altera is integrated (needs feasibility investigation)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.