Skip to content

run tests once month #38

run tests once month

run tests once month #38

Workflow file for this run

name: C/C++ CI
on:
schedule:
- cron: "0 23 * * 6"
push:
branches: [master]
paths:
- 'src/**'
- 'include/**'
- '.github/workflows/**'
pull_request:
branches: [master]
jobs:
notification:
runs-on: ubuntu-latest
name: Notify start to irc-gitlama
outputs:
branch: ${{ steps.extract_branch.outputs.branch }}
steps:
- name: Extract Branch name
shell: bash
run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT
id: extract_branch
- name: IRC notification
uses: Gottox/irc-message-action@v2
with:
server: irc.uvt.nl
channel: '#gitlama'
nickname: GitHub
message: >
${{ github.actor }} started a build of
${{ github.event.repository.name }}
[${{ steps.extract_branch.outputs.branch }}]
build:
runs-on: ${{ matrix.os }}
needs: notification
strategy:
matrix:
os: [ubuntu-latest, macos-14]
compiler: [g++, clang++]
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- uses: actions/[email protected]
- name: Install Build Environment
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
sudo apt-get install pkg-config autoconf-archive
else
brew upgrade;
brew install pkg-config
brew install libtool
brew install autoconf-archive
brew install autoconf
brew install automake
fi
- name: Install Dependencies
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
sudo apt-get install libicu-dev libxml2-dev libbz2-dev
sudo apt-get install zlib1g-dev cppcheck
else
brew install libxml2
brew install bzip2
brew install zlib
brew install cppcheck
fi
- name: Configure CppCheck
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
cpc_opts="--enable=warning,style --inline-suppr --force -I include -I /usr/local/include --quiet --error-exitcode=0"
else
cpc_opts="--enable=warning,style --inline-suppr --force -I include --check-level=exhaustive --quiet --error-exitcode=0"
fi
echo "cpc_opts=$cpc_opts" >> $GITHUB_ENV
- name: install TiccUtils
env:
CXX: ${{ matrix.compiler }}
run: |
git clone https://github.com/LanguageMachines/ticcutils;
cd ticcutils;
bash bootstrap.sh;
./configure;
make;
sudo make install;
cd ..;
- name: install TiMBL
env:
CXX: ${{ matrix.compiler }}
run: |
git clone https://github.com/LanguageMachines/timbl;
cd timbl;
bash bootstrap.sh;
./configure;
make;
sudo make install;
cd ..;
- name: install Mbt
env:
CXX: ${{ matrix.compiler }}
run: |
git clone https://github.com/LanguageMachines/mbt;
cd mbt;
bash bootstrap.sh;
./configure;
make;
sudo make install;
cd ..;
- name: bootstrap
run: sh bootstrap.sh
- name: configure
env:
CXX: ${{ matrix.compiler }}
run: ./configure
- name: Get the cleaned compiler name
id: compiler
env:
COMPILER: ${{ matrix.compiler }}
run: |
cid=$(echo $COMPILER | cut -d\+ -f1)
echo "cid=$cid" >> $GITHUB_ENV
- run: echo "${{env.cid}}"
- name: Static Code-check
run: cppcheck ${{ env.cpc_opts }} .
- name: make
run: make
- name: install
run: sudo make install
- name: Notify IRC of failure
if: ${{ failure() }}
uses: Gottox/irc-message-action@v2
with:
server: irc.uvt.nl
channel: '#gitlama'
nickname: GH-${{ runner.os }}-${{ env.cid }}
message: "mbtServer [${{ needs.notification.outputs.branch }}] build with ${{ matrix.compiler }} by ${{ github.actor }} on ${{ matrix.os }}: \u00034FAIL\u0003"
- name: Notify IRC of succes
if: ${{ success() }}
uses: Gottox/irc-message-action@v2
with:
server: irc.uvt.nl
channel: '#gitlama'
nickname: GH-${{ runner.os }}-${{ env.cid }}
message: "mbtServer [${{ needs.notification.outputs.branch }}] build with ${{ matrix.compiler }} by ${{ github.actor }} on ${{ matrix.os }}: \u00033SUCCESS\u0003"