diff --git a/.github/workflows/test_Go.yml b/.github/workflows/test_Go.yml deleted file mode 100644 index 1b66be430..000000000 --- a/.github/workflows/test_Go.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: "Test: Go" - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: go install - run: sudo apt install golang-go - - name: make go - run: make go diff --git a/.github/workflows/test_JavaScript.yml b/.github/workflows/test_JavaScript.yml deleted file mode 100644 index 8e9d1de3c..000000000 --- a/.github/workflows/test_JavaScript.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: "Test: Javascript" - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -jobs: - build: - - runs-on: ubuntu-22.04 - - steps: - - uses: actions/checkout@v3 - - name: Install LLVM and Clang - uses: KyleMayes/install-llvm-action@v1 - with: - version: "10.0" - - name: python deps - run: python3 -m pip install -r reqs/requirements.txt - - name: javascript prerequisites - run: | - sudo apt install clang-14 lld-14 llvm-14 nodejs libjs-d3 python3-numpy - sudo apt install nodejs llvm -y - wget -c http://archive.ubuntu.com/ubuntu/pool/universe/e/emscripten/emscripten_3.1.6~dfsg-5_all.deb - sudo apt install ./emscripten_3.1.6~dfsg-5_all.deb - - name: make js - run: | - emcc -v - make js - node ./build/js/a.out.js 1d20 diff --git a/.github/workflows/test_Perl.yml b/.github/workflows/test_Perl.yml deleted file mode 100644 index 570a14d4d..000000000 --- a/.github/workflows/test_Perl.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: "Test: Perl" - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: perl install - run: sudo apt install perl - - name: make perl - run: make perl - - name: test perl - run: perl src/perl/example_application.pl - diff --git a/.github/workflows/test_R.yml b/.github/workflows/test_R.yml deleted file mode 100644 index 8cf99a3d7..000000000 --- a/.github/workflows/test_R.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: "Test: R" - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -jobs: - build: - runs-on: ubuntu-latest - - - steps: - - uses: actions/checkout@v3 - - uses: r-lib/actions/setup-r@v2 - - name: make r - run: make r diff --git a/.github/workflows/test_C_and_Python.yml b/.github/workflows/test_core.yml similarity index 88% rename from .github/workflows/test_C_and_Python.yml rename to .github/workflows/test_core.yml index e826bf61b..38e962f96 100644 --- a/.github/workflows/test_C_and_Python.yml +++ b/.github/workflows/test_core.yml @@ -1,4 +1,4 @@ -name: "Test: C/Python" +name: "Core Tests" on: push: @@ -8,7 +8,7 @@ on: jobs: - build: + build_linux: runs-on: ubuntu-latest @@ -64,6 +64,3 @@ jobs: run: make all - name: Test run: ./build/dice 20 - #run: python3 -m pip install GNOLL - #- name: Run tests - # run: python3 -c "from gnoll.parser import roll;roll('1d20')" diff --git a/.github/workflows/test_julia.yml b/.github/workflows/test_julia.yml deleted file mode 100644 index 93878d829..000000000 --- a/.github/workflows/test_julia.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: "Test: Julia" - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: go install - run: sudo apt install julia - - name: make julia - run: make julia diff --git a/.github/workflows/test_langs.yml b/.github/workflows/test_langs.yml new file mode 100644 index 000000000..d3c258ded --- /dev/null +++ b/.github/workflows/test_langs.yml @@ -0,0 +1,74 @@ +name: "Binding Tests" + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build_go: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: go install + run: sudo apt install golang-go + - name: make go + run: make go + + build_javascript: + runs-on: ubuntu-22.0 + steps: + - uses: actions/checkout@v3 + - name: Install LLVM and Clang + uses: KyleMayes/install-llvm-action@v1 + with: + version: "10.0" + - name: python deps + run: python3 -m pip install -r reqs/requirements.txt + - name: javascript prerequisites + run: | + sudo apt install clang-14 lld-14 llvm-14 nodejs libjs-d3 python3-numpy + sudo apt install nodejs llvm -y + wget -c http://archive.ubuntu.com/ubuntu/pool/universe/e/emscripten/emscripten_3.1.6~dfsg-5_all.deb + sudo apt install ./emscripten_3.1.6~dfsg-5_all.deb + - name: make js + run: | + emcc -v + make js + node ./build/js/a.out.js 1d20 + + build_julia: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: go install + run: sudo apt install julia + - name: make julia + run: make julia + + + build_perl: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: perl install + run: sudo apt install perl + - name: make perl + run: make perl + - name: test perl + run: perl src/perl/example_application.pl + + + build_R: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - uses: r-lib/actions/setup-r@v2 + - name: make r + run: make r diff --git a/.github/workflows/test_pip.yml b/.github/workflows/test_packages.yml similarity index 90% rename from .github/workflows/test_pip.yml rename to .github/workflows/test_packages.yml index abb5a2057..7defa7d95 100644 --- a/.github/workflows/test_pip.yml +++ b/.github/workflows/test_packages.yml @@ -1,11 +1,11 @@ -name: "Test: GNOLL from PyPi" +name: "Test: Packaging" on: push: branches: [ main ] jobs: - verify: + verify_pypi: runs-on: ubuntu-latest steps: diff --git a/README.md b/README.md index 9502e2df4..893f3b036 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ # GNOLL -[![Build + Test](https://github.com/ianfhunter/GNOLL/actions/workflows/test_C_and_Python.yml/badge.svg)](https://github.com/ianfhunter/GNOLL/actions/workflows/test_C_and_Python.yml) -[![Test: Perl](https://github.com/ianfhunter/GNOLL/actions/workflows/test_Perl.yml/badge.svg)](https://github.com/ianfhunter/GNOLL/actions/workflows/test_Perl.yml) -[![Test: JavaScript](https://github.com/ianfhunter/GNOLL/actions/workflows/test_JavaScript.yml/badge.svg)](https://github.com/ianfhunter/GNOLL/actions/workflows/test_JavaScript.yml) -[![Test: Go](https://github.com/ianfhunter/GNOLL/actions/workflows/test_Go.yml/badge.svg)](https://github.com/ianfhunter/GNOLL/actions/workflows/test_Go.yml) -[![Test: Julia](https://github.com/ianfhunter/GNOLL/actions/workflows/test_julia.yml/badge.svg)](https://github.com/ianfhunter/GNOLL/actions/workflows/test_julia.yml) -[![Test: R](https://github.com/ianfhunter/GNOLL/actions/workflows/test_R.yml/badge.svg)](https://github.com/ianfhunter/GNOLL/actions/workflows/test_R.yml) + +![C](https://img.shields.io/badge/c-%2300599C.svg?style=for-the-badge&logo=c&logoColor=white) +![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=for-the-badge&logo=javascript&logoColor=%23F7DF1E) +![Julia](https://img.shields.io/badge/-Julia-9558B2?style=for-the-badge&logo=julia&logoColor=white) +![Perl](https://img.shields.io/badge/perl-%2339457E.svg?style=for-the-badge&logo=perl&logoColor=white) +![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54) +![R](https://img.shields.io/badge/r-%23276DC3.svg?style=for-the-badge&logo=r&logoColor=white) + +[![Core Tests](https://github.com/ianfhunter/GNOLL/actions/workflows/test_core.yml/badge.svg)](https://github.com/ianfhunter/GNOLL/actions/workflows/test_core.yml) +[![Binding Tests](https://github.com/ianfhunter/GNOLL/actions/workflows/test_langs.yml/badge.svg)](https://github.com/ianfhunter/GNOLL/actions/workflows/test_langs.yml) [![CodeFactor](https://www.codefactor.io/repository/github/ianfhunter/gnoll/badge)](https://www.codefactor.io/repository/github/ianfhunter/gnoll) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/90add1388135474a928b715ddbb071b4)](https://www.codacy.com/gh/ianfhunter/GNOLL/dashboard?utm_source=github.com&utm_medium=referral&utm_content=ianfhunter/GNOLL&utm_campaign=Badge_Grade)