Skip to content

Validate maxNeighbors and modernize solution metadata #1713

Validate maxNeighbors and modernize solution metadata

Validate maxNeighbors and modernize solution metadata #1713

Workflow file for this run

#
# ci.yml
# RVO2 Library C#
#
# SPDX-FileCopyrightText: 2008 University of North Carolina at Chapel Hill
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Please send all bug reports to <geom@cs.unc.edu>.
#
# The authors may be contacted via:
#
# Jur van den Berg, Stephen J. Guy, Jamie Snape, Ming C. Lin, Dinesh Manocha
# Dept. of Computer Science
# 201 S. Columbia St.
# Frederick P. Brooks, Jr. Computer Science Bldg.
# Chapel Hill, N.C. 27599-3175
# United States of America
#
# <https://gamma.cs.unc.edu/RVO2/>
#
---
name: ci
on: # yamllint disable-line rule:truthy
push:
branches:
- main
pull_request:
branches:
- main
release:
types:
- published
schedule:
- cron: '0 5 * * *'
env:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
jobs:
bazel-almalinux:
name: bazel almalinux amd64
runs-on: ubuntu-latest
container: almalinux:10
steps:
- name: pre-checkout setup
run: |
dnf makecache -q --refresh || (sleep 15; dnf makecache -q --refresh)
dnf upgrade -q -y
dnf install -q -y \
ca-certificates \
curl-minimal \
findutils \
gawk \
git \
gcc \
glibc-langpack-en \
gzip \
libicu \
lttng-ust \
tar \
zlib
dnf clean all
rm -rf /var/cache/yum
curl -sSLo /usr/local/bin/bazelisk \
https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64
chmod +x /usr/local/bin/bazelisk
ln -s /usr/local/bin/bazelisk /usr/local/bin/bazel
shell: bash
- name: checkout
uses: actions/checkout@v6
- name: post-checkout setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: build package
run: bazel build ...
shell: bash
bazel-arch:
name: bazel arch linux amd64
runs-on: ubuntu-latest
container: archlinux:latest
steps:
- name: pre-checkout setup
run: |
pacman --needed --noconfirm --noprogressbar -S -u -y \
ca-certificates \
curl \
gawk \
gcc \
git \
gzip \
icu \
lttng-ust \
python \
tar \
which \
zlib
rm -rf \
/var/cache/pacman/pkg/* \
/var/lib/pacman/sync/*
curl -sSLo /usr/local/bin/bazelisk \
https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64
chmod +x /usr/local/bin/bazelisk
ln -s /usr/local/bin/bazelisk /usr/local/bin/bazel
shell: bash
- name: checkout
uses: actions/checkout@v6
- name: post-checkout setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: build package
run: bazel build ...
shell: bash
bazel-fedora:
name: bazel fedora linux amd64
runs-on: ubuntu-latest
container: fedora:44
steps:
- name: pre-checkout setup
run: |
dnf makecache -q --refresh || (sleep 15; dnf makecache -q --refresh)
dnf upgrade -q -y
dnf install -q -y \
ca-certificates \
curl \
findutils \
gawk \
gcc \
git \
glibc-langpack-en \
gzip \
libicu \
lttng-ust \
python3 \
tar \
which \
zlib
dnf clean all
rm -rf /var/cache/yum
curl -sSLo /usr/local/bin/bazelisk \
https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64
chmod +x /usr/local/bin/bazelisk
ln -s /usr/local/bin/bazelisk /usr/local/bin/bazel
shell: bash
- name: checkout
uses: actions/checkout@v6
- name: post-checkout setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: build package
run: bazel build ...
shell: bash
bazel-macos:
name: bazel macos arm64
runs-on: macos-15
steps:
- name: checkout
uses: actions/checkout@v6
- name: pre-checkout setup
run: |
brew update -q
brew bundle install -q
brew cleanup -q -s
rm -rf $(brew --cache)
env:
HOMEBREW_NO_ANALYTICS: 1
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
shell: zsh -efuo pipefail {0}
- name: post-checkout setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: build package
run: bazel build ...
shell: zsh -efuo pipefail {0}
bazel-ubuntu:
name: bazel ubuntu amd64
runs-on: ubuntu-latest
container: ubuntu:24.04
steps:
- name: pre-checkout setup
run: |
apt-get -qq -o APT::Acquire::Retries=4 update \
|| (sleep 15; apt-get -qq -o APT::Acquire::Retries=4 update)
apt-get -qq -o APT::Acquire::Retries=4 -o Dpkg::Use-Pty=0 \
upgrade
apt-get -qq -o APT::Acquire::Retries=4 -o Dpkg::Use-Pty=0 \
--no-install-recommends install \
ca-certificates \
curl \
gawk \
gcc \
git \
gzip \
libicu74 \
liblttng-ust1t64 \
python-is-python3 \
tar \
zlib1g
apt-get -qq -o Dpkg::Use-Pty=0 autoremove
rm -rf /var/lib/apt/lists/*
curl -sSLO https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-amd64.deb
dpkg -i bazelisk-amd64.deb
rm -rf bazelisk-amd64.deb
env:
DEBIAN_FRONTEND: noninteractive
shell: bash
- name: checkout
uses: actions/checkout@v6
- name: post-checkout setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: build package
run: bazel build ...
shell: bash
bazel-ubuntu-arm64:
name: bazel ubuntu arm64
runs-on: ubuntu-24.04-arm
container: ubuntu:24.04
steps:
- name: pre-checkout setup
run: |
apt-get -qq -o APT::Acquire::Retries=4 update \
|| (sleep 15; apt-get -qq -o APT::Acquire::Retries=4 update)
apt-get -qq -o APT::Acquire::Retries=4 -o Dpkg::Use-Pty=0 \
upgrade
apt-get -qq -o APT::Acquire::Retries=4 -o Dpkg::Use-Pty=0 \
--no-install-recommends install \
ca-certificates \
curl \
gawk \
gcc \
git \
gzip \
libicu74 \
liblttng-ust1t64 \
python-is-python3 \
tar \
zlib1g
apt-get -qq -o Dpkg::Use-Pty=0 autoremove
rm -rf /var/lib/apt/lists/*
curl -sSLO https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-arm64.deb
dpkg -i bazelisk-arm64.deb
rm -rf bazelisk-arm64.deb
env:
DEBIAN_FRONTEND: noninteractive
shell: bash
- name: checkout
uses: actions/checkout@v6
- name: post-checkout setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: build package
run: bazel build ...
shell: bash
dotnet-almalinux:
name: dotnet almalinux amd64
runs-on: ubuntu-latest
container: almalinux:10
steps:
- name: pre-checkout setup
run: |
dnf makecache -q --refresh || (sleep 15; dnf makecache -q --refresh)
dnf upgrade -q -y
dnf install -q -y \
ca-certificates \
curl-minimal \
findutils \
gawk \
git \
glibc-langpack-en \
gzip \
libicu \
lttng-ust \
tar \
zlib
dnf clean all
rm -rf /var/cache/yum
shell: bash
- name: checkout
uses: actions/checkout@v6
- name: post-checkout setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: build package debug
run: |
dotnet build --configuration Debug --nologo RVOCS.slnx
dotnet pack --configuration Debug --no-build --nologo RVOCS/RVOCS.csproj
shell: bash
- name: build package release
run: |
dotnet build --configuration Release --nologo RVOCS.slnx
dotnet pack --configuration Release --no-build --nologo RVOCS/RVOCS.csproj
shell: bash
dotnet-alpine:
name: dotnet alpine linux amd64
runs-on: ubuntu-latest
container: alpine:3
steps:
- name: pre-checkout setup
run: |
apk upgrade -q --no-cache
apk add -q --no-cache \
bash \
ca-certificates \
curl \
gawk \
git \
gzip \
icu \
lttng-ust \
tar \
zlib
shell: sh
- name: checkout
uses: actions/checkout@v6
- name: post-checkout setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: build package debug
run: |
dotnet build --configuration Debug --nologo RVOCS.slnx
dotnet pack --configuration Debug --no-build --nologo RVOCS/RVOCS.csproj
shell: sh
- name: build package release
run: |
dotnet build --configuration Release --nologo RVOCS.slnx
dotnet pack --configuration Release --no-build --nologo RVOCS/RVOCS.csproj
shell: sh
dotnet-arch:
name: dotnet arch linux amd64
runs-on: ubuntu-latest
container: archlinux:latest
steps:
- name: pre-checkout setup
run: |
pacman --needed --noconfirm --noprogressbar -S -u -y \
ca-certificates \
curl \
gawk \
git \
gzip \
icu \
lttng-ust \
tar \
zlib
rm -rf \
/var/cache/pacman/pkg/* \
/var/lib/pacman/sync/*
shell: bash
- name: checkout
uses: actions/checkout@v6
- name: post-checkout setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: build package debug
run: |
dotnet build --configuration Debug --nologo RVOCS.slnx
dotnet pack --configuration Debug --no-build --nologo RVOCS/RVOCS.csproj
shell: bash
- name: build package release
run: |
dotnet build --configuration Release --nologo RVOCS.slnx
dotnet pack --configuration Release --no-build --nologo RVOCS/RVOCS.csproj
shell: bash
dotnet-fedora:
name: dotnet fedora linux amd64
runs-on: ubuntu-latest
container: fedora:44
steps:
- name: pre-checkout setup
run: |
dnf makecache -q --refresh || (sleep 15; dnf makecache -q --refresh)
dnf upgrade -q -y
dnf install -q -y \
ca-certificates \
curl \
findutils \
gawk \
git \
glibc-langpack-en \
gzip \
libicu \
lttng-ust \
tar \
zlib
dnf clean all
rm -rf /var/cache/yum
shell: bash
- name: checkout
uses: actions/checkout@v6
- name: post-checkout setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: build package debug
run: |
dotnet build --configuration Debug --nologo RVOCS.slnx
dotnet pack --configuration Debug --no-build --nologo RVOCS/RVOCS.csproj
shell: bash
- name: build package release
run: |
dotnet build --configuration Release --nologo RVOCS.slnx
dotnet pack --configuration Release --no-build --nologo RVOCS/RVOCS.csproj
shell: bash
dotnet-macos:
name: dotnet macos arm64
runs-on: macos-15
steps:
- name: checkout
uses: actions/checkout@v6
- name: pre-checkout setup
run: |
brew update -q
brew bundle install -q
brew cleanup -q -s
rm -rf $(brew --cache)
env:
HOMEBREW_NO_ANALYTICS: 1
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
shell: zsh -efuo pipefail {0}
- name: post-checkout setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: build package debug
run: |
dotnet build --configuration Debug --nologo RVOCS.slnx
dotnet pack --configuration Debug --no-build --nologo RVOCS/RVOCS.csproj
shell: zsh -efuo pipefail {0}
- name: build and pack release
run: |
dotnet build --configuration Release --nologo RVOCS.slnx
dotnet pack --configuration Release --no-build --nologo RVOCS/RVOCS.csproj
shell: zsh -efuo pipefail {0}
dotnet-ubuntu:
name: dotnet ubuntu amd64
runs-on: ubuntu-latest
container: ubuntu:24.04
steps:
- name: pre-checkout setup
run: |
apt-get -qq -o APT::Acquire::Retries=4 update \
|| (sleep 15; apt-get -qq -o APT::Acquire::Retries=4 update)
apt-get -qq -o APT::Acquire::Retries=4 -o Dpkg::Use-Pty=0 \
upgrade
apt-get -qq -o APT::Acquire::Retries=4 -o Dpkg::Use-Pty=0 \
--no-install-recommends install \
ca-certificates \
curl \
gawk \
git \
gzip \
libicu74 \
liblttng-ust1t64 \
tar \
zlib1g
apt-get -qq -o Dpkg::Use-Pty=0 autoremove
rm -rf /var/lib/apt/lists/*
env:
DEBIAN_FRONTEND: noninteractive
shell: bash
- name: checkout
uses: actions/checkout@v6
- name: post-checkout setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
source-url: https://nuget.pkg.github.com/snape/index.json
env:
NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: build package debug
run: |
dotnet build --configuration Debug --nologo RVOCS.slnx
dotnet pack --configuration Debug --no-build --nologo RVOCS/RVOCS.csproj
shell: bash
- name: build package release
run: |
dotnet build --configuration Release --nologo RVOCS.slnx
dotnet pack --configuration Release --no-build --nologo RVOCS/RVOCS.csproj
shell: bash
- name: push
run: |
dotnet nuget push --no-symbols true --skip-duplicate RVOCS/bin/Release/RVOCS.*.nupkg
shell: bash
if: ${{ github.event.release.published }}
dotnet-ubuntu-arm64:
name: dotnet ubuntu arm64
runs-on: ubuntu-24.04-arm
container: ubuntu:24.04
steps:
- name: pre-checkout setup
run: |
apt-get -qq -o APT::Acquire::Retries=4 update \
|| (sleep 15; apt-get -qq -o APT::Acquire::Retries=4 update)
apt-get -qq -o APT::Acquire::Retries=4 -o Dpkg::Use-Pty=0 \
upgrade
apt-get -qq -o APT::Acquire::Retries=4 -o Dpkg::Use-Pty=0 \
--no-install-recommends install \
ca-certificates \
curl \
gawk \
git \
gzip \
libicu74 \
liblttng-ust1t64 \
tar \
zlib1g
apt-get -qq -o Dpkg::Use-Pty=0 autoremove
rm -rf /var/lib/apt/lists/*
env:
DEBIAN_FRONTEND: noninteractive
shell: bash
- name: checkout
uses: actions/checkout@v6
- name: post-checkout setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: build package debug
run: |
dotnet build --configuration Debug --nologo RVOCS.slnx
dotnet pack --configuration Debug --no-build --nologo RVOCS/RVOCS.csproj
shell: bash
- name: build package release
run: |
dotnet build --configuration Release --nologo RVOCS.slnx
dotnet pack --configuration Release --no-build --nologo RVOCS/RVOCS.csproj
shell: bash
dotnet-windows:
name: dotnet windows amd64
runs-on: windows-latest
steps:
- name: checkout
uses: actions/checkout@v6
- name: setup
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: build package debug
run: |
dotnet build --configuration Debug RVOCS.sln
dotnet pack --configuration Debug --no-build RVOCS\RVOCS.csproj
shell: pwsh
- name: build and pack release
run: |
dotnet build --configuration Release RVOCS.sln
dotnet pack --configuration Release --no-build RVOCS\RVOCS.csproj
shell: pwsh