diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cf2db70..0ce31b3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,7 +53,7 @@ env: jobs: bazel_arch: name: bazel arch latest - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: archlinux:latest steps: - name: pre-checkout setup @@ -76,7 +76,7 @@ jobs: - name: checkout uses: actions/checkout@v4 - name: post-checkout setup - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: global-json-file: global.json - name: build package @@ -84,27 +84,12 @@ jobs: shell: bash bazel_macos: - name: bazel macos latest - runs-on: macos-latest + name: bazel macos 14 + runs-on: macos-14 steps: - name: pre-checkout setup run: | - rm -f \ - /usr/local/bin/2to3 \ - /usr/local/bin/2to3-3.* \ - /usr/local/bin/go \ - /usr/local/bin/gofmt \ - /usr/local/bin/idle3 \ - /usr/local/bin/idle3.* \ - /usr/local/bin/pydoc3 \ - /usr/local/bin/pydoc3.* \ - /usr/local/bin/python3 \ - /usr/local/bin/python3.* \ - /usr/local/bin/python3-config \ - /usr/local/bin/python3.*-config \ - /usr/local/lib/libtcl8.*.dylib \ - /usr/local/lib/libtk8.*.dylib - brew update-reset -q + brew update -q brew upgrade -f -q brew unlink -q bazelisk brew install -q \ @@ -125,7 +110,7 @@ jobs: - name: checkout uses: actions/checkout@v4 - name: post-checkout setup - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: global-json-file: global.json - name: build package @@ -133,8 +118,8 @@ jobs: shell: zsh -efuo pipefail {0} bazel_ubuntu: - name: bazel ubuntu 22.04 - runs-on: ubuntu-22.04 + name: bazel ubuntu latest + runs-on: ubuntu-latest container: ubuntu:latest steps: - name: pre-checkout setup @@ -150,13 +135,13 @@ jobs: g++ \ git \ gnupg \ - libicu70 \ - liblttng-ust1 \ + libicu74 \ + liblttng-ust1t64 \ python-is-python3 \ zlib1g curl -sS https://bazel.build/bazel-release.pub.gpg | gpg --dearmor - \ > /usr/share/keyrings/bazel-archive-keyring.gpg - echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8' \ + echo 'deb [signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8' \ > /etc/apt/sources.list.d/bazel.list apt-get -qq -o APT::Acquire::Retries=4 update \ || (sleep 15; apt-get -qq -o APT::Acquire::Retries=4 update) @@ -171,7 +156,7 @@ jobs: - name: checkout uses: actions/checkout@v4 - name: post-checkout setup - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: global-json-file: global.json - name: build package @@ -179,9 +164,9 @@ jobs: shell: bash dotnet_alpine: - name: dotnet alpine 3 - runs-on: ubuntu-22.04 - container: alpine:3 + name: dotnet alpine latest + runs-on: ubuntu-latest + container: alpine:latest steps: - name: pre-checkout setup run: | @@ -198,7 +183,7 @@ jobs: - name: checkout uses: actions/checkout@v4 - name: post-checkout setup - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: global-json-file: global.json - name: build package debug @@ -214,7 +199,7 @@ jobs: dotnet_arch: name: dotnet arch latest - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: archlinux:latest steps: - name: pre-checkout setup @@ -233,7 +218,7 @@ jobs: - name: checkout uses: actions/checkout@v4 - name: post-checkout setup - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: global-json-file: global.json - name: build package debug @@ -249,7 +234,7 @@ jobs: dotnet_fedora: name: dotnet fedora latest - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: fedora:latest steps: - name: pre-checkout setup @@ -271,7 +256,7 @@ jobs: - name: checkout uses: actions/checkout@v4 - name: post-checkout setup - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: global-json-file: global.json - name: build package debug @@ -286,13 +271,13 @@ jobs: shell: bash dotnet_macos: - name: dotnet macos latest - runs-on: macos-latest + name: dotnet macos 14 + runs-on: macos-14 steps: - name: checkout uses: actions/checkout@v4 - name: setup - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: global-json-file: global.json - name: build package debug @@ -308,7 +293,7 @@ jobs: dotnet_rockylinux: name: dotnet rockylinux 9 - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: rockylinux:9 steps: - name: pre-checkout setup @@ -330,7 +315,7 @@ jobs: - name: checkout uses: actions/checkout@v4 - name: post-checkout setup - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: global-json-file: global.json - name: build package debug @@ -345,9 +330,9 @@ jobs: shell: bash dotnet_ubuntu: - name: dotnet ubuntu 22.04 - runs-on: ubuntu-22.04 - container: ubuntu:22.04 + name: dotnet ubuntu latest + runs-on: ubuntu-latest + container: ubuntu:latest steps: - name: pre-checkout setup run: | @@ -360,8 +345,8 @@ jobs: ca-certificates \ curl \ git \ - libicu70 \ - liblttng-ust1 \ + libicu74 \ + liblttng-ust1t64 \ zlib1g apt-get -qq -o Dpkg::Use-Pty=0 autoremove rm -rf /var/lib/apt/lists/* @@ -371,7 +356,7 @@ jobs: - name: checkout uses: actions/checkout@v4 - name: post-checkout setup - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: global-json-file: global.json source-url: https://nuget.pkg.github.com/snape/index.json @@ -400,7 +385,7 @@ jobs: - name: checkout uses: actions/checkout@v4 - name: setup - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: global-json-file: global.json - name: build package debug diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 05ec243..7728aae 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -47,7 +47,7 @@ on: # yamllint disable-line rule:truthy jobs: analyze: name: analyze - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v4 diff --git a/CMakeLists.txt b/CMakeLists.txt index d06a042..f53b798 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,10 +34,11 @@ # # -cmake_minimum_required(VERSION 3.10 FATAL_ERROR) +cmake_minimum_required(VERSION 3.16 FATAL_ERROR) project(RVOCS VERSION 2.1.0 DESCRIPTION "Optimal Reciprocal Collision Avoidance for C#" + HOMEPAGE_URL https://gamma.cs.unc.edu/RVO2/ LANGUAGES NONE) include(CTest) diff --git a/Dockerfile b/Dockerfile index d0c0422..2fef9dc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,5 @@ +# syntax=docker.io/docker/dockerfile:1 + # # Dockerfile # RVO2 Library C# @@ -31,9 +33,9 @@ # # -FROM ubuntu:22.04 +FROM ubuntu:latest LABEL org.opencontainers.image.authors="Jur van den Berg, Stephen J. Guy, Jamie Snape, Ming C. Lin, Dinesh Manocha" -LABEL org.opencontainers.image.base.name="docker.io/library/ubuntu:22.04" +LABEL org.opencontainers.image.base.name="docker.io/library/ubuntu:latest" LABEL org.opencontainers.image.description="Optimal Reciprocal Collision Avoidance for C#" LABEL org.opencontainers.image.licenses="Apache-2.0" LABEL org.opencontainers.image.source="https://github.com/snape/RVO2/" @@ -48,19 +50,17 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get update -qq \ && apt-get install --no-install-recommends -o Dpkg::Use-Pty=0 -qy \ ca-certificates \ + cmake \ cmake-format \ dirmngr \ - dotnet6 \ - dpkg \ + dotnet-sdk-8.0 \ dpkg-dev \ file \ git \ - gnupg \ - libgssapi-krb5-2 \ - libicu70 \ - libssl3 \ - libstdc++6 \ + jsonlint \ + libicu74 \ make \ + markdownlint \ mono-complete \ nano \ netbase \ @@ -68,24 +68,9 @@ RUN export DEBIAN_FRONTEND=noninteractive \ npm \ python3 \ reuse \ - unzip \ - wget \ yamllint \ - zlib1g-dev \ - && wget -qO - https://bazel.build/bazel-release.pub.gpg | gpg --dearmor - \ - > /usr/share/keyrings/bazel-archive-keyring.gpg \ - && echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8' \ - > /etc/apt/sources.list.d/bazel.list \ - && wget -qO - https://apt.kitware.com/keys/kitware-archive-latest.asc \ - | gpg --dearmor - > /usr/share/keyrings/kitware-archive-keyring.gpg \ - && echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu jammy main' \ - > /etc/apt/sources.list.d/kitware.list \ - && apt-get update -qq \ - && apt-get install --no-install-recommends -o Dpkg::Use-Pty=0 -qy \ - bazel \ - cmake \ + zlib1g \ && rm -rf /var/lib/apt/lists/* \ && npm install -g \ - @bazel/buildifier \ - jsonlint \ - markdownlint-cli + @bazel/bazelisk \ + @bazel/buildifier