Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
joshuafernandes committed Feb 20, 2025
1 parent c90d90b commit 6f25f45
Show file tree
Hide file tree
Showing 3 changed files with 165 additions and 29 deletions.
18 changes: 18 additions & 0 deletions .github/actions/prepare/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: 'prepare'
description: 'Composite action to setup java, gradle, docker'

runs:
using: "composite"
steps:
- name: Set up JDK 21
uses: actions/setup-java@v4.2.1
with:
java-version: 21
distribution: 'adopt'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4

- name: set up docker buildx
uses: docker/setup-buildx-action@v3
61 changes: 32 additions & 29 deletions .circleci/config.yml → .github/circleci-ref.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# https://app.circleci.com/pipelines/github/Consensys/teku/35434/workflows/a4ef0807-d48a-4e8a-95b9-ff304aa64ea6


version: 2.1
orbs:
slack: circleci/slack@3.4.2
Expand Down Expand Up @@ -189,35 +192,35 @@ parameters:
default: false

jobs:
assemble:
executor: large_executor
steps:
- prepare
- run:
name: Assemble
command: |
./gradlew --no-daemon --parallel clean compileJava compileTestJava compileJmhJava compileIntegrationTestJava compileAcceptanceTestJava compilePropertyTestJava assemble
- run:
name: Prep Artifacts
command: |
mkdir /tmp/teku-distributions
cp build/distributions/*.tar.gz /tmp/teku-distributions/
- notify
- save_cache:
name: Caching gradle dependencies
key: deps-{{ checksum "build.gradle" }}-{{ checksum "gradle/versions.gradle" }}-{{ .Branch }}-{{ .Revision }}
paths:
- .gradle
- ~/.gradle
- persist_to_workspace:
root: ~/project
paths:
- ./
- store_artifacts:
name: Distribution artifacts
path: /tmp/teku-distributions
destination: distributions
when: always
# assemble:
# executor: large_executor
# steps:
# - prepare
# - run:
# name: Assemble
# command: |
# ./gradlew --no-daemon --parallel clean compileJava compileTestJava compileJmhJava compileIntegrationTestJava compileAcceptanceTestJava compilePropertyTestJava assemble
# - run:
# name: Prep Artifacts
# command: |
# mkdir /tmp/teku-distributions
# cp build/distributions/*.tar.gz /tmp/teku-distributions/
# - notify
# - save_cache:
# name: Caching gradle dependencies
# key: deps-{{ checksum "build.gradle" }}-{{ checksum "gradle/versions.gradle" }}-{{ .Branch }}-{{ .Revision }}
# paths:
# - .gradle
# - ~/.gradle
# - persist_to_workspace:
# root: ~/project
# paths:
# - ./
# - store_artifacts:
# name: Distribution artifacts
# path: /tmp/teku-distributions
# destination: distributions
# when: always

windowsBuild:
executor:
Expand Down
115 changes: 115 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@

name: CI

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: 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-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: Unit Tests
run: |
export GRADLE_OPTS="$GRADLE_OPTS -Dorg.gradle.workers.max=3"
./gradlew 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'


# integrationTests:
# executor: medium_plus_executor
# steps:
# - prepare
# - attach_workspace:
# at: ~/project
# - run:
# name: IntegrationTests
# no_output_timeout: 20m
# command: |
# ./gradlew --no-daemon --parallel integrationTest
# - notify
# - capture_test_results
# - store_artifacts:
# path: build/test-results

0 comments on commit 6f25f45

Please sign in to comment.