minimal refactoring #354
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: C/C++ CI | |
on: | |
schedule: | |
# Run monthly, at 4:00 on the 10t day of month. | |
- cron: "0 4 10 * *" | |
push: | |
branches: | |
- master | |
- action | |
paths: | |
- configure.ac | |
- 'src/**' | |
- 'include/**' | |
- .github/workflows/**.yml | |
pull_request: | |
branches: [master] | |
jobs: | |
notification: | |
runs-on: ubuntu-latest | |
name: Notify start to gitlama | |
steps: | |
- name: IRC notification | |
uses: LanguageMachines/ticcactions/irc-init@v1 | |
- name: Cancel Previous Runs | |
uses: styfle/[email protected] | |
with: | |
access_token: ${{ github.token }} | |
build: | |
needs: notification | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
compiler: [g++-12, clang++] | |
steps: | |
- uses: actions/[email protected] | |
- uses: LanguageMachines/ticcactions/cpp-build-env@v1 | |
- uses: LanguageMachines/ticcactions/cpp-dependencies@v1 | |
- uses: LanguageMachines/ticcactions/setup-cppcheck@v1 | |
- uses: LanguageMachines/ticcactions/irc-nick@v1 | |
- name: Install Special Dependencies | |
run: | | |
if [ "$RUNNER_OS" == "Linux" ] | |
then | |
sudo apt-get install expect | |
else | |
brew install telnet | |
fi | |
- uses: LanguageMachines/ticcactions/cpp-submodule-build@v1 | |
with: | |
module: ticcutils | |
- uses: LanguageMachines/ticcactions/cpp-submodule-build@v1 | |
with: | |
module: libfolia | |
- uses: LanguageMachines/ticcactions/cpp-submodule-build@v1 | |
with: | |
module: timbl | |
- uses: LanguageMachines/ticcactions/cpp-submodule-build@v1 | |
with: | |
module: mbt | |
- uses: LanguageMachines/ticcactions/add-textcat@v1 | |
- uses: LanguageMachines/ticcactions/cpp-submodule-build@v1 | |
with: | |
module: uctodata | |
- uses: LanguageMachines/ticcactions/cpp-submodule-build@v1 | |
with: | |
module: ucto | |
- uses: LanguageMachines/ticcactions/cpp-submodule-build@v1 | |
with: | |
module: frogdata | |
- name: Static Code-check | |
if: ${{ env.action_status == '' }} | |
run: cppcheck ${{ env.cpc_opts }} . | |
- uses: LanguageMachines/ticcactions/cpp-safe-build@v1 | |
- name: Notify IRC of build result | |
uses: LanguageMachines/ticcactions/irc-status@v1 | |
with: | |
branch: ${{ github.ref_name }} | |
nickname: ${{ env.nick }} | |
step: build | |
status: ${{ env.action_status }} | |
details: ${{ env.action_details }} | |
- name: frogtests | |
id: frogtests | |
if: ${{ env.action_status == '' }} | |
run: | | |
git clone --depth=1 --single-branch https://github.com/LanguageMachines/frogtests.git | |
cd frogtests | |
frog_bin=/usr/local/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib ./testaction.sh | |
TEST_STAT=$(cat status.tmp) | |
if [ $TEST_STAT != 0 ] | |
then | |
echo "action_status=frogtests" >> $GITHUB_ENV | |
fi | |
echo "action_details=$TEST_STAT errors" >> $GITHUB_ENV | |
continue-on-error: true | |
- name: log problems | |
if: >- | |
${{ env.action_status == '' && | |
steps.frogtests.outcome != 'success' }} | |
run: | | |
cat frogtests/*.err | |
cat frogtests/*.diff | |
- name: Notify IRC of end result | |
uses: LanguageMachines/ticcactions/irc-status@v1 | |
with: | |
branch: ${{ github.ref_name }} | |
nickname: ${{ env.nick }} | |
step: testing | |
status: ${{ env.action_status }} | |
details: ${{ env.action_details }} |