all repos — min @ 04d60f816171bc25188f1842fe0c3f787c917aba

A small but practical concatenative programming language.

.github/workflows/release.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
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
name: Release

# 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"
  package:
    name: "Package"

    # The type of runner that the job will run on
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os:
          - ubuntu-latest
          - macos-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:
      - name: "Cancel similar actions in progress"
        uses: styfle/cancel-workflow-action@0.6.0
        with:
          access_token: ${{ github.token }}

      # 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 
        if: matrix.os == 'ubuntu-latest'
      
      - 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: Install nifty
        run: nimble install -y nifty
        
      - name: Install deps
        run: nifty install
      
      - name: Build (Linux)
        run: nim c -d:release -d:ssl --gcc.exe:musl-gcc --gcc.linkerexe:musl-gcc --cpu:amd64 --os:linux  -o:min min
        if: matrix.os == 'ubuntu-latest'

      - name: Build (MacOS)
        run: nim c -d:release -d:ssl -o:min min
        if: matrix.os == 'macos-latest'
      
      - name: Create artifact
        run: |
          install -m 0755 ./min .
          tar czf min-${{runner.os}}.tar.gz min README.md LICENSE

      - name: Upload Artifact
        uses: 'actions/upload-artifact@v1'
        with:
          name: min-${{runner.os}}.tar.gz
          path: min-${{runner.os}}.tar.gz