Skip to content

upd: table

upd: table #16

Workflow file for this run

name: Run Experiments
on:
push:
branches:
- main
workflow_dispatch:
inputs:
job_count:
description: 'Количество jobs для запуска'
required: true
type: string
env:
EXPERIMENT_FOLDER: "experiment_${{ github.run_number }}"
jobs:
run-experiments:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup SSH
uses: webfactory/ssh-agent@v0.8.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Create experiment folder and clone analysis repo
run: |
# Создаем массив итераций с учетом специального случая job_count = 0
if [ "${{ github.event.inputs.job_count }}" = "0" ]; then
iterations_array="[1, 2, 3, 4, 5]"
else
iterations_array=$(python3 -c "print('[' + ', '.join(str(x) for x in range(1, ${{ github.event.inputs.job_count }} + 1)) + ']')")
fi
# Создаем JSON с итерациями
json_content="{\"iterations\": $iterations_array}"
# Создаем папку, клонируем репозиторий и затем создаем файл с итерациями
ssh -o StrictHostKeyChecking=no benqqa@158.160.181.177 "
mkdir -p ${{ env.EXPERIMENT_FOLDER }} && \
cd ${{ env.EXPERIMENT_FOLDER }} && \
git clone https://github.com/Benqqa/analysis-GitOps-solutions.git && \
mkdir -p analysis-GitOps-solutions/data && \
echo '$json_content' > analysis-GitOps-solutions/data/iterations.json
"
- name: Setup GitHub credentials
run: |
git config --global user.name "GitHub Actions"
git config --global user.email "actions@github.com"
echo "machine github.com login ${{ secrets.GH_USERNAME }} password ${{ secrets.GH_TOKEN }}" > ~/.netrc
- name: Run GitHub experiment
run: |
mkdir github-experiment
cd github-experiment
git clone https://github.com/Benqqa/nir3-experiment1.git
cd nir3-experiment1
./send-test-jobs.sh minimal ${{ github.event.inputs.job_count }} ${{ env.EXPERIMENT_FOLDER }}
- name: Setup GitLab credentials
run: |
echo "machine gitlab.com login ${{ secrets.GITLAB_USERNAME }} password ${{ secrets.GITLAB_TOKEN }}" > ~/.netrc
- name: Run GitLab experiment
run: |
mkdir gitlab-experiment
cd gitlab-experiment
git clone https://gitlab.com/Benqqa/nir3-experiment1.git
cd nir3-experiment1
./send-test-jobs.sh minimal ${{ github.event.inputs.job_count }} ${{ env.EXPERIMENT_FOLDER }}
- name: Setup GitVerse credentials
run: |
echo "machine gitverse.ru login ${{ secrets.GITVERSE_USERNAME }} password ${{ secrets.GITVERSE_TOKEN }}" > ~/.netrc
- name: Run GitVerse experiment
run: |
mkdir gitverse-experiment
cd gitverse-experiment
git clone https://gitverse.ru/benqqa/nir3-experiment1.git
cd nir3-experiment1
./send-test-jobs.sh minimal ${{ github.event.inputs.job_count }} ${{ env.EXPERIMENT_FOLDER }}