all repos — min @ master

A small but practical concatenative programming language.

.github/workflows/ci.yml

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
name: CI

# Controls when the action will run. 
on:
  # Triggers the workflow on push or pull request events but only for the master branch
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "ci"
  ci:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest
    env:
      CHOOSENIM_CHOOSE_VERSION: stable
      CHOOSENIM_NO_ANALYTICS: 1

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - uses: actions/checkout@v2
      
      - name: install musl-gcc
        run: sudo apt-get install -y musl-tools 
      
      - name: Update $PATH
        run: echo "$HOME/.nimble/bin" >> $GITHUB_PATH

      - name: Install Nim
        run: |
          curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh
          sh init.sh -y

      - name: Build
        run: nimble build -y -d:release -d:ssl -d:useOpenSsl3 --opt:size --gcc.exe:musl-gcc --gcc.linkerexe:musl-gcc --cpu:amd64 --os:linux

      - name: UPX
        uses: svenstaro/upx-action@v2
        with:
          files: |
            min
          args: --best --force

      - name: Test
        run: ./min tests/all.min