OpenCores
URL https://opencores.org/ocsvn/neorv32/neorv32/trunk

Subversion Repositories neorv32

[/] [neorv32/] [trunk/] [do.py] - Rev 65

Go to most recent revision | Compare with Previous | Blame | View Log

#!/usr/bin/env python3
 
# doit
 
from sys import executable, argv as sys_argv, exit as sys_exit
from os import environ
from pathlib import Path
 
from doit.action import CmdAction
from doit.cmd_base import ModuleTaskLoader
from doit.doit_cmd import DoitMain
 
DOIT_CONFIG = {"verbosity": 2, "action_string_formatting": "both"}
 
ROOT = Path(__file__).parent
 
 
def task_BuildAndInstallSoftwareFrameworkTests():
    return {
        "actions": [
            # Check toolchain
            "make -C sw/example/processor_check check",
            # Generate executables for all example projects
            "make -C sw/example clean_all exe",
            # Compile and install bootloader
            "make -C sw/bootloader clean_all info bootloader",
            # Compile and install test application
            # Redirect UART0 TX to text.io simulation output via <UART0_SIM_MODE> user flag
            "echo 'Compiling and installing CPU (/Processor) test application'",
            "make -C sw/example/processor_check clean_all USER_FLAGS+=-DRUN_CHECK USER_FLAGS+=-DUART0_SIM_MODE USER_FLAGS+=-DUART1_SIM_MODE MARCH=rv32imac info all",
        ],
        "doc": "Build all sw/example/*; install bootloader and processor check",
    }
 
 
def task_RunRISCVArchitectureTests():
    return {
        "actions": [CmdAction(
            "./run_riscv_arch_test.sh {suite}",
            cwd=ROOT / "sim"
        )],
        "doc": "Run RISC-V Architecture Tests",
        "params": [
            {
                "name": "suite",
                "short": "s",
                "long": "suite",
                "default": "M",
                "choices": ((item, "") for item in [
                    "I",
                    "C",
                    "M",
                    "privilege",
                    "Zifencei",
                    "rv32e_C",
                    "rv32e_E",
                    "rv32e_M"
                ]),
                "help": "Test suite to be executed",
            }
        ],
    }
 
 
def task_Documentation():
    return {
        "actions": ["make -C docs {posargs}"],
        "doc": "Run a target in subdir 'doc'",
        "uptodate": [False],
        "pos_arg": "posargs",
    }
 
 
def task_DeployToGitHubPages():
    cwd = str(ROOT / "public")
    return {
        "actions": [
            CmdAction(cmd, cwd=cwd)
            for cmd in [
                "git init",
                "cp ../.git/config ./.git/config",
                "touch .nojekyll",
                "git add .",
                'git config --local user.email "push@gha"',
                'git config --local user.name "GHA"',
                "git commit -am '{posargs}'",
                "git push -u origin +HEAD:gh-pages",
            ]
        ],
        "doc": "Create a clean branch in subdir 'public' and push to branch 'gh-pages'",
        "pos_arg": "posargs",
    }
 
 
if __name__ == '__main__':
    sys_exit(DoitMain(ModuleTaskLoader(globals())).run(sys_argv[1:]))
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.