ci: adopt reusable workflows from `named-data/actions`
Change-Id: Ib5b73ca2082cec8fc105a875f5c261a979db11c7
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f328d39..e5cc01a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -3,63 +3,15 @@
push:
paths-ignore:
- 'docs/**'
+ - '*.conf.sample'
- '*.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 1750673..87abd32 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -5,31 +5,20 @@
- '*.md'
- '.mailmap'
workflow_dispatch:
+ inputs:
+ skip-deploy:
+ description: 'Skip deployment?'
+ required: true
+ type: boolean
-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 build --targets=version.hpp
- ./waf --color=yes build --targets=manpages
- ./waf --color=yes docs
+ html:
+ uses: named-data/actions/.github/workflows/docs-html.yml@v1
+ with:
+ # Deploy only the master branch and release tags
+ deploy: ${{ !inputs.skip-deploy && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/ndn-cxx-')) }}
+ secrets: inherit
+ man:
+ uses: named-data/actions/.github/workflows/docs-man.yml@v1