ci: adopt reusable workflows from `named-data/actions`
Switch source archive (tarball) to xz compression and
mention using gerrit for code review in the README
Change-Id: Ie69de065311737f6fe48976fbab5f896f3960e06
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..3e7503c 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -1,33 +1,19 @@
name: Docs
on:
push:
- paths-ignore:
- - '*.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 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/0.')) }}
+ secrets: inherit