Giter VIP home page Giter VIP logo

repo-template's People

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

repo-template's Issues

check

for i in *.nim; do

$CMD2 $i

done

name: Build
on:
  push:
    paths:
      - 'src/**.nim'
      - '.github/workflows/*.yml'
      - '.github/workflows/*.yaml'
      - '.pre-commit-config.yaml'
      - '.gitignore'

jobs:
  build:
    if: |
      !contains(github.event.head_commit.message, '[skip ci]')
    strategy:
      fail-fast: false
      matrix:
        platform:     [ubuntu-latest, windows-latest]
        node:         [12, 13, 14, 15, 16, 17]
        nim-channel:  [stable, devel]
    name: ${{ matrix.platform }}-${{ matrix.node }}-${{ matrix.nim-channel }}
    runs-on: ${{ matrix.platform }}
    steps:
    - uses: actions/checkout@v2


    - uses: jiro4989/setup-nim-action@v1
      with:
        nim-version: ${{ matrix.nim-channel }}
        no-color: true  # --noColor


    - name: Setup NodeJS ${{ matrix.node }}
      uses: actions/setup-node@v2
      with:
        node-version: ${{ matrix.node }}


    - uses: pre-commit/[email protected]
      if: runner.os == 'Linux'

    # - uses: juancarlospaco/nimpretty-action@main
    #   with:
    #     folders: "src"


    - name: Set Environment Variables
      uses: allenevans/[email protected]
      with:
        ACTIONS_ALLOW_UNSECURE_COMMANDS: true
        NODE_OPTIONS: "--unhandled-rejections=warn"
        CMD: "nim doc -b:js -d:nodejs -d:nimExperimentalAsyncjsThen -d:nimStrictDelete -d:nimPreviewFloatRoundtrip -d:nimPreviewDotLikeOps --experimental:strictFuncs --experimental:strictEffects --index:on --project --styleCheck:usages --styleCheck:hint --outdir:../../docs"
        CMD2: "nim js -d:nodejs -d:nimExperimentalAsyncjsThen -d:nimStrictDelete -d:nimPreviewFloatRoundtrip --experimental:strictFuncs --experimental:strictEffects --styleCheck:usages --styleCheck:hint"

    # https://developer.ibm.com/languages/node-js/blogs/nodejs-15-release-blog
    - name: Generate Documentation
      shell: bash
      run: |
        cd src/nodejs/
        for i in *.nim; do
          $CMD $i
        done


    - name: Clean out
      shell: bash
      run: |
        rm --verbose --force --recursive docs/*.idx
        rm --verbose --force --recursive docs/nimcache/*.*
        rm --verbose --force --recursive docs/nimcache/runnableExamples/*.*


    - name: Commit Docs
      if: |
        github.event_name == 'push' && github.ref == 'refs/heads/main' && runner.os == 'Linux' &&
        matrix.platform == 'ubuntu-latest' && matrix.architecture == 'x64' && matrix.node == '17'
      uses: EndBug/add-and-commit@v4  # Commit everything to Git repo
      with:
        add: 'docs'
        force: true
        message: 'Fully Automated Luxury Nim'
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

    # - name: Test GUI
    #   shell: bash
    #   run: |
    #     cd tests/
    #     for i in *.nim; do
    #       $CMD $i
    #     done
    # TODO: check
    #     for i in *.nim; do
    #       $CMD2 $i
    #     done

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.