Skip to content

Fixed incorrect handling of polygon fill modes (#42) #84

Fixed incorrect handling of polygon fill modes (#42)

Fixed incorrect handling of polygon fill modes (#42) #84

Workflow file for this run

# Copyright (c) 2021-2024 [Ribose Inc](https://www.ribose.com).
# All rights reserved.
# This file is a part of tamatebako
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
# The purpose of this workflow is to check that build procedures work correctly
# in specific environment. Due to this reason there is no caching. It is done by
# intention. All caching is in upstream projects.
name: Ubuntu-x86_64
on:
push:
branches: [ master ]
paths-ignore:
- '.github/workflows/alpine-x86_64.yml'
- '.github/workflows/macos-x86_64.yml'
- '.github/workflows/macos-arm64.yml'
- '.github/workflows/ubuntu-aarch64.yml'
- '.github/workflows/msys-x86_64.yml'
- '.github/workflows/windows-x86_64.yml'
pull_request:
workflow_dispatch:
concurrency:
group: '${{ github.workflow }}-${{ github.job }}-${{ github.head_ref || github.ref_name }}'
cancel-in-progress: true
env:
BUILD_TYPE: Release
VCPKG_DEFAULT_BINARY_CACHE: ${{ github.workspace }}/cache
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install packages
run: |
sudo apt-get update
sudo apt-get install libxml2-utils valgrind
- name: Configure CMake
run: |
cmake -B build -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
- name: Build
run: |
cmake --build build --config ${{env.BUILD_TYPE }}
- name: Test well formed files
working-directory: ${{ github.workspace }}
run: ./tests/resources/check_correctness.sh -r -s
- name: Test corrupted files
working-directory: ${{ github.workspace }}
run: ./tests/resources/check_correctness.sh -r -s -e tests/resources/emf-corrupted/ -xN
- name: Test EA files
working-directory: ${{ github.workspace }}
run: ./tests/resources/check_correctness.sh -r -s -e tests/resources/emf-ea/
coverage:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install packages
run: |
sudo apt-get update
sudo apt-get install libxml2-utils valgrind lcov
- name: Install coveralls
run: sudo pip install cpp-coveralls
- name: Configure CMake
run: |
cmake -B build -DCMAKE_BUILD_TYPE=Debug -DGCOV=ON
- name: Build
run: |
cmake --build build --config ${{env.BUILD_TYPE}}
- name: Report
run: |
cd build
coveralls \
-t ${{ secrets.COVERALLS_REPO_TOKEN }} \
-E '.*CMakeFiles.*' \
-E '.*conv.*' \
-E '.*uemf.*' \
-E '.*upmf.*' \
-E '.*goodies.*' \
-E '.*tests.*' \
--gcov-options '\-lp'
build-for-ruby:
runs-on: ubuntu-latest
steps:
- name: Install packages
run: |
sudo apt-get update
sudo apt-get install gperf
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Create cache storage and cache key
run: |
mkdir ${{ env.VCPKG_DEFAULT_BINARY_CACHE }}
git submodule status > sm.txt
- name: Process cache
uses: actions/cache@v4
with:
path: ${{ env.VCPKG_DEFAULT_BINARY_CACHE }}
key: ${{ github.workflow }}-vcpkg-${{ hashFiles('sm.txt') }}
- name: Configure CMake
run: |
cmake -B build -DCMAKE_BUILD_TYPE=Release \
-DVCPKG_TARGET_TRIPLET=x64-linux \
-DLONLY=ON \
-DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake
- name: Build
run: |
cmake --build build --config ${{env.BUILD_TYPE}}
- name: Checkout shell test framework
uses: actions/checkout@v4
with:
repository: kward/shunit2
path: tests/shunit2
fetch-depth: 1
- name: Run additional tests
run: tests/resources/lcheck.sh