diff --git a/.github/workflows/cmake-ubuntu-22.04.yml b/.github/workflows/cmake-ubuntu-22.04.yml new file mode 100644 index 0000000..ece50a8 --- /dev/null +++ b/.github/workflows/cmake-ubuntu-22.04.yml @@ -0,0 +1,70 @@ +name: CMake for Fun on Ubuntu-22.04 + +on: + push: + branches: [ "main" ] + +env: + BUILD_TYPE: Release + +jobs: + build: + runs-on: ubuntu-22.04 + defaults: + run: + working-directory: ${{github.workspace}} + + steps: + - uses: actions/checkout@v4 + + - name: Update apt + run: sudo apt update + + - name: Upgrade apt + run: sudo apt upgrade -y + + - name: Install dependencies + run: sudo apt install cmake libjson-c-dev libssl-dev -y + + - name: Configure CMake + run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DFUN_DEBUG=OFF -DFUN_WITH_REPL=OFF -DFUN_WITH_PCSC=OFF -DFUN_WITH_LIBSQL=OFF -DFUN_WITH_SQLITE=OFF -DFUN_WITH_CURL=OFF -DFUN_WITH_PCRE2=OFF -DFUN_WITH_XML2=OFF -DFUN_WITH_JSON=ON -DFUN_WITH_TCLTK=OFF -DFUN_WITH_INI=OFF -DFUN_WITH_NOTCURSES=OFF -DFUN_WITH_CPP=ON -DFUN_WITH_OPENSSL=ON -DFUN_WITH_LIBRESSL=OFF -DFUN_WITH_YAML=OFF -DFUN_USE_MUSL=OFF -DFUN_WITH_RUST=OFF + + - name: Build + run: cmake --build build --config ${{env.BUILD_TYPE}} --target all + + - name: Test + working-directory: ${{github.workspace}}/build + run: ctest -C ${{env.BUILD_TYPE}} + + - name: Run Examples + run: ./scripts/run_examples.sh + + - name: Run Examples (algos) + run: ./scripts/run_examples.sh algos + + - name: Run Examples (arrays) + run: ./scripts/run_examples.sh arrays + + - name: Run Examples (basics) + run: ./scripts/run_examples.sh basics + + - name: Run Examples (compose) + run: ./scripts/run_examples.sh compose + + - name: Run Examples (crypto) + run: ./scripts/run_examples.sh crypto + + #- name: Run Examples (extra) + # run: ./scripts/run_examples.sh extra + + - name: Run Examples (io) + run: ./scripts/run_examples.sh io + + - name: Run Examples (math) + run: ./scripts/run_examples.sh math + + - name: Run Examples (patterns) + run: ./scripts/run_examples.sh patterns + + - name: Run Examples (strings) + run: ./scripts/run_examples.sh strings