Skip to content

take 2 with 128

take 2 with 128 #11

Workflow file for this run

name: CI
## RUNNERS
# ubuntu-24.04 = 4cpu, 16GB
# windows-2022 = 4 cpu, 16GB
# ubuntu-24.04-arm = 4cpu, 16GB
# macos-13 = 4cpu, 14GB
# macos-15 = 3cpu(M1), 7GB
on:
pull_request:
push:
branches: [ gha ]
env:
JAVA_TOOL_OPTIONS: -Xmx4096m
GRADLE_OPTS: -Dorg.gradle.daemon=true -Dorg.gradle.parallel=true -Dorg.gradle.configuration-cache=true
jobs:
assemble:
# 4 cpu, 16G ram
runs-on: ubuntu-latest-128
environment: dev
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Prepare
uses: ./.github/actions/prepare
# - name: ssh
# uses: ryanchapman/gha-ssh@v1
# timeout-minutes: 10
# with:
# authorized_github_users: 'joshuafernandes'
- name: Assemble
run: |
./gradlew --no-daemon --parallel clean compileJava compileTestJava compileJmhJava compileIntegrationTestJava compileAcceptanceTestJava compilePropertyTestJava assemble
# TODO: check why this is done
# - run:
# name: Prep Artifacts
# command: |
# mkdir /tmp/teku-distributions
# cp build/distributions/*.tar.gz /tmp/teku-distributions/
- name: Upload workspace build
uses: actions/upload-artifact@v4
with:
name: workspace
path: |
./
!./.git/**
retention-days: 7
unitTests:
needs: assemble
# 4 cpu, 16G ram
runs-on: ubuntu-latest-128
environment: dev
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Prepare
uses: ./.github/actions/prepare
- name: Download workspace build
uses: actions/download-artifact@v4
with:
name: workspace
- name: Unit Tests
run: |
CLASSNAMES=$(find . -iwholename "**/src/test/java/**/*.java" \
| sed 's@.*/src/test/java/@@' \
| sed 's@/@.@g' \
| sed 's/.\{5\}$//' )
GRADLE_ARGS=$(echo $CLASSNAMES | awk '{for (i=1; i<=NF; i++) print "--tests",$i}')
echo "Prepared arguments for Gradle: $GRADLE_ARGS"
# 15m = export GRADLE_OPTS="$GRADLE_OPTS -Dorg.gradle.workers.max=3" --no-daemon --parallel
export GRADLE_OPTS="$GRADLE_OPTS --configuration-cache"
./gradlew test $GRADLE_ARGS
unitTests2:
needs: assemble
# 4 cpu, 16G ram
runs-on: ubuntu-latest-128
environment: dev
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Prepare
uses: ./.github/actions/prepare
- name: Download workspace build
uses: actions/download-artifact@v4
with:
name: workspace
- name: Unit Tests
run: |
CLASSNAMES=$(find . -iwholename "**/src/test/java/**/*.java" \
| sed 's@.*/src/test/java/@@' \
| sed 's@/@.@g' \
| sed 's/.\{5\}$//' )
GRADLE_ARGS=$(echo $CLASSNAMES | awk '{for (i=1; i<=NF; i++) print "--tests",$i}')
echo "Prepared arguments for Gradle: $GRADLE_ARGS"
# 15m = export GRADLE_OPTS="$GRADLE_OPTS -Dorg.gradle.workers.max=8" --no-daemon --parallel
export JAVA_TOOL_OPTIONS="-Xmx2500m"
export GRADLE_OPTS="$GRADLE_OPTS --configuration-cache"
./gradlew --no-daemon --parallel test $GRADLE_ARGS
# integrationTests:
# needs: assemble
# # 4 cpu, 16G ram
# runs-on: ubuntu-24.04
# environment: dev
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# submodules: 'recursive'
# - name: Prepare
# uses: ./.github/actions/prepare
# - name: Download workspace build
# uses: actions/download-artifact@v4
# with:
# name: workspace
# - name: Acceptance Tests
# run: |
# ls -la .
# ./gradlew integrationTest
# # - name: Test results and report
# # uses: ./.github/actions/testResultsReports
# # with:
# # suiteName: 'acceptanceTests'
# propertyTests:
# needs: assemble
# # 4 cpu, 16G ram
# runs-on: ubuntu-24.04
# environment: dev
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# submodules: 'recursive'
# - name: Prepare
# uses: ./.github/actions/prepare
# - name: Download workspace build
# uses: actions/download-artifact@v4
# with:
# name: workspace
# - name: Acceptance Tests
# run: |
# ls -la .
# ./gradlew propertyTest
# acceptanceTests:
# needs: assemble
# # 4 cpu, 16G ram
# runs-on: ubuntu-24.04
# environment: dev
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# submodules: 'recursive'
# - name: Prepare
# uses: ./.github/actions/prepare
# - name: Download workspace build
# uses: actions/download-artifact@v4
# with:
# name: workspace
# - name: Acceptance Tests
# run: |
# ls -la .
# ./gradlew acceptanceTest
# propertyTests:
# parallelism: 1
# executor: medium_plus_executor
# steps:
# - prepare
# - attach_workspace:
# at: ~/project
# - run:
# name: PropertyTests
# no_output_timeout: 20m
# command: |
# CLASSNAMES=$(circleci tests glob "**/src/property-test/java/**/*.java" \
# | sed 's@.*/src/property-test/java/@@' \
# | sed 's@/@.@g' \
# | sed 's/.\{5\}$//' \
# | circleci tests split --split-by=timings --timings-type=classname)
# # Format the arguments to "./gradlew test"
# GRADLE_ARGS=$(echo $CLASSNAMES | awk '{for (i=1; i<=NF; i++) print "--tests",$i}')
# echo "Prepared arguments for Gradle: $GRADLE_ARGS"
# if [[ -z "$GRADLE_ARGS" ]]
# then
# echo "Failed to determine correct distribution of tests across nodes"
# exit 1
# fi
# ./gradlew --no-daemon --parallel --info propertyTest $GRADLE_ARGS
# - notify
# - capture_test_results