Skip to content

[ ci ] Use pack for dependency management instead of pinned commits #110

[ ci ] Use pack for dependency management instead of pinned commits

[ ci ] Use pack for dependency management instead of pinned commits #110

Workflow file for this run

name: Build
on:
push:
branches:
- '**'
pull_request:
branches:
- '**'
########################################################################
## CONFIGURATION
########################################################################
env:
SCHEME: scheme
jobs:
ubuntu-chez:
runs-on: ubuntu-latest
env:
PACK_DIR: /root/.pack
strategy:
fail-fast: false
container: ghcr.io/stefan-hoeck/idris2-pack:latest
steps:
- name: Checkout idris2-tls
uses: actions/checkout@v2
- name: Install idris deps
run: pack install-deps tls.ipkg
- name: Build package
run: make install
- name: Test package
run: make test
# windows-chez:
# runs-on: windows-latest
# env:
# MSYSTEM: MINGW64
# MSYS2_PATH_TYPE: inherit
# SCHEME: scheme
# CC: gcc
# steps:
# - name: Init
# run: |
# git config --global core.autocrlf false
# - name: Checkout
# uses: actions/checkout@v2
# # This caching step allows us to save a lot of building time by only
# # rebuilding Idris2 from boostrap if absolutely necessary
# - name: Cache Idris2
# uses: actions/cache@v2
# id: cache-idris2
# with:
# path: |
# ChezScheme
# .idris2
# key: ${{ runner.os }}-${{ env.IDRIS2_COMMIT }}
# - name: Get Chez Scheme
# if: steps.cache-idris2.outputs.cache-hit != 'true'
# run: |
# git clone --depth 1 https://github.com/cisco/ChezScheme
# c:\msys64\usr\bin\bash -l -c "pacman -S --noconfirm tar make mingw-w64-x86_64-gcc"
# echo "PWD=$(c:\msys64\usr\bin\cygpath -u $(pwd))" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# - name: Configure and Build Chez Scheme
# if: steps.cache-idris2.outputs.cache-hit != 'true'
# run: |
# c:\msys64\usr\bin\bash -l -c "cd $env:PWD && cd ChezScheme && ./configure --threads && make"
# - name: Set Path
# run: |
# $chez="$(pwd)\ChezScheme\ta6nt\bin\ta6nt"
# $idris="$(pwd)\.idris2"
# echo "$chez" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
# echo "$idris\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
# echo "IDRIS_PREFIX=$idris" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# echo "PREFIX=$(c:\msys64\usr\bin\cygpath -u $idris)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# - name: Test Scheme
# run: |
# scheme --version
# - name: Install Idris2
# if: steps.cache-idris2.outputs.cache-hit != 'true'
# run: |
# git clone https://github.com/idris-lang/idris2
# cd idris2
# git checkout ${{ env.IDRIS2_COMMIT }}
# c:\msys64\usr\bin\bash -l -c "cd $env:PWD && cd idris2 && make bootstrap && make install"
# - name: Install idris2-elab-util
# run: |
# git clone https://github.com/stefan-hoeck/idris2-elab-util
# cd idris2-elab-util
# git checkout ${{ env.ELAB_COMMIT }}
# make install
# - name: Checkout idris2-tls
# uses: actions/checkout@v2
# with:
# path: tls
# - name: Install idris deps
# run: |
# cd tls
# - name: Build package
# run: |
# cd tls
# echo "TLS=$(c:\msys64\usr\bin\cygpath -u $(pwd))" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# make install
# - name: Test package
# run: c:\msys64\usr\bin\bash -l -c "cd $env:TLS && make test"
# macos-chez:
# runs-on: macos-latest
# env:
# SCHEME: chez
# steps:
# # This caching step allows us to save a lot of building time by only
# # rebuilding Idris2 from boostrap if absolutely necessary
# - name: Cache Idris2
# uses: actions/cache@v2
# id: cache-idris2
# with:
# path: |
# ~/.idris2
# key: ${{ runner.os }}-${{ env.IDRIS2_COMMIT }}
# - name: Install Idris2 build dependencies
# run: |
# brew install chezscheme
# brew install coreutils
# echo "$HOME/.idris2/bin" >> "$GITHUB_PATH"
# - name: Build Idris 2 from bootstrap
# if: steps.cache-idris2.outputs.cache-hit != 'true'
# run: |
# git clone https://github.com/idris-lang/idris2
# cd idris2
# git checkout ${{ env.IDRIS2_COMMIT }}
# chmod -R a-w bootstrap
# make bootstrap && make install
# shell: bash
# - name: Install idris2-elab-util
# run: |
# git clone https://github.com/stefan-hoeck/idris2-elab-util
# cd idris2-elab-util
# git checkout ${{ env.ELAB_COMMIT }}
# make install
# shell: bash
# - name: Install idris2-sop
# run: |
# git clone https://github.com/stefan-hoeck/idris2-sop
# cd idris2-sop
# git checkout ${{ env.SOP_COMMIT }}
# idris2 --install sop.ipkg
# shell: bash
# - name: Checkout idris2-tls
# uses: actions/checkout@v2
# with:
# path: tls
# - name: Build package
# run: |
# cd tls
# make install
# - name: Test package
# run: |
# cd tls
# make test