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