Skip to content

acceptance, int, property and unit on ubuntu-128 #13

acceptance, int, property and unit on ubuntu-128

acceptance, int, property and unit on ubuntu-128 #13

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=false -Dorg.gradle.parallel=true -Dorg.gradle.workers.max=4 -Xmx4096m
jobs:
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: 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
# 32 cpu, 128G 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"
./gradlew test $GRADLE_ARGS
integrationTests:
needs: assemble
# 32 cpu, 128G 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: Integration Tests
run: |
ls -la .
./gradlew integrationTest
propertyTests:
needs: assemble
# 32 cpu, 128G 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: Acceptance Tests
run: |
CLASSNAMES=$(find . -iwholename "**/src/property-test/java/**/*.java" \
| sed 's@.*/src/property-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"
./gradlew --info propertyTest $GRADLE_ARGS
acceptanceTests:
needs: assemble
# 32 cpu, 128G 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: Acceptance Tests
run: |
CLASSNAMES=$(find . -iwholename "**/src/acceptance-test/java/**/*.java" \
| sed 's@.*/src/acceptance-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"
./gradlew acceptanceTest $GRADLE_ARGS