expire_in: 1 week
paths:
- GRAPHVIZ_VERSION
- - COLLECTION
- graphviz-*.tar.gz
- graphviz-*.tar.xz
except:
when: on_success
expire_in: 1 week
paths:
- - Packages/*/*/*/*/*.rpm
- - Metadata/*/*/*/configure.log
+ - Packages/*/*/*/*.rpm
+ - Metadata/*/*/configure.log
- GRAPHVIZ_VERSION
- - COLLECTION
reports:
metrics: metrics.txt
except:
when: on_success
expire_in: 1 week
paths:
- - Packages/*/*/*/*/*deb
- - Metadata/*/*/*/configure.log
+ - Packages/*/*/*/*deb
+ - Metadata/*/*/configure.log
- GRAPHVIZ_VERSION
- - COLLECTION
reports:
metrics: metrics.txt
except:
expire_in: 1 week
paths:
- GRAPHVIZ_VERSION
- - COLLECTION
- - Packages/*/*/*/*/*.zip
- - Packages/*/*/*/*/*.tar.gz
- - Metadata/*/*/*/configure.log
+ - Packages/*/*/*/*.zip
+ - Packages/*/*/*/*.tar.gz
+ - Metadata/*/*/configure.log
reports:
metrics: metrics.txt
except:
- cat metrics.txt
# avoid BOM in GRAPHVIZ_VERSION file
- python gen_version.py | Out-File GRAPHVIZ_VERSION -Encoding ascii
- # avoid BOM in COLLECTION file
- - python gen_version.py --collection | Out-File COLLECTION -Encoding ascii
# Package
- $Env:GV_VERSION=$( cat GRAPHVIZ_VERSION )
- >-
# Create artifacts to archive
- $ID = "windows"
- $VERSION_ID = "10"
- - $COLLECTION = $( cat COLLECTION )
- - $DIR = "Packages\${COLLECTION}\${ID}\${VERSION_ID}\$env:build_system\$env:configuration"
+ - $DIR = "Packages\${ID}\${VERSION_ID}\$env:build_system\$env:configuration"
- mkdir -p $DIR
- >-
if($env:build_system -eq "cmake") {
when: on_success
expire_in: 1 week
paths:
- - Packages/*/*/*/*/*/*.exe
- - Packages/*/*/*/*/*/*.zip
+ - Packages/*/*/*/*/*.exe
+ - Packages/*/*/*/*/*.zip
reports:
metrics: metrics.txt
junit: report.xml
<<: *deb_build_definition
before_script:
- export CONFIGURE_OPTIONS="--disable-shared --enable-static"
- - echo experimental > COLLECTION
needs:
- job: docker_build_ubuntu-21.04
artifacts: false
when: on_success
expire_in: 1 week
paths:
- - Packages/*/*/*/*/*deb
- - Packages/*/*/*/*/*.xz
- - Metadata/*/*/*/configure.log
+ - Packages/*/*/*/*deb
+ - Packages/*/*/*/*.xz
+ - Metadata/*/*/configure.log
- GRAPHVIZ_VERSION
- - COLLECTION
reports:
metrics: metrics.txt
tags:
<<: *deb_build_definition
before_script:
- export CONFIGURE_OPTIONS="--disable-shared --enable-static"
- - echo experimental > COLLECTION
needs:
- job: docker_build_ubuntu-21.10
artifacts: false
when: on_success
expire_in: 1 week
paths:
- - Packages/*/*/*/*/*deb
- - Packages/*/*/*/*/*.xz
- - Metadata/*/*/*/configure.log
+ - Packages/*/*/*/*deb
+ - Packages/*/*/*/*.xz
+ - Metadata/*/*/configure.log
- GRAPHVIZ_VERSION
- - COLLECTION
reports:
metrics: metrics.txt
tags:
<<: *macos_build_definition
before_script:
- python3 gen_version.py > GRAPHVIZ_VERSION # FIXME: remove when building from portable source
- - echo experimental > COLLECTION
- export build_system="autotools"
tags:
- shared-macos-amd64
- git -c core.autocrlf=false reset --hard
- choco config set cacheLocation choco-cache
- choco install --yes --no-progress cygwin
- # avoid BOM in COLLECTION file
- - echo experimental | Out-File COLLECTION -Encoding ascii
- $Env:build_system = "autotools"
# change line endings from crlf to lf by git checkout
- C:\tools\cygwin\bin\bash -l -c 'cd $CI_PROJECT_DIR && ci/cygwin-build.sh'
expire_in: 1 week
paths:
- GRAPHVIZ_VERSION
- - COLLECTION
- - Packages/*/*/*/*/*.xz
+ - Packages/*/*/*/*.xz
cache:
key: windows-cygwin-build
paths:
- choco install --yes --no-progress cygwin
- choco install --yes --no-progress --params "/InstallDir:C:\Python3" python3
- $env:Path = "C:\Python3;" + $env:Path
- # avoid BOM in COLLECTION file
- - echo experimental | Out-File COLLECTION -Encoding ascii
# avoid BOM in GRAPHVIZ_VERSION file
- python gen_version.py | Out-File GRAPHVIZ_VERSION -Encoding ascii
- $Env:build_system = "autotools"
when: always
expire_in: 1 week
paths:
- - COLLECTION
- - Packages/*/*/*/*/*.xz
+ - Packages/*/*/*/*.xz
cache:
key: windows-cygwin-build-using-autogen
paths:
# fail on any compiler warnings
- export CFLAGS=-Werror
- export CXXFLAGS=-Werror
- - echo experimental > COLLECTION
tags:
- linux
variables:
- export CFLAGS=-Werror
- export CXXFLAGS=-Werror
- export CMAKE_OPTIONS="-Dwith_cxx_tests=ON -Dwith_cxx_api=ON"
- - echo experimental > COLLECTION
tags:
- linux
variables:
- export CFLAGS=-Werror
- export CXXFLAGS=-Werror
- export CMAKE_OPTIONS="-Dwith_cxx_tests=ON -Dwith_cxx_api=ON"
- - echo experimental > COLLECTION
tags:
- linux
variables:
- export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_sfdp=OFF"
- export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_smyrna=OFF"
- export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_zlib=OFF"
- - echo experimental > COLLECTION
tags:
- linux
variables:
- export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_sfdp=OFF"
- export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_smyrna=OFF"
- export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_zlib=OFF"
- - echo experimental > COLLECTION
tags:
- linux
variables:
- export CFLAGS=-Werror
- export CXXFLAGS=-Werror
- export CMAKE_OPTIONS="-Duse_sanitizers=ON -Duse_coverage=ON -Dwith_cxx_tests=ON -Dwith_cxx_api=ON"
- - echo experimental > COLLECTION
# override the deb_build_definition artifacts since we need more
# files from the build directory when running ctest in the test
# stage.
# the dot program is needed to configure the plugins before running pre-install tests
- build/cmd/dot/dot
# the packages need to be installed for the post-install tests
- - Packages/*/*/*/*/*deb
- - Metadata/*/*/*/configure.log
+ - Packages/*/*/*/*deb
+ - Metadata/*/*/configure.log
reports:
metrics: metrics.txt
tags:
- export CFLAGS=-Werror
- export CXXFLAGS=-Werror
- export CMAKE_OPTIONS="-Duse_sanitizers=ON -Duse_coverage=ON -Dwith_cxx_tests=ON -Dwith_cxx_api=ON"
- - echo experimental > COLLECTION
# override the deb_build_definition artifacts since we need more
# files from the build directory when running ctest in the test
# stage.
# the dot program is needed to configure the plugins before running pre-install tests
- build/cmd/dot/dot
# the packages need to be installed for the post-install tests
- - Packages/*/*/*/*/*deb
- - Metadata/*/*/*/configure.log
+ - Packages/*/*/*/*deb
+ - Metadata/*/*/configure.log
reports:
metrics: metrics.txt
tags:
# fail on any compiler warnings
- export CFLAGS=-Werror
- export CXXFLAGS=-Werror
- - echo experimental > COLLECTION
tags:
- linux
variables:
macos-cmake-build:
<<: *macos_build_definition
before_script:
- - echo experimental > COLLECTION
- export build_system="cmake"
# fail on any compiler warnings
- export CFLAGS=-Werror
script:
- choco config set cacheLocation choco-cache
- choco install --yes --no-progress msys2
- # avoid BOM in COLLECTION file
- - echo experimental | Out-File COLLECTION -Encoding ascii
- $Env:build_system = "cmake"
- C:\tools\msys64\usr\bin\env MSYSTEM=MINGW32 C:\tools\msys64\usr\bin\bash -l -c 'cd $CI_PROJECT_DIR && ci/mingw-build.sh'
artifacts:
when: always
expire_in: 1 week
paths:
- - COLLECTION
- - Packages/*/*/*/*/*.exe
- - Packages/*/*/*/*/*.zip
+ - Packages/*/*/*/*.exe
+ - Packages/*/*/*/*.zip
cache:
key: windows-mingw32-cmake-build
paths:
script:
- choco config set cacheLocation choco-cache
- choco install --yes --no-progress msys2
- # avoid BOM in COLLECTION file
- - echo experimental | Out-File COLLECTION -Encoding ascii
- $Env:build_system = "cmake"
- C:\tools\msys64\usr\bin\env MSYSTEM=MINGW64 C:\tools\msys64\usr\bin\bash -l -c 'cd $CI_PROJECT_DIR && ci/mingw-build.sh'
artifacts:
when: always
expire_in: 1 week
paths:
- - COLLECTION
- - Packages/*/*/*/*/*.exe
- - Packages/*/*/*/*/*.zip
+ - Packages/*/*/*/*.exe
+ - Packages/*/*/*/*.zip
cache:
key: windows-mingw64-cmake-build
paths:
# - git -c core.autocrlf=false reset --hard
# - choco config set cacheLocation choco-cache
# - choco install --yes --no-progress cygwin
-# # avoid BOM in COLLECTION file
-# - echo experimental | Out-File COLLECTION -Encoding ascii
# - $Env:build_system = "cmake"
# - C:\tools\cygwin\bin\bash -l -c 'cd $CI_PROJECT_DIR && ci/cygwin-build.sh'
# artifacts:
# when: always
# expire_in: 1 week
# paths:
-# - COLLECTION
-# - Packages/*/*/*/*/*.zip
-# - Packages/*/*/*/*/*.bz2
+# - Packages/*/*/*/*.zip
+# - Packages/*/*/*/*.bz2
# cache:
# key: windows-cygwin-cmake-build
# paths:
meta-data:
stage: test
script:
- - CONFIGURE_LOGS=Metadata/*/*/*/configure.log
+ - CONFIGURE_LOGS=Metadata/*/*/configure.log
- ci/generate_configuration_table.py --output-format HTML ${CONFIGURE_LOGS} > configuration-long-no-color.html
- ci/generate_configuration_table.py --output-format HTML --short ${CONFIGURE_LOGS} > configuration-short-no-color.html
- ci/generate_configuration_table.py --output-format HTML --short --color ${CONFIGURE_LOGS} > configuration-short-color-green-red.html
before_script:
- export build_system="cmake"
- python3 gen_version.py > GRAPHVIZ_VERSION
- - echo experimental > COLLECTION
needs:
- job: "ubuntu18-04-cmake-build"
artifacts: true
before_script:
- export build_system="cmake"
- python3 gen_version.py > GRAPHVIZ_VERSION
- - echo experimental > COLLECTION
needs:
- job: "ubuntu21-04-cmake-build"
artifacts: true
before_script:
- export build_system="cmake"
- python3 gen_version.py > GRAPHVIZ_VERSION
- - echo experimental > COLLECTION
needs:
- job: "ubuntu21-10-cmake-build"
artifacts: true
- export CXXFLAGS=" -g -fsanitize=address,undefined"
- export LDFLAGS=" -g -fsanitize=address,undefined"
- python3 gen_version.py > GRAPHVIZ_VERSION
- - echo experimental > COLLECTION
needs:
- job: "ubuntu21-04-cmake-ASan-build-for-ctest"
artifacts: true
- export CXXFLAGS=" -g -fsanitize=address,undefined"
- export LDFLAGS=" -g -fsanitize=address,undefined"
- python3 gen_version.py > GRAPHVIZ_VERSION
- - echo experimental > COLLECTION
needs:
- job: "ubuntu21-10-cmake-ASan-build-for-ctest"
artifacts: true
before_script:
- export build_system="cmake"
- python3 gen_version.py > GRAPHVIZ_VERSION
- - echo experimental > COLLECTION
# Graphviz libs are installed in /usr/lib, but Centos 7 doesn't look there by default
- export LD_LIBRARY_PATH=/usr/lib
needs: