Skip to content

test windows build

test windows build #14

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:
spotless:
runs-on: ubuntu-24.04
environment: dev
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Prepare
uses: ./.github/actions/prepare
- name: Spotless
run: |
./gradlew spotlessCheck
moduleChecks:
runs-on: ubuntu-24.04
environment: dev
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Prepare
uses: ./.github/actions/prepare
- name: Spotless
run: |
./gradlew heckMavenCoordinateCollisions checkModuleDependencies
assemble:
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
referenceTests:
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: Fetch Reference Tests
run: |
if [ ! -d "eth-reference-tests/src/referenceTest/resources/consensus-spec-tests/tests" ]
then
./gradlew --no-daemon expandRefTests
fi
# Compile separately so that we have the generated test files for splitting across nodes
- name: CompileReferenceTests
run:
name: CompileReferenceTests

Check failure on line 233 in .github/workflows/ci.yml

View workflow run for this annotation

GitHub Actions / CI

Invalid workflow file

The workflow is not valid. .github/workflows/ci.yml (Line: 233, Col: 11): A mapping was not expected .github/workflows/ci.yml (Line: 237, Col: 9): 'run' is already defined
command: |
./gradlew --no-daemon --parallel compileReferenceTestJava
run: |
CLASSNAMES=$(find . -iwholename "**/src/referenceTest/generated_tests/**/*Test.java" \
| sed 's@.*/src/referenceTest/generated_tests/@@' \
| 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 -x generateReferenceTestClasses -x processReferenceTestResources -x cleanReferenceTestClasses referenceTest $GRADLE_ARGS
windowsBuild:
needs: [spotless, moduleChecks ]
# 32 cpu, 128G ram
runs-on: windows-2022
environment: dev
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Prepare
uses: ./.github/actions/prepare
- name: Build
shell: powershell
run: |
$Env:JAVA_TOOL_OPTIONS = "-Xmx2g"
$Env:GRADLE_OPTS = "-Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.vfs.watch=false"
cmd.exe /c gradlew.bat --no-daemon --parallel --build-cache
# - run:
# name: "Gather test artifacts"
# when: "always"
# command: |
# New-Item -ItemType Directory -Force build\test-results
# Get-ChildItem -Recurse | Where-Object {$_.FullName -match "test-results\\.*\\.*.xml"} | Copy-Item -Destination build\test-results\
# - store_test_results:
# path: build/test-results