ci: adopt reusable workflows from `named-data/actions`
Change-Id: I4219458d27723ee7c408a665f7b31a1ca557b1e0
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f328d39..a9f36bb 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,65 +1,12 @@
name: CI
on:
push:
- paths-ignore:
- - 'docs/**'
- - '*.md'
- - '.mailmap'
workflow_dispatch:
-permissions:
- contents: read
+permissions: {}
jobs:
- linux:
- name: ${{ matrix.compiler }} on ${{ matrix.os }}
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- os: [ubuntu-20.04]
- compiler: [g++-7, g++-8, g++-9, g++-10,
- clang++-7, clang++-8, clang++-9, clang++-10, clang++-11, clang++-12]
- include:
- - os: ubuntu-22.04
- compiler: g++-11
- - os: ubuntu-22.04
- compiler: g++-12
- - os: ubuntu-22.04
- compiler: clang++-13
- - os: ubuntu-22.04
- compiler: clang++-14
- env:
- CXX: ${{ matrix.compiler }}
- steps:
- - name: Install C++ compiler
- run: |
- sudo apt-get -qy install ${CXX/clang++/clang}
- ${CXX} --version
- - name: Checkout
- uses: actions/checkout@v3
- - name: Build and test
- run: ./.jenkins
-
- macos:
- name: Xcode ${{ matrix.xcode }} on ${{ matrix.os }}
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- os: [macos-11]
- xcode: ['12.4', '12.5', '13.2']
- include:
- - os: macos-12
- xcode: '13.4'
- - os: macos-12
- xcode: '14.2'
- steps:
- - name: Set up Xcode
- uses: maxim-lobanov/setup-xcode@v1
- with:
- xcode-version: ${{ matrix.xcode }}
- - name: Checkout
- uses: actions/checkout@v3
- - name: Build and test
- run: ./.jenkins
+ Ubuntu:
+ uses: named-data/actions/.github/workflows/jenkins-script-ubuntu.yml@v1
+ macOS:
+ uses: named-data/actions/.github/workflows/jenkins-script-macos.yml@v1
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index fd27188..0333b7b 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -1,33 +1,10 @@
name: Docs
on:
push:
- paths-ignore:
- - '*.md'
- - '.mailmap'
workflow_dispatch:
-permissions:
- contents: read
+permissions: {}
jobs:
- build:
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- os: [macos-latest, ubuntu-latest]
- env:
- JOB_NAME: Docs
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- - name: Install dependencies
- run: |
- find .jenkins.d/ -type f -name '[1-9]*.sh' -exec chmod -x '{}' +
- ./.jenkins
- - name: Build documentation
- run: |
- pybindir=$(python3 -c 'import sysconfig; print(sysconfig.get_path("scripts", "posix_user"))')
- export PATH="${pybindir}${PATH:+:}${PATH}"
- ./waf --color=yes configure
- ./waf --color=yes docs
+ html:
+ uses: named-data/actions/.github/workflows/docs-html.yml@v1
diff --git a/AUTHORS.md b/AUTHORS.md
index 8a11400..6b7919c 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -2,7 +2,7 @@
The following lists maintainers, primary developers, and all much-appreciated contributors to ChronoSync in alphabetical order.
The specific contributions of individual authors can be obtained from the git history of the [official ChronoSync repository](https://github.com/named-data/ChronoSync).
-If you would like to become a contributor to the official repository, please follow the recommendations in <https://github.com/named-data/.github/blob/master/CONTRIBUTING.md>.
+If you would like to become a contributor to the official repository, please follow the recommendations in <https://github.com/named-data/.github/blob/main/CONTRIBUTING.md>.
* ***(Maintainer)*** Alexander Afanasyev <https://users.cs.fiu.edu/~afanasyev>
* Chaoyi Bian <https://github.com/bcy>
diff --git a/README.md b/README.md
index 5ada05c..e8074fb 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
![Language](https://img.shields.io/badge/C%2B%2B-17-blue)
![Latest version](https://img.shields.io/github/v/tag/named-data/ChronoSync?label=Latest%20version)
-> DEPRECATION NOTICE: ChronoSync's design is outdated. We recommend using more recent sync protocols, such as [PSync](https://named-data.net/doc/PSync/current/) or [StateVectorSync](https://named-data.github.io/StateVectorSync/).
+> DEPRECATION NOTICE: ChronoSync's design is outdated. We recommend using more recent sync protocols, such as [PSync](https://github.com/named-data/PSync) or [StateVectorSync](https://named-data.github.io/StateVectorSync/).
In supporting many distributed applications, such as group text messaging, file sharing,
and joint editing, a basic requirement is the efficient and robust synchronization of
@@ -26,11 +26,11 @@
### Prerequisites
-* [ndn-cxx and its dependencies](https://named-data.net/doc/ndn-cxx/current/INSTALL.html)
+* [ndn-cxx and its dependencies](https://docs.named-data.net/ndn-cxx/current/INSTALL.html)
### Build
-To build ChronoSync from the source:
+To build ChronoSync from source:
./waf configure
./waf
@@ -50,12 +50,11 @@
## Contributing
We greatly appreciate contributions to the ChronoSync code base, provided that they are
-licensed under the GPL 3.0+ or a compatible license (see below).
-If you are new to the NDN software community, please read the
-[Contributor's Guide](https://github.com/named-data/.github/blob/master/CONTRIBUTING.md)
-to get started.
+licensed under the GNU GPL version 3 or a compatible license.
+If you are new to the NDN software community, please read our [Contributor's Guide](
+https://github.com/named-data/.github/blob/main/CONTRIBUTING.md) to get started.
## License
-ChronoSync is an open source project licensed under the GPL version 3.
-See [`COPYING.md`](COPYING.md) for more information.
+ChronoSync is free software distributed under the GNU General Public License version 3.
+See [`COPYING.md`](COPYING.md) for details.
diff --git a/docs/conf.py b/docs/conf.py
index 4e2d02d..199e8d6 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -10,7 +10,7 @@
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
project = 'ChronoSync: A Synchronization Protocol for NDN'
-copyright = 'Copyright © 2012-2022 Regents of the University of California.'
+copyright = 'Copyright © 2012-2023 Regents of the University of California.'
author = 'Named Data Networking Project'
# The short X.Y version.
diff --git a/docs/doxygen.conf.in b/docs/doxygen.conf.in
index da86688..0cbb0c5 100644
--- a/docs/doxygen.conf.in
+++ b/docs/doxygen.conf.in
@@ -140,7 +140,7 @@
# shortest path that makes the file name unique will be used
# The default value is: YES.
-FULL_PATH_NAMES = NO
+FULL_PATH_NAMES = YES
# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
# Stripping is only done if one of the specified strings matches the left-hand
@@ -161,7 +161,7 @@
# specify the list of include paths that are normally passed to the compiler
# using the -I flag.
-STRIP_FROM_INC_PATH =
+STRIP_FROM_INC_PATH = ..
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
# less readable) file names. This can be useful is your file systems doesn't
@@ -437,7 +437,7 @@
# included in the documentation.
# The default value is: NO.
-EXTRACT_STATIC = YES
+EXTRACT_STATIC = NO
# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
# locally in source files will be included in the documentation. If set to NO,
@@ -445,7 +445,7 @@
# for Java sources.
# The default value is: YES.
-EXTRACT_LOCAL_CLASSES = YES
+EXTRACT_LOCAL_CLASSES = NO
# This flag is only useful for Objective-C code. If set to YES, local methods,
# which are defined in the implementation section but not in the interface are
@@ -1178,7 +1178,7 @@
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
-HTML_TIMESTAMP = YES
+HTML_TIMESTAMP = NO
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the