Giter Site home page Giter Site logo

ci-fusesoc-action's People

Contributors

wallento avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

tspyrou proppy

ci-fusesoc-action's Issues

ci-fusesoc-action should provide a variant that allow developers to pre-install generators dependencies

Currently ci-fusesoc-action uses container based action (https://docs.github.com/en/actions/creating-actions/creating-a-docker-container-action) to run fusesoc which makes easy to pull in fusesoc + all the required dependencies into the workflow environment.

But sometime projects like https://github.com/GuzTech/misato, leverage additional generators (in misato's case: amaranth) that require to have their dependencies installed prior to running fusesoc, see: https://github.com/GuzTech/misato/blob/main/.github/workflows/openlane.yml#L19

This makes it challenging to compose with additional workflow steps, because the (contained) ci-fusesoc-action python environment into which fusesoc runs is different from the main workflow's one and wouldn't have the python package installed from previous steps, see https://github.com/proppy/misato/blob/f81bdeb1592000aaf70e7ed9af5071fe5cbc1136/.github/workflows/openlane.yml#L15 which currently failes with a ModuleNotFoundError: No module named \'amaranth\' error: https://github.com/proppy/misato/runs/4897990390?check_suite_focus=true

Since fusesoc thru https://github.com/olofk/edalize/blob/master/scripts/el_docker is already capable of launching tools packaged as container, one possible way to address this would be to provide a composite variant of the action (https://docs.github.com/en/actions/creating-actions/creating-a-composite-action), and delegate the container management to fusesoc itself if the corresponding tools requires it.

I made a proof of concept here https://github.com/proppy/ci-fusesoc-action/blob/main/action.yml which seems to work https://github.com/proppy/misato/runs/4899664576?check_suite_focus=true but I'm unsure on the best way to submit it for inclusion in the ci-fusesoc-action project, should we have it as a different actions file, or live in a different branch, or be a different project altogether?

Looking forward @wallento and @olofk guidance on this!

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.