Git Product home page Git Product logo

jolinplutocicd.jl's Introduction

JolinPlutoCICD

Build Status Coverage

Helpers for running Pluto files within CICD processes.

Building docker

See JolinWorkspace/cicd for building the docker.

Dev

docker run -it --rm jolincompany/jolin_cloud_cicd:latest bash
julia -e '
    import Pkg
    Pkg.Registry.add("General")
    Pkg.Registry.add(Pkg.RegistrySpec(url="https://github.com/jolin-io/JolinRegistry.jl"))
    Pkg.add("JolinPlutoCICD")
'
git clone https://github.com/jolin-io/JolinWorkspaceTemplate
cd JolinWorkspaceTemplate

Use JolinPlutoCICD.jl in cicd

matrix strategy https://brunoscheufler.com/blog/2021-10-09-generating-dynamic-github-actions-workflows-with-the-job-matrix-strategy

json to bash array taken from https://stackoverflow.com/a/74604720

ALLWORKFLOWS=($(julia -e 'using JolinPlutoCICD; print(JolinPlutoCICD.get_all_workflow_paths(ARGS[1]))' . | sed -e 's/\[//g' -e 's/\]//g' -e 's/"//g' -e 's/\,/ /g'))
echo ${ALLWORKFLOWS[@]}
MYWORKFLOW=${ALLWORKFLOWS[0]}
echo $MYWORKFLOW
MYENV=$(julia -e 'using JolinPlutoCICD; print(JolinPlutoCICD.create_pluto_env(ARGS[1]))' $MYWORKFLOW)
echo $MYENV
julia --project=$MYENV -e 'import Pkg; Pkg.instantiate()'
julia --project=$MYENV $MYWORKFLOW

julia --project=$WORKFLOWENV --compile=min $WORKFLOWPATH

git clone https://github.com/jolin-io/JolinWorkspaceTemplate cd JolinWorkspaceTemplate

julia -e ' import Pkg Pkg.Registry.add("General") Pkg.Registry.add(Pkg.RegistrySpec(url="https://github.com/jolin-io/JolinRegistry.jl")) Pkg.add("JolinPlutoCICD") '

export WORKFLOWPATH=/root/JolinWorkspaceTemplate/workflows export WORKFLOWENV=$(julia -e 'using JolinPlutoCICD; print(JolinPlutoCICD.create_pluto_env(ARGS[1]))' $WORKFLOWPATH) echo $WORKFLOWENV julia --project=$WORKFLOWENV -e 'import Pkg; Pkg.instantiate()' cd $WORKFLOWENV julia --project=$WORKFLOWENV $WORKFLOWPATH

jolinplutocicd.jl's People

Contributors

schlichtanders avatar

Watchers

 avatar

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.