All Projects → jiro4989 → Setup Nim Action

jiro4989 / Setup Nim Action

Licence: mit
Setup Nim action

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects
nim
578 projects

Labels

Projects that are alternatives of or similar to Setup Nim Action

Release Notary
App to just generate release notes.
Stars: ✭ 26 (-43.48%)
Mutual labels:  ci
Yb
A new build tool optimized for local + remote development
Stars: ✭ 29 (-36.96%)
Mutual labels:  ci
Action Ros Ci
Github Action to build and test ROS 2 packages using colcon
Stars: ✭ 41 (-10.87%)
Mutual labels:  ci
Goci
goci is a command-line tool for checking the code quality of Go locally.
Stars: ✭ 11 (-76.09%)
Mutual labels:  ci
Chinese Poetry
The most comprehensive database of Chinese poetry 🧶最全中华古诗词数据库, 唐宋两朝近一万四千古诗人, 接近5.5万首唐诗加26万宋诗. 两宋时期1564位词人,21050首词。
Stars: ✭ 34,881 (+75728.26%)
Mutual labels:  ci
Python Packaging Tutorial
Tutorial on python packaging
Stars: ✭ 34 (-26.09%)
Mutual labels:  ci
Owasp Zap Glue Ci Images
Ready to use images of Zap and Glue, especially for CI integration.
Stars: ✭ 25 (-45.65%)
Mutual labels:  ci
Fluenttc
🌊 👬 🏢 Integrate with TeamCity fluently
Stars: ✭ 42 (-8.7%)
Mutual labels:  ci
Iceci
IceCI is a continuous integration system designed for Kubernetes from the ground up.
Stars: ✭ 29 (-36.96%)
Mutual labels:  ci
Aliyungradleconfig
自用的安卓开源项目工程模板。阿里云远程仓库加速,发布到maven仓库、上传到jcenter,代码混淆、资源混淆,持续集成(CI),多渠道自动打包。在天朝使用jcenter、mavenCentral及google三个远程仓库,Gradle Sync太慢?一招教你配置阿里云镜像源。init.d/init.gradle
Stars: ✭ 37 (-19.57%)
Mutual labels:  ci
Chn Eolinker Ams Lite 4.0 For Php
中国最大的在线API管理平台EOLINKER 旗下API管理系统开源精简版,适合个人以及微型团队使用。
Stars: ✭ 869 (+1789.13%)
Mutual labels:  ci
Plek
Make continuous deployment delightful. Deploy and preview your apps for each pull request with Plek. 🇳🇱
Stars: ✭ 15 (-67.39%)
Mutual labels:  ci
Cimonitor
Displays CI statuses on a dashboard and triggers fun modules representing the status!
Stars: ✭ 34 (-26.09%)
Mutual labels:  ci
Wufei
Async Kuberenetes Namespace Log Recorder / Streamer
Stars: ✭ 27 (-41.3%)
Mutual labels:  ci
Doact
A Terraform module for hosting your own runner for CI/CD on Digital Ocean to run jobs in your GitHub Actions workflows. 🚀
Stars: ✭ 42 (-8.7%)
Mutual labels:  ci
Sonarondocker
🐳 📡 Docker way of running SonarQube + any DB
Stars: ✭ 25 (-45.65%)
Mutual labels:  ci
Condition Circle
Checks CircleCI environment before publishing successful build using semantic-release
Stars: ✭ 32 (-30.43%)
Mutual labels:  ci
Infrabox
Stars: ✭ 45 (-2.17%)
Mutual labels:  ci
Xcode Server And Continuous Integration Guide In Chinese
《Xcode Server and Continuous Integration Guide》官方文档中文版
Stars: ✭ 42 (-8.7%)
Mutual labels:  ci
Drone Vault
Drone plugin for integrating with the Vault secrets manager
Stars: ✭ 36 (-21.74%)
Mutual labels:  ci

setup-nim-action

Build Status

This action sets up a Nim environment.

Usage

See action.yml

Basic usage

steps:
  - uses: actions/[email protected]
  - uses: jiro4989/[email protected]
    with:
      nim-version: '1.4.0' # default is 'stable'
  - run: nimble build -Y
  - run: nimble test -Y

Setup a latest patch version Nim

Setup a latest patch version Nim when nim-version is 1.n.x .

steps:
  - uses: actions/[email protected]
  - uses: jiro4989/[email protected]
    with:
      nim-version: '1.2.x' # ex: 1.0.x, 1.2.x, 1.4.x ...
  - run: nimble build -Y
  - run: nimble test -Y

Setup a latest minor version Nim

Setup a latest minor version Nim when nim-version is 1.x .

steps:
  - uses: actions/[email protected]
  - uses: jiro4989/[email protected]
    with:
      nim-version: '1.x'
  - run: nimble build -Y
  - run: nimble test -Y

Cache usage

steps:
  - uses: actions/[email protected]
  - name: Cache nimble
    id: cache-nimble
    uses: actions/[email protected]
    with:
      path: ~/.nimble
      key: ${{ runner.os }}-nimble-${{ hashFiles('*.nimble') }}
    if: runner.os != 'Windows'
  - uses: jiro4989/[email protected]
  - run: nimble build -Y
  - run: nimble test -Y

Matrix testing usage

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        nim: [ '1.2.0', 'stable', 'devel' ]
    name: Nim ${{ matrix.nim }} sample
    steps:
      - uses: actions/[email protected]
      - name: Setup nim
        uses: jiro4989/[email protected]
        with:
          nim-version: ${{ matrix.nim }}
      - run: nimble build

devel --latest usage

Use date cache-key for speed-up if you want to use devel --latest. See cache documents for more information and how to use the cache.

jobs:
  test_devel:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        include:
          - nim-version: 'devel --latest'
            cache-key: 'devel-latest'
    steps:
      - uses: actions/[email protected]

      - name: Get Date
        id: get-date
        run: echo "::set-output name=date::$(date "+%Y-%m-%d")"
        shell: bash

      - name: Cache choosenim
        id: cache-choosenim
        uses: actions/[email protected]
        with:
          path: ~/.choosenim
          key: ${{ runner.os }}-choosenim-${{ matrix.cache-key }}-${{ steps.get-date.outputs.date }}
      - name: Cache nimble
        id: cache-nimble
        uses: actions/[email protected]
        with:
          path: ~/.nimble
          key: ${{ runner.os }}-nimble-${{ hashFiles('*.nimble') }}
      - uses: jiro4989/[email protected]
        with:
          nim-version: "${{ matrix.nim-version }}"

      - run: nimble build

Full example

See .github/workflows/test.yml.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].