Skip to content

removed advanced from pattern select #296

removed advanced from pattern select

removed advanced from pattern select #296

Workflow file for this run

name: Core Build
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
workflow_dispatch: # manual trigger
jobs:
setup:
runs-on: ubuntu-latest
outputs:
vortex_version_major: ${{ steps.set_version.outputs.vortex_version_major }}
vortex_version_minor: ${{ steps.set_version.outputs.vortex_version_minor }}
vortex_build_number: ${{ steps.set_version.outputs.vortex_build_number }}
vortex_version_number: ${{ steps.set_version.outputs.vortex_version_number }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetches all history for all branches and tags
- name: Determine Version and Build Number
id: set_version
run: |
# Fetch all tags
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
# Get the latest tag that matches the branch suffix
LATEST_TAG=$(git tag --list | grep -E "^[[:digit:]]+\.[[:digit:]]+\$" | sort -V | tail -n1)
if [ -z "$LATEST_TAG" ]; then
echo "No matching tags found. Setting default version."
VERSION_MAJOR="0"
VERSION_MINOR="1"
BUILD_NUMBER="0"
else
echo "Found latest tag: $LATEST_TAG"
VERSION_MAJOR=$(echo $LATEST_TAG | cut -d. -f1)
VERSION_MINOR=$(echo $LATEST_TAG | cut -d. -f2)
BUILD_NUMBER=$(git rev-list --count $LATEST_TAG..HEAD)
fi
FULL_VERSION="$VERSION_MAJOR.$VERSION_MINOR.$BUILD_NUMBER"
echo "vortex_version_major=$VERSION_MAJOR" >> $GITHUB_OUTPUT
echo "vortex_version_minor=$VERSION_MINOR" >> $GITHUB_OUTPUT
echo "vortex_build_number=$BUILD_NUMBER" >> $GITHUB_OUTPUT
echo "vortex_version_number=$FULL_VERSION" >> $GITHUB_OUTPUT
echo "Version Number: $FULL_VERSION"
test:
needs: setup
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: |
export VORTEX_VERSION_MAJOR=${{ needs.setup.outputs.vortex_version_major }}
export VORTEX_VERSION_MINOR=${{ needs.setup.outputs.vortex_version_minor }}
export VORTEX_BUILD_NUMBER=${{ needs.setup.outputs.vortex_build_number }}
export VORTEX_VERSION_NUMBER=${{ needs.setup.outputs.vortex_version_number }}
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:
needs: [setup, 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 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
export VORTEX_VERSION_MAJOR=${{ needs.setup.outputs.vortex_version_major }}
export VORTEX_VERSION_MINOR=${{ needs.setup.outputs.vortex_version_minor }}
export VORTEX_BUILD_NUMBER=${{ needs.setup.outputs.vortex_build_number }}
export VORTEX_VERSION_NUMBER=${{ needs.setup.outputs.vortex_version_number }}
make -j wasm
working-directory: VortexEngine/VortexLib
docs:
needs: [setup, test, wasm]
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: |
mkdir -p docs/core
doxygen Doxyfile
echo "Listing contents of docs/core:"
ls -R docs/core || echo "No files found in docs/core"
- name: Upload Doxygen Documentation as Artifact
uses: actions/upload-artifact@v3
with:
name: doxygen-docs-core
path: docs/core