Skip to content

Update the website on changes in doc/ folder #58

Update the website on changes in doc/ folder

Update the website on changes in doc/ folder #58

Workflow file for this run

name: Deploy Avro site
on:
push:
branches:
- master
- update-site
paths:
- .github/workflows/docs.yaml
- doc/**
- lang/c/**
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-website:
name: Build website
runs-on: ubuntu-latest
steps:
- name: Checkout docs sources
uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Install NPM dependencies
run: |
set -x
cd doc
npm install
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 0.111.3
extended: true
- name: Build docs
run: |
set -x
cd doc
hugo --minify --destination ../website --baseURL=/asf-site
- uses: actions/upload-artifact@v3
with:
name: website
path: website
build-api-c:
name: Build C API docs
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build C docs
run: |
set -x
sudo apt-get update -q
sudo apt-get install -q -y cmake liblzma-dev libsnappy-dev libjansson-dev zlib1g-dev pkg-config asciidoc source-highlight libsource-highlight-dev
cd lang/c
./build.sh clean docs
- uses: actions/upload-artifact@v3
with:
name: api-c
path: build/c/docs
build-api-c++:
name: Build C++ API docs
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build C++ docs
run: |
set -x
sudo apt-get update -q
sudo apt-get install -q -y gcc g++ libboost-all-dev cmake doxygen
cd lang/c++
./build.sh clean doc
cp -r lang/c++/doc/html/* website/docs/++version++/api/cpp/html/
- uses: actions/upload-artifact@v3
with:
name: api-c++
path: lang/c++/doc/html
build-api-csharp:
name: Build C# API docs
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build C# docs
run: |
set -x
sudo apt-get update -q
sudo apt-get install -q -y wget libzstd-dev libicu-dev doxygen
sudo wget https://dot.net/v1/dotnet-install.sh
bash ./dotnet-install.sh --channel "7.0" --install-dir "$HOME/.dotnet"
cd lang/csharp
mkdir -p build/doc
doxygen Avro.dox
- uses: actions/upload-artifact@v3
with:
name: api-csharp
path: lang/csharp/doc/html
build-api-java:
name: Build Java API docs
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Cache Local Maven Repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Setup Temurin JDK
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 8
- name: Build Java docs
run: |
set -x
cd lang/java
mvn -Pdist javadoc::aggregate
cp -r target/apidocs/* ../../website/docs/++version++/api/java/
popd
- uses: actions/upload-artifact@v3
with:
name: api-java
path: lang/java/target/apidocs
push-website:
name: Push website
depends-on: [build-website, build-api-c, build-api-c++, build-api-csharp, build-api-java]

Check failure on line 154 in .github/workflows/docs.yaml

View workflow run for this annotation

GitHub Actions / Deploy Avro site

Invalid workflow file

The workflow is not valid. .github/workflows/docs.yaml (Line: 154, Col: 5): Unexpected value 'depends-on'
runs-on: ubuntu-latest
steps:
- name: Checkout asf-site branch
uses: actions/checkout@v3
with:
ref: asf-site
path: asf-site
- uses: actions/upload-artifact@v3
with:
name: website
path: website
- uses: actions/download-artifact@v3
with:
name: api-c
path: api-c
- uses: actions/download-artifact@v3
with:
name: api-c++
path: api-c++
- uses: actions/download-artifact@v3
with:
name: api-csharp
path: api-csharp
- uses: actions/download-artifact@v3
with:
name: api-java
path: api-java
- name: Copy & push the generated HTML
run: |
set -x
mv api-c/* website/docs/++version++/api/c/
mv api-c++/* website/docs/++version++/api/cpp/html/
mv api-csharp/* website/docs/++version++/api/csharp/html/
mv api-java/* website/docs/++version++/api/java/
rmdir api-c api-c++ api-csharp api-java
cd asf-site
rsync \
-a \
--delete \
--exclude '/.git/' \
../website/ \
./
cp ../.asf.yaml .
touch .nojekyll
git status --porcelain
if [ "$(git status --porcelain)" != "" ]; then
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add --all
git commit -m 'Publish built docs triggered by ${{ github.sha }}'
git push || git push --force
fi