You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@avro.apache.org by mg...@apache.org on 2022/11/14 11:53:04 UTC
[avro] 03/03: AVRO-3653: [CI] Override env.GITHUB_WORKFLOW
This is an automated email from the ASF dual-hosted git repository.
mgrigorov pushed a commit to branch avro-3653-arm64-on-github-actions
in repository https://gitbox.apache.org/repos/asf/avro.git
commit eb5a28764fee33d5255396e76de7e14b31cfc191
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
AuthorDate: Tue Oct 25 16:39:53 2022 +0300
AVRO-3653: [CI] Override env.GITHUB_WORKFLOW
This is a workaround for https://github.com/uraimo/run-on-arch-action/pull/100
Signed-off-by: Martin Tzvetanov Grigorov <mg...@apache.org>
---
.github/workflows/test-arm64.yml | 69 ++++++++++++++++++++++++++++++----------
lang/py/avro/test/test_bench.py | 5 +--
2 files changed, 56 insertions(+), 18 deletions(-)
diff --git a/.github/workflows/test-arm64.yml b/.github/workflows/test-arm64.yml
index 06b9a11d3..44f35a82c 100644
--- a/.github/workflows/test-arm64.yml
+++ b/.github/workflows/test-arm64.yml
@@ -9,7 +9,7 @@ on:
jobs:
java:
name: Java on Linux ARM64
- runs-on: ubuntu-latest
+ runs-on: ubuntu-20.04-xl
steps:
- name: Checkout
@@ -26,6 +26,8 @@ jobs:
- name: Build
uses: uraimo/run-on-arch-action@v2
with:
+ env: |
+ GITHUB_WORKFLOW: ${{ github.workflow }}-${{ github.job }}
arch: aarch64
distro: ubuntu20.04
githubToken: ${{ github.token }}
@@ -57,14 +59,16 @@ jobs:
- name: Build
uses: uraimo/run-on-arch-action@v2
with:
+ env: |
+ GITHUB_WORKFLOW: ${{ github.workflow }}-${{ github.job }}
arch: aarch64
distro: ubuntu20.04
githubToken: ${{ github.token }}
dockerRunArgs: |
- --volume "${PWD}:/avro" --workdir /avro/lang/c
+ --volume "${PWD}:/avro" --workdir /avro/lang/c
install: |
apt-get update -q
- apt-get install -q -y libjansson-dev liblzma-dev libsnappy-dev cmake
+ apt-get install -q -y cmake liblzma-dev libsnappy-dev libjansson-dev zlib1g-dev pkg-config
run: |
set -x
./build.sh clean test
@@ -80,6 +84,8 @@ jobs:
- name: Build
uses: uraimo/run-on-arch-action@v2
with:
+ env: |
+ GITHUB_WORKFLOW: ${{ github.workflow }}-${{ github.job }}
arch: aarch64
distro: ubuntu20.04
githubToken: ${{ github.token }}
@@ -87,7 +93,7 @@ jobs:
--volume "${PWD}:/avro" --workdir /avro/lang/c++
install: |
apt-get update -q
- apt-get install -q -y libboost-all-dev cmake
+ apt-get install -q -y gcc g++ libboost-all-dev cmake
run: |
set -x
./build.sh clean test
@@ -95,6 +101,8 @@ jobs:
csharp:
name: C# on Linux ARM64
runs-on: ubuntu-latest
+ env:
+ GITHUB_WORKFLOW: ${{ github.workflow }}-${{ github.job }}
steps:
- name: Checkout
@@ -111,6 +119,8 @@ jobs:
- name: Build
uses: uraimo/run-on-arch-action@v2
with:
+ env: |
+ GITHUB_WORKFLOW: ${{ github.workflow }}-${{ github.job }}
arch: aarch64
distro: ubuntu20.04
githubToken: ${{ github.token }}
@@ -118,11 +128,11 @@ jobs:
--volume "${PWD}:/avro" --volume "$HOME/.nuget/packages:/root/.nuget/packages" --workdir /avro/lang/csharp
install: |
apt-get update -q
- apt-get install -q -y wget libzstd-dev
+ apt-get install -q -y wget libzstd-dev libicu-dev
wget https://dot.net/v1/dotnet-install.sh
- ./dotnet-install.sh --channel "3.1" --install-dir "$HOME/.dotnet" # 3.1
- ./dotnet-install.sh --channel "5.0" --install-dir "$HOME/.dotnet" # 5.0
- ./dotnet-install.sh --channel "6.0" --install-dir "$HOME/.dotnet" # 6.0
+ bash ./dotnet-install.sh --channel "3.1" --install-dir "$HOME/.dotnet" # 3.1
+ bash ./dotnet-install.sh --channel "5.0" --install-dir "$HOME/.dotnet" # 5.0
+ bash ./dotnet-install.sh --channel "6.0" --install-dir "$HOME/.dotnet" # 6.0
run: |
set -x
export PATH=$HOME/.dotnet:$PATH
@@ -131,7 +141,7 @@ jobs:
python:
name: Python on Linux ARM64
- runs-on: ubuntu-latest
+ runs-on: ubuntu-20.04-xl
steps:
- name: Checkout
@@ -140,17 +150,27 @@ jobs:
- name: Build
uses: uraimo/run-on-arch-action@v2
with:
+ env: |
+ GITHUB_WORKFLOW: ${{ github.workflow }}-${{ github.job }}
+ BENCH_MAX_WRITE_SECONDS: 300
+ BENCH_MAX_READ_SECONDS: 300
arch: aarch64
distro: ubuntu20.04
githubToken: ${{ github.token }}
dockerRunArgs: |
- --volume "${PWD}:/avro" --workdir /avro/lang/py
+ --volume "${PWD}:/avro" --workdir /avro/lang/py
install: |
apt-get update -q
- apt-get install -q -y python3.9 python3-pip libbz2-dev libjansson-dev liblzma-dev libsnappy-dev libzstd-dev
+ apt-get install -q -y software-properties-common
+ add-apt-repository -y ppa:deadsnakes/ppa
+ apt-get update -q
+ apt-get install -q -y python3.6 python3.7 python3.8 python3.9 python3.10 python3-pip git libbz2-dev libjansson-dev liblzma-dev libsnappy-dev libzstd-dev
python3 -m pip install --upgrade pip setuptools tox-wheel
run: |
set -x
+ echo $BENCH_MAX_WRITE_SECONDS
+ echo $BENCH_MAX_READ_SECONDS
+ git config --global --add safe.directory /avro
./build.sh clean test
ruby:
@@ -173,6 +193,8 @@ jobs:
- name: Build
uses: uraimo/run-on-arch-action@v2
with:
+ env: |
+ GITHUB_WORKFLOW: ${{ github.workflow }}-${{ github.job }}
arch: aarch64
distro: ubuntu20.04
githubToken: ${{ github.token }}
@@ -188,7 +210,7 @@ jobs:
rust:
name: Rust on Linux ARM64
- runs-on: ubuntu-latest
+ runs-on: ubuntu-20.04-xl
steps:
- name: Checkout
@@ -212,17 +234,21 @@ jobs:
- name: Build
uses: uraimo/run-on-arch-action@v2
with:
+ env: |
+ GITHUB_WORKFLOW: ${{ github.workflow }}-${{ github.job }}
arch: aarch64
distro: ubuntu20.04
githubToken: ${{ github.token }}
dockerRunArgs: |
--volume "${PWD}:/avro" --volume "$HOME/.cargo:/root/.cargo" --volume "$HOME/target:/root/avro/target" --workdir /avro/lang/rust
install: |
+ set -x
apt-get update -q
- apt-get install -q -y cargo
+ apt-get install -q -y cargo rustc
run: |
set -x
- ./build.sh clean test
+ cargo test --all --jobs 1
+# ./build.sh clean test
perl:
name: Perl on Linux ARM64
@@ -235,6 +261,8 @@ jobs:
- name: Build
uses: uraimo/run-on-arch-action@v2
with:
+ env: |
+ GITHUB_WORKFLOW: ${{ github.workflow }}-${{ github.job }}
arch: aarch64
distro: ubuntu20.04
githubToken: ${{ github.token }}
@@ -264,6 +292,8 @@ jobs:
- name: Build
uses: uraimo/run-on-arch-action@v2
with:
+ env: |
+ GITHUB_WORKFLOW: ${{ github.workflow }}-${{ github.job }}
arch: aarch64
distro: ubuntu20.04
githubToken: ${{ github.token }}
@@ -287,6 +317,8 @@ jobs:
javascript:
name: JavaScript on Linux ARM64
runs-on: ubuntu-latest
+ env:
+ NODE_VERSION: "16.18.0"
steps:
- name: Checkout
@@ -300,18 +332,23 @@ jobs:
restore-keys: |
${{ runner.os }}-node-
-
- name: Build
uses: uraimo/run-on-arch-action@v2
with:
+ env: |
+ GITHUB_WORKFLOW: ${{ github.workflow }}-${{ github.job }}
arch: aarch64
distro: ubuntu20.04
githubToken: ${{ github.token }}
dockerRunArgs: |
--volume "${PWD}:/avro" --volume "$HOME/.npm:/root/.npm" --workdir /avro/lang/js
install: |
+ set -x
apt-get update -q
- apt-get install -q -y nodejs
+ apt-get install -q -y wget tar xz-utils
+ wget https://nodejs.org/dist/v${{ env.NODE_VERSION }}/node-v${{ env.NODE_VERSION }}-linux-arm64.tar.xz
+ tar xf node-v${{ env.NODE_VERSION }}-linux-arm64.tar.xz
run: |
set -x
+ export PATH=/node-v${{ env.NODE_VERSION }}-linux-arm64/bin:$PATH
./build.sh clean test
diff --git a/lang/py/avro/test/test_bench.py b/lang/py/avro/test/test_bench.py
index f032dda02..d6ee49f59 100644
--- a/lang/py/avro/test/test_bench.py
+++ b/lang/py/avro/test/test_bench.py
@@ -19,6 +19,7 @@
import argparse
import json
+import os
import platform
import random
import string
@@ -54,8 +55,8 @@ SCHEMA = cast(
READER = avro.io.DatumReader(SCHEMA)
WRITER = avro.io.DatumWriter(SCHEMA)
NUMBER_OF_TESTS = 10000
-MAX_WRITE_SECONDS = 10 if platform.python_implementation() == "PyPy" else 3
-MAX_READ_SECONDS = 10 if platform.python_implementation() == "PyPy" else 3
+MAX_WRITE_SECONDS = 10 if platform.python_implementation() == "PyPy" else os.environ.get('BENCH_MAX_WRITE_SECONDS', 3)
+MAX_READ_SECONDS = 10 if platform.python_implementation() == "PyPy" else os.environ.get('BENCH_MAX_READ_SECONDS', 3)
class TestBench(unittest.TestCase):