diff --git a/.github/workflows/core_build.yml b/.github/workflows/core_build.yml new file mode 100644 index 0000000000..f3fe34f06c --- /dev/null +++ b/.github/workflows/core_build.yml @@ -0,0 +1,72 @@ +name: Core Build + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + workflow_dispatch: # manual trigger + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout current repository + uses: actions/checkout@v3 + - name: Update Package Lists + run: sudo apt-get update + - name: Install Dependencies + run: sudo apt-get install valgrind g++ make --fix-missing + - name: Build + run: make -j + working-directory: VortexEngine + - name: Set execute permissions for test script + run: chmod +x ./runtests.sh + working-directory: VortexEngine/tests + - name: Run general tests + run: ./runtests.sh --general + working-directory: VortexEngine/tests + + wasm: + runs-on: ubuntu-latest + steps: + - name: Checkout current repository + uses: actions/checkout@v3 + - name: Update Package Lists + run: sudo apt-get update + - name: Install Emscripten + run: | + sudo apt install -y cmake python3 + git clone https://github.com/emscripten-core/emsdk.git + cd emsdk + ./emsdk install latest + ./emsdk activate latest + working-directory: VortexEngine/VortexLib + - name: Build Webassembly + run: | + source ./emsdk/emsdk_env.sh + make -j wasm + working-directory: VortexEngine/VortexLib + + docs: + needs: test + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/master' + steps: + - name: Checkout current repository + uses: actions/checkout@v3 + - name: Update Package Lists + run: sudo apt-get update + - name: Install Dependencies + run: sudo apt-get install doxygen graphviz texlive --fix-missing + - name: Checkout doxygen-awesome + run: git clone https://github.com/jothepro/doxygen-awesome-css.git doxygen-awesome-css + - name: Generate Documentation + run: doxygen Doxyfile + - name: Commit and Push Documentation + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add docs + git commit -m "Update Doxygen documentation" + git push -f origin HEAD:core-docs