Skip to content

Benchmark

Benchmark #175

Workflow file for this run

name: Benchmark
on:
# Run the workflow every day at 5AM UTC
# That's 9PM PST, 12AM EST, 6AM CET
schedule:
- cron: "0 5 * * *"
# Enable manual trigger for easy debugging
workflow_dispatch:
permissions:
contents: read
pull-requests: write
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
benchmark:
runs-on: "dagger-g2-main-4c"
if: ${{ github.repository == 'dagger/dagger' }}
timeout-minutes: 10
strategy:
matrix:
sdk: [go, python, typescript] # The SDKs you want to test
steps:
- name: dagger init (${{ matrix.sdk }})
shell: bash
run: |
mkdir -p /tmp/benchmark
cd /tmp/benchmark
dagger init --name=benchmark --sdk=${{ matrix.sdk }}
env:
DAGGER_CLOUD_TOKEN: "dag_dagger_sBIv6DsjNerWvTqt2bSFeigBUqWxp9bhh3ONSSgeFnw"
- name: dagger functions@initial (${{ matrix.sdk }})
shell: bash
run: |
dagger functions
working-directory: /tmp/benchmark
env:
DAGGER_CLOUD_TOKEN: "dag_dagger_sBIv6DsjNerWvTqt2bSFeigBUqWxp9bhh3ONSSgeFnw"
- name: dagger functions@cached (${{ matrix.sdk }})
shell: bash
run: |
dagger functions
working-directory: /tmp/benchmark
env:
DAGGER_CLOUD_TOKEN: "dag_dagger_sBIv6DsjNerWvTqt2bSFeigBUqWxp9bhh3ONSSgeFnw"
- name: dagger functions@modified (${{ matrix.sdk }})
shell: bash
run: |
# invalidate the cache by modifying the source files
for file in "main.go" "src/index.ts" "src/main/__init__.py"; do
[ -f "$file" ] && echo >> $file
done
dagger functions
working-directory: /tmp/benchmark
env:
DAGGER_CLOUD_TOKEN: "dag_dagger_sBIv6DsjNerWvTqt2bSFeigBUqWxp9bhh3ONSSgeFnw"