Skip to content

Commit

Permalink
fix merge conflict
Browse files Browse the repository at this point in the history
  • Loading branch information
ereali-aneo committed Mar 3, 2025
2 parents 8f47bb5 + 1aae25f commit 7464d5e
Show file tree
Hide file tree
Showing 27 changed files with 1,606 additions and 28 deletions.
1 change: 0 additions & 1 deletion .docs/content/armonik/architecture-ArmoniK-internals.svg

This file was deleted.

2 changes: 1 addition & 1 deletion .docs/content/armonik/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This project is an Open Source ([Apache 2.0 License](https://github.com/aneocons
```

Here is an overview of how Armonik works:
![Armonik overview diagram](./architecture-ArmoniK-internals.svg)
![Armonik overview diagram](https://armonik-public-images.s3.eu-west-3.amazonaws.com/deployment-doc/architecture-ArmoniK-internals.svg)

## When should I use ArmoniK

Expand Down
Binary file removed .docs/content/user-guide/Debug-property.jpg
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ See the example [here](https://github.com/aneoconsulting/ArmoniK/blob/main/.docs

Open the .Net file in `ArmoniK.Sample/csharp/native/HelloWorld/Client/.` as a project.

![Debug property](./Debug-property.jpg)
![Debug property](https://armonik-public-images.s3.eu-west-3.amazonaws.com/deployment-doc/Debug-property.jpg)

Open the Debug property and add as arguments using the command line:

Expand Down
Empty file removed .docs/public/.nojekyll
Empty file.
1 change: 0 additions & 1 deletion .docs/public/architecture-ArmoniK-internals.svg

This file was deleted.

Binary file removed .docs/public/favicon.ico
Binary file not shown.
144 changes: 144 additions & 0 deletions .github/workflows/bench-benchmark.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
name: "Benchmark with Bench client"

on:
push:
branches:
- main
release:
types: [published, prereleased]
workflow_dispatch:
inputs:
destroy-on-session-end:
description: "Whether to destroy infrastructure right after the bench job has ended"
type: boolean
required: false
default: true
prefix:
description: "Prefix for the infrastructure. The bucket associated with this prefix must be created before."
required: false
default: "ci-bench"

jobs:
define-matrix:
name: Define matrix
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.types.outputs.matrix }}
steps:
- id: types
name: Define matrix
env:
TRIGGER: ${{ github.event_name }}
REF_NAME: ${{ github.ref_name }}
run: |
set -ex
if [ "$TRIGGER" == 'push' ]; then
echo '{"include":[{"type": "localhost", "ntasks":3000, "polling-limit": 300}]}' > matrix.json
echo "FILE_PREFIX=$REF_NAME" >> $GITHUB_ENV
elif [ "$TRIGGER" == 'release' ]; then
echo '{"include":[{"type": "localhost", "ntasks":3000, "polling-limit": 300}, {"type": "aws", "ntasks":1200000, "polling-limit": 1000, "parameters-file-path": "benchmarking/aws/parameters.tfvars"}]}' > matrix.json
echo "FILE_PREFIX=release/$REF_NAME" >> $GITHUB_ENV
elif [ "$TRIGGER" == 'workflow_dispatch' ]; then
echo '{"include":[{"type": "aws", "ntasks":1200000, "polling-limit": 1000, "parameters-file-path": "benchmarking/aws/parameters.tfvars"}]}' > matrix.json
echo "FILE_PREFIX=manual/$REF_NAME" >> $GITHUB_ENV
fi
echo "matrix=$(cat matrix.json)" >> "$GITHUB_OUTPUT"
benchmark:
name: ${{ matrix.type }}
runs-on: ubuntu-latest
needs: define-matrix
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.define-matrix.outputs.matrix) }}
env:
prefix: ${{ inputs.prefix || 'ci-bench' }}
parameters-file-path: ${{ matrix.parameters-file-path }}
outputs:
terraform-output: ${{ steps.deploy.outputs.terraform-output }}
armonik-endpoint: ${{ steps.get-armonik-endpoint.outputs.endpoint }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4

- name: Install Dependencies
uses: aneoconsulting/ArmoniK.Action.Deploy/dependencies@main
with:
terraform: true
k3s: true
docker: true
aws: true
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: eu-west-3

- name: Get Core version
run: |
set -ex
echo "core-version=$(cat versions.tfvars.json | jq -r '.armonik_versions.core')" >> $GITHUB_ENV
- id: deploy
name: "Deploy ArmoniK"
uses: aneoconsulting/ArmoniK.Action.Deploy/deploy@main
with:
type: ${{ matrix.type }}
prefix: ${{ env.prefix }}
core-version: ${{ env.core-version }}
parameters-file-path: ${{ env.parameters-file-path }}

- id: get-armonik-endpoint
name: "Get ArmoniK's control plane endpoint"
env:
TYPE: ${{ matrix.type }}
run: |
set -ex
grpc_endpoint=$(cat "infrastructure/quick-deploy/$TYPE/generated/armonik-output.json" | jq -r '.armonik.control_plane_url' | sed -r 's/(http:\/\/)([^:]*)(:.*)/\2/')
echo "grpc-endpoint=$grpc_endpoint" >> "$GITHUB_OUTPUT"
sleep 60
- id: bench
name: Run Bench
uses: aneoconsulting/ArmoniK.Action.Deploy/bench@main
with:
type: ${{ matrix.type }}
armonik-core-version: ${{ env.core-version }}
ntasks: ${{ matrix.ntasks }}
session-name: bench
grpc-client-endpoint: ${{ steps.get-armonik-endpoint.outputs.grpc-endpoint }}
timeout: 1200

- id: get-bench-stats
name: Get Bench Stats
uses: aneoconsulting/ArmoniK.Action.Deploy/get-throughput@main
with:
grpc-client-endpoint: ${{ steps.get-armonik-endpoint.outputs.grpc-endpoint }}
session-name: ${{ steps.bench.outputs.session-name }}
poll-duration-limit: ${{ matrix.polling-limit }}

- name: Upload benchmark results to artifact registry
uses: actions/upload-artifact@v4
with:
name: benchclient_benchmark_${{ github.event_name }}_${{ matrix.type }}_${{ github.run_id }}
path: ${{ steps.get-bench-stats.outputs.bench-file-path }}

- name: Upload benchmark results to s3
env:
EVENT_NAME: ${{ github.event_name }}
BENCH_RESULTS_PATH: ${{ steps.get-bench-stats.outputs.bench-file-path }}
TYPE: ${{ matrix.type }}
GHRUNID: ${{ github.run_id }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_EC2_METADATA_DISABLED: true
run: |
DATE=$(date +"%Y-%m-%d")
aws s3 cp "$BENCH_RESULTS_PATH" "s3://armonik-bench-storage/${FILE_PREFIX}/${GHRUNID}_${DATE}/benchclient_benchmark_${EVENT_NAME}_${TYPE}.json"
- if: ${{ (github.event_name == 'workflow_dispatch' && inputs.destroy-on-session-end) || (github.event_name != 'workflow_dispatch' && always()) }}
id: destroy
name: Destroy deployment
uses: aneoconsulting/ArmoniK.Action.Deploy/destroy@main
with:
type: ${{ matrix.type }}
prefix: ${{ env.prefix }}
parameters-file-path: ${{ env.parameters-file-path }}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Please, read [documentation](https://aneoconsulting.github.io/ArmoniK/) for more

You are welcome to raise issues on GitHub. Please, read our [community guidelines](https://aneoconsulting.github.io/ArmoniK.Community/) before doing so.

You can also send us a direct email at [armonik-support@aneo.fr](mailto:[email protected]).
You can also send us a direct email at [[email protected]](mailto:[email protected]).

## Acknowledge

Expand Down
Loading

0 comments on commit 7464d5e

Please sign in to comment.