Skip to content

Commit

Permalink
see output of circleci agent
Browse files Browse the repository at this point in the history
  • Loading branch information
joshuafernandes committed Feb 20, 2025
1 parent a934423 commit ba19260
Show file tree
Hide file tree
Showing 2 changed files with 226 additions and 9 deletions.
220 changes: 220 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
version: 2.1
orbs:
slack: circleci/slack@3.4.2
win: circleci/windows@5.0.0
executors:
small_executor:
docker:
- image: cimg/openjdk:21.0.2
auth: &docker-auth
# Don't panic, throw away account to avoid Docker rate limits when downloading.
# Second reason we're doing this is so that forked PRs from external contributors works ie env vars aren't visible to forked PRs from within contexts
username: "cddockeruser"
password: "fa8651f2-88be-48b7-98ce-e711bd376252"
resource_class: small
working_directory: ~/project
environment:
JAVA_TOOL_OPTIONS: -Xmx1500m
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.parallel=true

trivy_executor:
docker:
- image: docker:stable-git
auth:
<<: *docker-auth
resource_class: small
working_directory: ~/project

medium_executor:
docker:
- image: cimg/openjdk:21.0.2
auth:
<<: *docker-auth
resource_class: medium
working_directory: ~/project
environment:
DOCKER_CLI_EXPERIMENTAL: enabled
JAVA_TOOL_OPTIONS: -Xmx1500m
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.parallel=true

medium_plus_executor:
docker:
- image: cimg/openjdk:21.0.2
auth:
<<: *docker-auth
resource_class: "medium+"
working_directory: ~/project
environment:
JAVA_TOOL_OPTIONS: -Xmx1500m
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.parallel=true

large_executor:
docker:
- image: cimg/openjdk:21.0.2
auth:
<<: *docker-auth
resource_class: large
working_directory: ~/project
environment:
JAVA_TOOL_OPTIONS: -Xmx3g
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.parallel=true

machine_executor_amd64:
machine:
image: ubuntu-2204:2024.01.1 # https://circleci.com/developer/machine/image/ubuntu-2204
docker_layer_caching: true
working_directory: ~/project
environment:
architecture: "amd64"
platform: "linux/amd64"

machine_large_executor_amd64:
machine:
image: ubuntu-2204:2024.01.1 # https://circleci.com/developer/machine/image/ubuntu-2204
docker_layer_caching: true
resource_class: large
working_directory: ~/project
environment:
architecture: "amd64"
platform: "linux/amd64"

machine_executor_arm64:
machine:
image: ubuntu-2204:2024.01.1 # https://circleci.com/developer/machine/image/ubuntu-2204
resource_class: arm.medium
environment:
architecture: "arm64"
platform: "linux/arm64"

node_executor:
docker:
- image: circleci/node:16-bullseye
auth:
<<: *docker-auth

commands:
install_java_21:
description: "Install Java 21"
steps:
- run:
name: "Install Java 21"
command: |
sudo apt update
sudo apt install -y openjdk-21-jdk
if [ "$(uname -m)" = "aarch64" ]; then
ARCH="arm64"
else
ARCH="amd64"
fi
sudo update-alternatives --set java /usr/lib/jvm/java-21-openjdk-$ARCH/bin/java
sudo update-alternatives --set javac /usr/lib/jvm/java-21-openjdk-$ARCH/bin/javac
prepare:
description: "Prepare"
steps:
- checkout
- restore_cache:
name: Restore cached gradle dependencies
keys:
- deps-{{ checksum "build.gradle" }}-{{ checksum "gradle/versions.gradle" }}-{{ .Branch }}-{{ .Revision }}
- deps-{{ checksum "build.gradle" }}-{{ checksum "gradle/versions.gradle" }}
capture_test_results:
description: "Capture test results"
steps:
- run:
name: "Gather test results"
when: "always"
command: |
FILES=`find . -name test-results`
for FILE in $FILES
do
MODULE=`echo "$FILE" | sed -e 's@./\(.*\)/build/test-results@\1@'`
TARGET="build/test-results/$MODULE"
mkdir -p "$TARGET"
find ${FILE} -mindepth 2 -maxdepth 2 -print0 | xargs -0 -I{} cp -rf {} $TARGET
done
- store_test_results:
path: build/test-results

capture_test_artifacts:
description: "Capture test artifacts"
steps:
- run:
name: "Gather test artifacts"
when: "always"
command: |
FILES=`find . -name test-artifacts`
for FILE in $FILES
do
MODULE=`echo "$FILE" | sed -e 's@./\(.*\)/build/test-artifacts@\1@'`
TARGET="build/test-artifacts/$MODULE"
mkdir -p "$TARGET"
cp -rf ${FILE}/*/* "$TARGET"
done
- store_artifacts:
path: build/test-artifacts

docker_trust_sign:
description: "Sign docker images"
steps:
- run:
name: "Sign Docker images"
command: |
docker login --username "${DOCKER_USER_RW}" --password "${DOCKER_PASSWORD_RW}"
# dct signing setup
mkdir -p $HOME/.docker/trust/private
echo $DCT_KEY | base64 --decode > $HOME/.docker/trust/private/$DCT_HASH.key
chmod 600 $HOME/.docker/trust/private/$DCT_HASH.key
docker trust key load $HOME/.docker/trust/private/$DCT_HASH.key --name ecosystem
docker_publish_images:
description: "Upload the docker images"
steps:
- run:
name: "Publish Docker Images"
command: |
docker login --username "${DOCKER_USER_RW}" --password "${DOCKER_PASSWORD_RW}"
./gradlew --no-daemon --parallel -Pbranch=${CIRCLE_BRANCH} -PincludeCommitHashInDockerTag=<< pipeline.parameters.include_commit_hash_in_docker_tag >> uploadDocker
notify:
description: "Notify Slack"
steps:
- slack/status:
mentions: "team-centaur"
fail_only: true
only_for_branches: 'master'

parameters:
include_commit_hash_in_docker_tag:
type: boolean
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
15 changes: 6 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,12 @@ jobs:
- name: Prepare
uses: ./.github/actions/prepare

- name: ssh
uses: ryanchapman/gha-ssh@v1
timeout-minutes: 10
with:
authorized_github_users: 'joshuafernandes'
# - name: ssh
# uses: ryanchapman/gha-ssh@v1
# timeout-minutes: 10
# with:
# authorized_github_users: 'joshuafernandes'

# curl -fLSs https://raw.githubusercontent.com/CircleCI-Public/circleci-cli/main/install.sh | bash

- name: Assemble
run: |
./gradlew --no-daemon --parallel clean compileJava compileTestJava compileJmhJava compileIntegrationTestJava compileAcceptanceTestJava compilePropertyTestJava assemble
Expand All @@ -52,7 +50,7 @@ jobs:
retention-days: 7

unitTests:
# needs: assemble
needs: assemble
# 4 cpu, 16G ram
runs-on: ubuntu-24.04
environment: dev
Expand All @@ -70,7 +68,6 @@ jobs:
with:
name: workspace


- name: Unit Tests
run: |
export GRADLE_OPTS="$GRADLE_OPTS -Dorg.gradle.workers.max=3"
Expand Down

0 comments on commit ba19260

Please sign in to comment.