1# __ __ _ 2# ___\ \/ /_ __ __ _| |_ 3# / _ \\ /| '_ \ / _` | __| 4# | __// \| |_) | (_| | |_ 5# \___/_/\_\ .__/ \__,_|\__| 6# |_| XML parser 7# 8# Copyright (c) 2021-2023 Sebastian Pipping <sebastian@pipping.org> 9# Copyright (c) 2023 Joyce Brum <joycebrum@google.com> 10# Licensed under the MIT license: 11# 12# Permission is hereby granted, free of charge, to any person obtaining 13# a copy of this software and associated documentation files (the 14# "Software"), to deal in the Software without restriction, including 15# without limitation the rights to use, copy, modify, merge, publish, 16# distribute, sublicense, and/or sell copies of the Software, and to permit 17# persons to whom the Software is furnished to do so, subject to the 18# following conditions: 19# 20# The above copyright notice and this permission notice shall be included 21# in all copies or substantial portions of the Software. 22# 23# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 26# NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 27# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 28# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 29# USE OR OTHER DEALINGS IN THE SOFTWARE. 30 31name: Collect test coverage 32 33on: 34 pull_request: 35 push: 36 schedule: 37 - cron: '0 2 * * 5' # Every Friday at 2am 38 39permissions: 40 contents: read 41 42jobs: 43 checks: 44 name: Collect test coverage 45 runs-on: ubuntu-22.04 46 env: 47 CFLAGS: -g3 -pipe 48 steps: 49 - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 50 - name: Install build dependencies 51 run: |- 52 set -x -u 53 source /etc/os-release 54 55 # Unlock 32bit architecture (for Wine further down) 56 sudo dpkg --add-architecture i386 # for wine32 57 sudo apt-get update # due to new architecture 58 59 sudo apt-get install --yes --no-install-recommends -V \ 60 cmake \ 61 docbook2x \ 62 dos2unix \ 63 gcc-multilib \ 64 g++-multilib \ 65 lcov \ 66 libbsd-dev \ 67 lzip \ 68 moreutils \ 69 ppa-purge 70 71 # Install 32bit Wine 72 sudo ppa-purge -y ppa:ubuntu-toolchain-r/test # to unblock 73 sudo apt-get install --yes --no-install-recommends -V \ 74 mingw-w64 \ 75 wine-stable \ 76 wine32:i386 77 - name: Unshallow Git clone 78 run: | 79 git fetch --force --tags --unshallow origin # for "git describe" in coverage.sh 80 - name: Collect test coverage 81 env: 82 MODE: coverage-sh 83 run: | 84 exec ./.ci.sh 85 86 - name: Store coverage .info and HTML report 87 uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 88 with: 89 name: coverage 90 path: expat/coverage__*/ 91 if-no-files-found: error 92