Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/codeql-java-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,10 @@ jobs:
17
21

- name: 'Setup Maven 3.9.6'
- name: 'Setup Maven 3.9.11'
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
maven-version: 3.9.11

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/rat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,10 @@ jobs:
17
21

- name: 'Setup Maven 3.9.6'
- name: 'Setup Maven 3.9.11'
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
maven-version: 3.9.11

- name: Run Rat
run: mvn test -Dmaven.main.skip=true -Dmaven.test.skip=true -DskipTests=true -Dinvoker.skip=true -P rat -pl :avro-toplevel
4 changes: 2 additions & 2 deletions .github/workflows/spotless.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@ jobs:
17
21

- name: 'Setup Maven 3.9.6'
- name: 'Setup Maven 3.9.11'
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
maven-version: 3.9.11

- name: Run Spotless Check
run: mvn spotless:check
8 changes: 4 additions & 4 deletions .github/workflows/test-lang-c.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,10 @@ jobs:
17
21

- name: 'Setup Maven 3.9.6'
- name: 'Setup Maven 3.9.11'
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
maven-version: 3.9.11

- name: Install Java Avro for Interop Test
working-directory: .
Expand Down Expand Up @@ -138,10 +138,10 @@ jobs:
17
21

- name: 'Setup Maven 3.9.6'
- name: 'Setup Maven 3.9.11'
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
maven-version: 3.9.11

- name: Install Java Avro for Interop Test
working-directory: .
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test-lang-csharp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,10 @@ jobs:
17
21

- name: 'Setup Maven 3.9.6'
- name: 'Setup Maven 3.9.11'
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
maven-version: 3.9.11

- name: Install Java Avro for Interop Test
working-directory: .
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/test-lang-java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,10 @@ jobs:
17
21

- name: 'Setup Maven 3.9.6'
- name: 'Setup Maven 3.9.11'
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
maven-version: 3.9.11

- name: 'Install Java Avro Toplevel'
working-directory: ./
Expand Down Expand Up @@ -115,10 +115,10 @@ jobs:
17
21

- name: 'Setup Maven 3.9.6'
- name: 'Setup Maven 3.9.11'
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
maven-version: 3.9.11

- name: 'Setup Python for Generating Input Data'
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/test-lang-js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ jobs:
- ubuntu-latest
- ubuntu-24.04-arm
node:
- 12
- 14
- 16
- 20
- 22
- 24
steps:
- uses: actions/checkout@v5
- name: Setup Node
Expand Down Expand Up @@ -72,9 +72,9 @@ jobs:
- ubuntu-latest
- ubuntu-24.04-arm
node:
- 12
- 14
- 16
- 20
- 22
- 24
steps:
- uses: actions/checkout@v5
- name: Setup Node
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test-lang-perl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,10 +123,10 @@ jobs:
17
21

- name: 'Setup Maven 3.9.6'
- name: 'Setup Maven 3.9.11'
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
maven-version: 3.9.11

- name: Install Java Avro for Interop Test
working-directory: .
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test-lang-php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,10 +110,10 @@ jobs:
17
21

- name: 'Setup Maven 3.9.6'
- name: 'Setup Maven 3.9.11'
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
maven-version: 3.9.11

- name: Install Java Avro for Interop Test
working-directory: .
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/test-lang-py.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,11 @@ jobs:
- ubuntu-latest
- ubuntu-24.04-arm
python:
- '3.13'
- '3.12'
- '3.11'
- '3.10'
- '3.9'
- 'pypy-3.11'
- 'pypy-3.10'

steps:
Expand Down Expand Up @@ -134,10 +135,10 @@ jobs:
17
21

- name: 'Setup Maven 3.9.6'
- name: 'Setup Maven 3.9.11'
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
maven-version: 3.9.11

- name: Install Java Avro for Interop Test
working-directory: .
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test-lang-ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,10 +127,10 @@ jobs:
17
21

- name: 'Setup Maven 3.9.6'
- name: 'Setup Maven 3.9.11'
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
maven-version: 3.9.11

- name: Install Java Avro for Interop Test
working-directory: .
Expand Down
4 changes: 2 additions & 2 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ The following packages must be installed before Avro can be built:

