Skip to content

Commit

Permalink
Merge main
Browse files Browse the repository at this point in the history
  • Loading branch information
Zoltan Csizmadia authored and Zoltan Csizmadia committed Nov 22, 2024
2 parents df71143 + b1ec3b9 commit d516bd1
Show file tree
Hide file tree
Showing 338 changed files with 19,461 additions and 36,759 deletions.
4 changes: 3 additions & 1 deletion .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ github:
- php
- python
- ruby
- rust

enabled_merge_buttons:
merge: false
Expand All @@ -43,6 +42,9 @@ github:
collaborators:
- jbonofre

publish:
whoami: asf-site

notifications:
commits: [email protected]
issues: [email protected]
Expand Down
13 changes: 5 additions & 8 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
"name": "Avro Development",
"build": {
"dockerfile": "../share/docker/Dockerfile",
"context": ".."
"context": "..",
"options": [
"--build-arg=BUILDPLATFORM=linux/amd64" // Dockerfile needs a build platfrom argument
]
},
"customizations": {
"vscode": {
Expand All @@ -16,12 +19,6 @@
"ms-vscode.cpptools",
// C#
"ms-dotnettools.csharp",
// Rust
"vadimcn.vscode-lldb",
"mutantdino.resourcemonitor",
"matklad.rust-analyzer",
"tamasfe.even-better-toml",
"serayuzgur.crates",
// Java
"vscjava.vscode-java-pack",
// Shell script
Expand All @@ -33,4 +30,4 @@
]
}
}
}
}
6 changes: 0 additions & 6 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,6 @@ updates:
day: "sunday"
open-pull-requests-limit: 20

- package-ecosystem: "cargo"
directory: "/lang/rust/"
schedule:
interval: "daily"
open-pull-requests-limit: 20

- package-ecosystem: "github-actions"
directory: "/"
schedule:
Expand Down
3 changes: 0 additions & 3 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,6 @@ Python:
Ruby:
- changed-files:
- any-glob-to-any-file: "lang/ruby/**/*"
Rust:
- changed-files:
- any-glob-to-any-file: "lang/rust/**/*"
build:
- changed-files:
- any-glob-to-any-file: ["**/*Dockerfile*", "**/*.sh", "**/*pom.xml", ".github/**/*"]
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/codeql-csharp-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,6 @@ jobs:
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
3.1.x
5.0.x
6.0.x
7.0.x
8.0.x
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-java-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:
queries: +security-and-quality

- name: 'Setup Temurin JDK 8, 11, 17 & 21'
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4.2.2
with:
distribution: 'temurin'
java-version: |
Expand Down
292 changes: 292 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,292 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.


# A Github Actions workflow that builds and copies the website to asf-site branch
name: Deploy website

on:
# Runs on pushes targeting the default branch
push:
branches:
- main

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build-website:
name: Build website
runs-on: ubuntu-latest
env:
HUGO_VERSION: 0.132.1
steps:
- name: Install Hugo CLI
run: |
wget -q -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
- name: Install Dart Sass
run: sudo snap install dart-sass
- name: Checkout
uses: actions/checkout@v4

- name: Install Node.js dependencies
working-directory: doc/
run: ls -lah && npm ci
- name: Build with Hugo
working-directory: doc/
env:
HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache
HUGO_ENVIRONMENT: production
TZ: America/Los_Angeles
run: |
hugo \
--gc \
--minify \
--destination ${{ runner.temp }}/website \
--baseURL "/"
- uses: actions/upload-artifact@v4
with:
name: website
path: ${{ runner.temp }}/website

build-api-c:
name: Build C API docs
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- 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@v4
with:
name: api-c
path: build/c/docs

build-api-cpp:
name: Build C++ API docs
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- 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
- uses: actions/upload-artifact@v4
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@v4

- 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 "8.0" --install-dir "$HOME/.dotnet"
cd lang/csharp
mkdir -p build/doc
doxygen Avro.dox
- uses: actions/upload-artifact@v4
with:
name: api-csharp
path: lang/csharp/build/doc/html

build-api-java:
name: Build Java API docs
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Cache Local Maven Repository
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: 'Setup Maven'
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.9

- name: Setup Temurin JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: |
11
17
21
- name: Build Java docs
run: |
set -x
cd lang/java
mvn javadoc::aggregate
- uses: actions/upload-artifact@v4
with:
name: api-java
path: lang/java/target/reports/apidocs

build-api-python:
name: Build Python API docs
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.11

- name: Install tox
run: python3 -m pip install tox

- name: Build docs
working-directory: lang/py
run: ./build.sh doc

- uses: actions/upload-artifact@v4
with:
name: api-python
path: lang/py/docs/build/

push-website:
name: Push website
needs: [build-website, build-api-c, build-api-cpp, build-api-csharp, build-api-java, build-api-python]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install dependencies
run: |
set -x
sudo apt-get update -q
sudo apt-get install -q -y subversion
- name: Download website
uses: actions/download-artifact@v4
with:
name: website
path: ${{ runner.temp }}/website

- name: Download api-c
uses: actions/download-artifact@v4
with:
name: api-c
path: api-c

- name: Download api-c++
uses: actions/download-artifact@v4
with:
name: api-c++
path: api-c++

- name: Download api-csharp
uses: actions/download-artifact@v4
with:
name: api-csharp
path: api-csharp

- name: Download api-java
uses: actions/download-artifact@v4
with:
name: api-java
path: api-java

- name: Download api-python
uses: actions/download-artifact@v4
with:
name: api-python
path: api-python

- name: Copy the generated HTML
run: |
set -x
WEBSITE_API=${{ runner.temp }}/website/docs/++version++/api
mkdir -p $WEBSITE_API/{c,cpp/html,csharp/html,java,py/html}
mv api-c/* $WEBSITE_API/c/
mv api-c++/* $WEBSITE_API/cpp/html/
mv api-csharp/* $WEBSITE_API/csharp/html/
mv api-java/* $WEBSITE_API/java/
mv api-python/* $WEBSITE_API/py/
rmdir api-c api-c++ api-csharp api-java api-python
- name: Checkout old docs versions from Subversion
run: |
set -xe
svn checkout https://svn.apache.org/repos/asf/avro/site/publish/docs
rm -rf docs/.svn
cp -R docs/1* ${{ runner.temp }}/website/docs/
rm -rf docs
- name: Push the new website
run: |
set -ex
ls -la ${{ runner.temp }}/website/docs/
git config --global user.email "[email protected]"
git config --global user.name "Github Actions"
git checkout --orphan asf-site-staging
git rm -rf *
mv ${{ runner.temp }}/website/* .
echo "publish:
whoami: asf-site
" > .asf.yaml
touch .nojekyll
git add --all
git commit -m "Publish built website triggered by ${{ github.sha }}"
git switch asf-site
git reset --hard asf-site-staging
git push origin asf-site --force
Loading

0 comments on commit d516bd1

Please sign in to comment.