/
githubmirror
/
libexpat
Обзор
Документация
Войти
/
githubmirror
/
libexpat
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
.github/workflows/solaris.yml
107 строк
4 KB
Sebastian Pipping
Limit CI runtime and package installation runtime
07 авг 2026, 21:11
07 авг 2026, 21:11
64d2c76
Код
Авторство
О чём код?
# __ __ _ # ___\ \/ /_ __ __ _| |_ # / _ \\ /| '_ \ / _` | __| # | __// \| |_) | (_| | |_ # \___/_/\_\ .__/ \__,_|\__| # |_| XML parser # # Copyright (c) 2026 Sebastian Pipping <sebastian@pipping.org> # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the # "Software"), to deal in the Software without restriction, including # without limitation the rights to use, copy, modify, merge, publish, # distribute, sublicense, and/or sell copies of the Software, and to permit # persons to whom the Software is furnished to do so, subject to the # following conditions: # # The above copyright notice and this permission notice shall be included # in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN # NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE # USE OR OTHER DEALINGS IN THE SOFTWARE. name: Build in a Solaris VM on: pull_request: push: schedule: - cron: '0 2 * * 5' # Every Friday at 2am workflow_dispatch: permissions: contents: read jobs: solaris: name: Build in a Solaris VM timeout-minutes: 30 runs-on: ubuntu-24.04 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - uses: vmactions/solaris-vm@315163f088b66e55bbcc45928bd224d4973b2312 # v1.3.8 with: release: "11.4-gcc" # with GCC 14 as of 2026-01-11 usesh: true prepare: | set -e -u -x # NOTE: Exit code 0 means "all now installed and all not before". # Exit code 3 means "all now installed and some not before". # Exit code 4 means "all now installed and all already before". # Command "pkg list -a" can show a list of packages available. timeout 10m pkg install \ autoconf \ automake \ bash \ cmake \ gnu-make \ gnu-sed \ libtool \ || [ $? -eq 3 -o $? -eq 4 ] # see comment block above run: | set -e -u -x compile_flags='-Wall -Wextra -pedantic -O1 -pipe' export CFLAGS="-std=c99 ${compile_flags}" export CXXFLAGS="-std=c++11 ${compile_flags}" gcc -v g++ -v cd expat ./buildconf.sh # 1 of 2: GNU Autotools build system mkdir build_autotools cd build_autotools ../configure gmake -j2 CFLAGS="${CFLAGS} -Werror" gmake check CFLAGS="${CFLAGS} -Werror" CXXFLAGS="${CXXFLAGS} -Werror" gmake run-xmltest gmake install DESTDIR="${PWD}/ROOT/" find ROOT/ cd .. # 2 of 2: CMake build system mkdir build_cmake cd build_cmake cmake -S .. -B . -DEXPAT_WARNINGS_AS_ERRORS:BOOL=ON gmake -j2 VERBOSE=1 gmake test VERBOSE=1 gmake run-xmltest VERBOSE=1 gmake install DESTDIR="${PWD}/ROOT/" find ROOT/ cd ..