From 48e1c397929049c715ec39a78d7223a6a34a5c8d Mon Sep 17 00:00:00 2001 From: Aki Kanellis Date: Thu, 4 Apr 2024 21:36:01 +0100 Subject: [PATCH] build: capture metrics --- .github/workflows/benchmark.yml | 155 +++++++++++++++++++++----------- 1 file changed, 105 insertions(+), 50 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 494c8ece6..1605a77fc 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -7,59 +7,19 @@ name: Benchmark - update-dependencies-molecule-24.x jobs: - test-parallel-false: - name: "Test - Parallel: false" + glances: + name: "Glances" runs-on: ubuntu-latest - strategy: - matrix: - cores: [1, 2, 3, 4] steps: - - name: Free disk space - uses: jlumbroso/free-disk-space@v1.3.1 + - name: Install Glances + run: pip install glances - - name: Checkout - # yamllint disable-line rule:line-length - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - name: Start Glances in background + run: | + glances --export csv --export-csv-file glances.csv --quiet & + echo $! > GLANCES_PID - - name: Setup just - # yamllint disable-line rule:line-length - uses: extractions/setup-just@dd310ad5a97d8e7b41793f8ef055398d51ad4de6 # v2.0.0 - with: - # renovate: datasource=crate depName=just - just-version: 1.25.2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Python - # yamllint disable-line rule:line-length - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 - with: - # renovate: datasource=docker depName=python versioning=docker - python-version: 3.12.2 - cache: pip - - - name: Update apt - run: sudo apt update - - - name: Install test dependencies - run: sudo apt install vagrant virtualbox - - - name: Install dependencies - run: just install-dependencies - - - name: Run - run: MOLECULE_CPUS=${{ matrix.cores }} just test - - test-parallel-true: - name: "Test - Parallel: true" - runs-on: ubuntu-latest - strategy: - matrix: - instance: [workstation-pop-os, server-nas, server-pi] - cores: [1, 2, 3, 4] - - steps: - name: Free disk space uses: jlumbroso/free-disk-space@v1.3.1 @@ -93,5 +53,100 @@ jobs: - name: Install dependencies run: just install-dependencies - - name: Run - run: MOLECULE_CPUS=${{ matrix.cores }} just test --platform-name=${{ matrix.instance }} + - name: Stop Glances + run: kill $(cat GLANCES_PID) + + - name: Upload Glances CSV + uses: actions/upload-artifact@v4 + with: + name: glances-metrics + path: glances.csv + +# test-parallel-false: +# name: "Test - Parallel: false" +# runs-on: ubuntu-latest +# strategy: +# matrix: +# cores: [1, 2, 3, 4] +# +# steps: +# - name: Free disk space +# uses: jlumbroso/free-disk-space@v1.3.1 +# +# - name: Checkout +# # yamllint disable-line rule:line-length +# uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 +# +# - name: Setup just +# # yamllint disable-line rule:line-length +# uses: extractions/setup-just@dd310ad5a97d8e7b41793f8ef055398d51ad4de6 # v2.0.0 +# with: +# # renovate: datasource=crate depName=just +# just-version: 1.25.2 +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# +# - name: Install Python +# # yamllint disable-line rule:line-length +# uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 +# with: +# # renovate: datasource=docker depName=python versioning=docker +# python-version: 3.12.2 +# cache: pip +# +# - name: Update apt +# run: sudo apt update +# +# - name: Install test dependencies +# run: sudo apt install vagrant virtualbox +# +# - name: Install dependencies +# run: just install-dependencies +# +# - name: Run +# run: MOLECULE_CPUS=${{ matrix.cores }} just test +# +# test-parallel-true: +# name: "Test - Parallel: true" +# runs-on: ubuntu-latest +# strategy: +# matrix: +# instance: [workstation-pop-os, server-nas, server-pi] +# cores: [1, 2, 3, 4] +# +# steps: +# - name: Free disk space +# uses: jlumbroso/free-disk-space@v1.3.1 +# +# - name: Checkout +# # yamllint disable-line rule:line-length +# uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 +# +# - name: Setup just +# # yamllint disable-line rule:line-length +# uses: extractions/setup-just@dd310ad5a97d8e7b41793f8ef055398d51ad4de6 # v2.0.0 +# with: +# # renovate: datasource=crate depName=just +# just-version: 1.25.2 +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# +# - name: Install Python +# # yamllint disable-line rule:line-length +# uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 +# with: +# # renovate: datasource=docker depName=python versioning=docker +# python-version: 3.12.2 +# cache: pip +# +# - name: Update apt +# run: sudo apt update +# +# - name: Install test dependencies +# run: sudo apt install vagrant virtualbox +# +# - name: Install dependencies +# run: just install-dependencies +# +# - name: Run +# run: MOLECULE_CPUS=${{ matrix.cores }} just test --platform-name=${{ matrix.instance }}