- Java: 11, 17 and 21 with the appropriate toolchain config, Maven 3.9.6 or better, protobuf-compile
- PHP: php8, phpunit, php8-gmp
- Python 3: 3.7 or greater, tox (tox will install other dependencies as needed)
- Python 3: 3.10 or greater, tox (tox will install other dependencies as needed)
- C: gcc, cmake, asciidoc, source-highlight, Jansson, pkg-config
- C++: cmake 3.7.2 or greater, g++, flex, bison, libboost-dev
- C#: .NET Core 2.2 SDK
- JavaScript: Node 12.x+, nodejs, npm
- JavaScript: Node 20.x+, nodejs, npm
- Ruby: Ruby 2.7 or greater, ruby-dev, gem, bundler, snappy
- Perl: Perl 5.24.1 or greater, gmake, Module::Install,
Module::Install::ReadmeFromPod, Module::Install::Repository,
Expand Down
14 changes: 6 additions & 8 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -184,9 +184,8 @@ do
cp -r doc/ build/staging-web/
find build/staging-web/ -type f -print0 | xargs -0 sed -r -i "s#\+\+version\+\+#${VERSION,,}#g"
mkdir -p build/staging-web/public/docs/
mv build/staging-web/doc/content/en/docs/++version++ build/staging-web/public/docs/"${VERSION,,}"
read -n 1 -s -r -p "Build build/staging-web/ manually now. Press a key to continue..."
# If it was a SNAPSHOT, it was lowercased during the build.
mv build/staging-web/content/en/docs/++version++ build/staging-web/public/docs/"${VERSION,,}"
(cd build/staging-web/ && npm install && hugo --gc --minify)
cp -R build/staging-web/public/docs/"${VERSION,,}"/* "build/$DOC_DIR/"
cp -R "build/$DOC_DIR/api" build/staging-web/public/docs/"${VERSION,,}"/
( cd build/staging-web/public/docs/; ln -s "${VERSION,,}" current )
Expand Down Expand Up @@ -304,10 +303,12 @@ do
DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME:-"avro-build-$USER_NAME:latest"}
{
cat share/docker/Dockerfile
echo "ENV HOME /home/$USER_NAME"
echo "ENV HOME=/home/$USER_NAME"
echo "RUN getent group $GROUP_ID || groupadd -g $GROUP_ID $USER_NAME"
echo "RUN getent passwd $USER_ID || useradd -g $GROUP_ID -u $USER_ID -k /root -m $USER_NAME"
echo "RUN getent passwd $USER_ID && userdel \$(getent passwd $USER_ID | cut -d: -f1)"
echo "RUN useradd -N -g $GROUP_ID -u $USER_ID -k /root -m $USER_NAME"
echo "RUN mkdir -p /home/$USER_NAME/.m2/repository"
echo "RUN chown -R --reference=/home/$USER_NAME /home/$USER_NAME/.m2/"
} > Dockerfile

if [ -z "$BUILDPLATFORM" ]; then
Expand All @@ -332,10 +333,7 @@ do
--env "JAVA=${JAVA:-21}" \
--user "${USER_NAME}" \
--volume "${HOME}/.gnupg:/home/${USER_NAME}/.gnupg" \
--volume "${PWD}/share/docker/m2:/home/${USER_NAME}/.m2/" \
--volume "${PWD}/share/docker/m2/toolchains.xml:/home/${USER_NAME}/.m2/toolchains.xml" \
--volume "${HOME}/.m2/repository:/home/${USER_NAME}/.m2/repository${DOCKER_MOUNT_FLAG}" \
--volume "${HOME}/.m2/build-cache:/home/${USER_NAME}/.m2/build-cache${DOCKER_MOUNT_FLAG}" \
--volume "${PWD}:/home/${USER_NAME}/avro${DOCKER_MOUNT_FLAG}" \
--workdir "/home/${USER_NAME}/avro" \
${DOCKER_RUN_XTRA_ARGS} "$DOCKER_IMAGE_NAME" ${DOCKER_RUN_ENTRYPOINT}
Expand Down
5 changes: 5 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,5 +65,10 @@
"!/lang/php/README.md",
"!/lang/php/lib"
]
},
"config": {
"allow-plugins": {
"beberlei/composer-monorepo-plugin": true
}
}
}
20 changes: 0 additions & 20 deletions doc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,6 @@ docker run --rm -v $(pwd):/src -p 1313:1313 jakejarvis/hugo-extended:latest --so
--buildDrafts --buildFuture --bind 0.0.0.0 --navigateToChanged
```

## Building the website in a distribution

When you build an Avro distribution with the script, there is currently a manual step required.

After all the binary artifacts and source have been created and copied to the `dist/` directory, the process will
stop with **Build build/staging-web/ manually now. Press a key to continue...**

At this point, from another terminal and in the Avro root directory, you can build the website:

```sh
# Install the necessary npm packages
docker run --entrypoint=sh --rm -v $(pwd):/src -p 1313:1313 jakejarvis/hugo-extended:latest \
-c "cd build/staging-web && npm install"
# Generate the website and the release documentation
docker run --rm -v $(pwd):/src -p 1313:1313 jakejarvis/hugo-extended:latest \
--source build/staging-web/ --gc --minify
# Optional: docker leaves some files with unmanageable permissions
sudo chown -R $USER:$USER build/staging-web
```

## New release

When a new version of Apache Avro is released:
Expand Down
Loading
Loading