update year in license #108
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: | |
- '**' | |
pull_request: | |
branches: | |
- '**' | |
######################################################################## | |
## CONFIGURATION | |
######################################################################## | |
env: | |
IDRIS2_COMMIT: v0.6.0 | |
SCHEME: scheme | |
ELAB_COMMIT: 87f9d910f4669b38d9d2cd67b5a63922dffb1ab1 | |
SOP_COMMIT: 87a30cf81117f387824f945374081ffa2effa8a0 | |
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 idris2-sop | |
run: pack install sop | |
- 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: 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 | |
- name: Checkout idris2-tls | |
uses: actions/checkout@v2 | |
with: | |
path: 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 |