Git Product home page Git Product logo

izuna-action's Introduction

izuna-action

How to install

Install the chrome extension

Go to the chrome webstore and install the chrome extension.

Add Github Action to your project

To install izuna, you need to have github action enabled for your project. This simply means having a .github/workflows/main.yml file in your project. See documentation for Github action with Haskell

Generate Hie

Once you have your project ready to build with Github action, you need to add the hie generation option to your build process. This can be done in multiple ways:

  1. modify your stack file:
ghc-options:
  - -fwrite-ide-info
  - -hiedir=.hie
  1. modify your cabal file:
  ghc-options: -fwrite-ide-info -hiedir=.hie
  1. modify the build command:

If you don't feel like modifying your stack or cabal file, you can simply add add an instruction in your main.yml file to rebuild with hie enabled:

    - name: Build your project with hie files generation
      run: |
        stack build --ghc-options="-fwrite-ide-info -hiedir=.hie" --force-dirty

--force-dirty is only mandatory if you have already instruct github to build your project in the main.yml file. It will force a recompilation of you're project and make sure the hie files are hence correctly generated.

Run izuna-action

Finally, you need to add izuna-action to your main.yml file.

izuna-action creates a tar archive of your hie files and sends it to izuna server so they can be further processed (then deleted, we do not keep the hie files).

This is done like this:

    - name: izuna for izuna-builder
      uses: matsumonkie/[email protected]
      with:
        ghcVersion: '8.10.1'
        hieDirectory: 'izuna-builder/.hie/'
        projectRoot: 'izuna-builder/'

hieDirectory is the path where the hie files will be store in your project (e.g: usually ".hie/") projectRoot is the path where your src/ folder lies (usually: "./") Note that all parameters are required and cannot be empty. Note that ghcVersion can only be 8.10.1 or 8.10.2 at the moment. More recent versions will be available soon.

Full example usage

The Izuna project is using izuna-action and can be read here for a complete usage!

Dev

run: npm run all

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.