1# __ __ _ 2# ___\ \/ /_ __ __ _| |_ 3# / _ \\ /| '_ \ / _` | __| 4# | __// \| |_) | (_| | |_ 5# \___/_/\_\ .__/ \__,_|\__| 6# |_| XML parser 7# 8# Copyright (c) 2020-2024 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: Check expat_config.h.{in,cmake} for regressions 32 33on: 34 pull_request: 35 push: 36 schedule: 37 - cron: '0 2 * * 5' # Every Friday at 2am 38 workflow_dispatch: 39 40permissions: 41 contents: read 42 43jobs: 44 checks: 45 name: Check expat_config.h.{in,cmake} for regressions 46 runs-on: ubuntu-20.04 47 steps: 48 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 49 - name: Check expat_config.h.{in,cmake} for regressions 50 run: | 51 set -v 52 # A non-empty diff indicates a change in the list of macros exported: 53 # - Removals would be trouble (because expat_config.h is installed). 54 # - Additions could use an extra check by a human 55 ( cd expat && ./buildconf.sh ) # generate expat_config.h.in 56 diff -u <(sort < .github/workflows/data/expat_config_h_in__expected.txt) <(.github/workflows/scripts/list_exported_macros.sh expat/expat_config.h.in) 57 diff -u <(sort < .github/workflows/data/expat_config_h_cmake__expected.txt) <(.github/workflows/scripts/list_exported_macros.sh expat/expat_config.h.cmake) 58 59 # Informational (and not an ideal state) 60 diff -u \ 61 <(sort < .github/workflows/data/expat_config_h_in__expected.txt) \ 62 <(sort < .github/workflows/data/expat_config_h_cmake__expected.txt) \ 63 || true 64