mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
163 lines
3.5 KiB
YAML
163 lines
3.5 KiB
YAML
name: Build majestic runtime
|
|
|
|
on: push
|
|
|
|
env:
|
|
LD_LIBRARY_PATH: /usr/local/lib
|
|
|
|
jobs:
|
|
|
|
ubuntu-runtime:
|
|
name: Runtime (Ubuntu)
|
|
runs-on: ubuntu-20.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Build runtime
|
|
working-directory: ./src/runtime/c
|
|
run: |
|
|
autoreconf -i
|
|
./configure
|
|
make
|
|
sudo make install
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@master
|
|
with:
|
|
name: libpgf-ubuntu
|
|
path: |
|
|
/usr/local/lib/libpgf*
|
|
/usr/local/include/pgf
|
|
|
|
ubuntu-haskell:
|
|
name: Haskell (Ubuntu)
|
|
runs-on: ubuntu-20.04
|
|
needs: ubuntu-runtime
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Download artifact
|
|
uses: actions/download-artifact@master
|
|
with:
|
|
name: libpgf-ubuntu
|
|
- run: |
|
|
sudo mv lib/* /usr/local/lib/
|
|
sudo mv include/* /usr/local/include/
|
|
|
|
- name: Setup Haskell
|
|
uses: haskell/actions/setup@v1
|
|
|
|
- name: Build & run testsuite
|
|
working-directory: ./src/runtime/haskell
|
|
run: |
|
|
cabal test --extra-lib-dirs=/usr/local/lib
|
|
|
|
ubuntu-python:
|
|
name: Python (Ubuntu)
|
|
runs-on: ubuntu-20.04
|
|
needs: ubuntu-runtime
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Download artifact
|
|
uses: actions/download-artifact@master
|
|
with:
|
|
name: libpgf-ubuntu
|
|
- run: |
|
|
sudo mv lib/* /usr/local/lib/
|
|
sudo mv include/* /usr/local/include/
|
|
|
|
- name: Install bindings
|
|
working-directory: ./src/runtime/python
|
|
run: |
|
|
python setup.py build
|
|
sudo python setup.py install
|
|
|
|
- name: Run testsuite
|
|
working-directory: ./src/runtime/python
|
|
run: |
|
|
pip install pytest
|
|
pytest
|
|
|
|
ubuntu-javascript:
|
|
name: JavaScript (Ubuntu)
|
|
runs-on: ubuntu-20.04
|
|
needs: ubuntu-runtime
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Download artifact
|
|
uses: actions/download-artifact@master
|
|
with:
|
|
name: libpgf-ubuntu
|
|
- run: |
|
|
sudo mv lib/* /usr/local/lib/
|
|
sudo mv include/* /usr/local/include/
|
|
|
|
- name: Install dependencies
|
|
working-directory: ./src/runtime/javascript
|
|
run: |
|
|
npm ci
|
|
|
|
- name: Run testsuite
|
|
working-directory: ./src/runtime/javascript
|
|
run: |
|
|
npm run test
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
macos-runtime:
|
|
name: Runtime (macOS)
|
|
runs-on: macOS-11
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Install build tools
|
|
run: |
|
|
brew install \
|
|
autoconf \
|
|
automake \
|
|
libtool \
|
|
|
|
- name: Build runtime
|
|
working-directory: ./src/runtime/c
|
|
run: |
|
|
glibtoolize
|
|
autoreconf -i
|
|
./configure
|
|
make
|
|
sudo make install
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@master
|
|
with:
|
|
name: libpgf-macos
|
|
path: |
|
|
/usr/local/lib/libpgf*
|
|
/usr/local/include/pgf
|
|
|
|
macos-haskell:
|
|
name: Haskell (macOS)
|
|
runs-on: macOS-11
|
|
needs: macos-runtime
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Download artifact
|
|
uses: actions/download-artifact@master
|
|
with:
|
|
name: libpgf-macos
|
|
- run: |
|
|
sudo mv lib/* /usr/local/lib/
|
|
sudo mv include/* /usr/local/include/
|
|
|
|
- name: Setup Haskell
|
|
uses: haskell/actions/setup@v1
|
|
|
|
- name: Build & run testsuite
|
|
working-directory: ./src/runtime/haskell
|
|
run: |
|
|
cabal test --extra-lib-dirs=/usr/local/lib
|