Skip to content

Commit

Permalink
GitHub Actions permissions docs
Browse files Browse the repository at this point in the history
  • Loading branch information
epompeii committed Oct 25, 2024
1 parent fa0e897 commit fbca346
Show file tree
Hide file tree
Showing 30 changed files with 308 additions and 475 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ on:
jobs:
benchmark_base_branch:
name: Continuous Benchmarking with Bencher
permissions:
checks: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,32 +16,35 @@ Diese historische Basislinie kann dann verwendet werden, um Leistungsregressione
(z.B.: `on: push: branches: main`)
3. Erstellen Sie einen `job` für GitHub Actions.
(z.B.: `jobs: benchmark_base_branch`)
4. Legen Sie den Maschinentyp fest, auf dem der Job ausgeführt wird.
4. Setzen Sie [die Berechtigungen für das `GITHUB_TOKEN`][github token permissions]
auf `write` für `checks`.
(z.B.: `permissions: checks: write`)
5. Legen Sie den Maschinentyp fest, auf dem der Job ausgeführt wird.
Siehe die [GitHub Actions `runs-on` Dokumentation][github actions runs-on]
für einen vollständigen Überblick.
(z.B.: `runs-on: ubuntu-latest`)
5. Checken Sie Ihren Basis-Branch Quellcode aus.
6. Checken Sie Ihren Basis-Branch Quellcode aus.
(z.B.: `uses: actions/checkout@v4`)
6. Installieren Sie die Bencher CLI mithilfe der [GitHub Action][bencher cli github action].
7. Installieren Sie die Bencher CLI mithilfe der [GitHub Action][bencher cli github action].
(z.B.: `uses: bencherdev/bencher@main`)
7. Verwenden Sie das <code><a href="/de/docs/explanation/bencher-run/">bencher run</a></code> CLI-Unterkommando,
8. Verwenden Sie das <code><a href="/de/docs/explanation/bencher-run/">bencher run</a></code> CLI-Unterkommando,
um Ihre `main`-Branch Benchmarks auszuführen.
Siehe [das `bencher run` CLI-Unterkommando][bencher run] für einen vollständigen Überblick.
(z.B.: `bencher run`)
8. Setzen Sie die `--project` Option auf den Project-Slug.
9. Setzen Sie die `--project` Option auf den Project-Slug.
Siehe [die `--project` Doku][project option] für weitere Details.
(z.B.: `--project save-walter-white-1234abcd`)
9. Setzen Sie die `--token` Option auf das **Repository**-Geheimnis `BENCHER_API_TOKEN`.
10. Setzen Sie die `--token` Option auf das **Repository**-Geheimnis `BENCHER_API_TOKEN`.
Siehe [die `--token` Doku][token option] für weitere Details.
(z.B.: `--token '${{ secrets.BENCHER_API_TOKEN }}'`)
10. Setzen Sie die `--branch` Option auf den Basis-Branch Namen.
11. Setzen Sie die `--branch` Option auf den Basis-Branch Namen.
Siehe [die `--branch` Doku][branch option] für einen vollständigen Überblick.
(z.B.: `--branch main`)
11. Setzen Sie die `--testbed` Option auf den Testbed-Namen.
12. Setzen Sie die `--testbed` Option auf den Testbed-Namen.
Dies sollte wahrscheinlich mit der in `runs-on` ausgewählten Maschine übereinstimmen.
Siehe [die `--testbed` Doku][testbed option] für weitere Details.
(z.B.: `--testbed ubuntu-latest`)
12. Setzen Sie den Threshold für den `main` Branch, `ubuntu-latest` Testbed und das `latency` Maß:
13. Setzen Sie den Threshold für den `main` Branch, `ubuntu-latest` Testbed und das `latency` Maß:
1. Setzen Sie die `--threshold-measure` Option auf das eingebaute `latency` Measure, das von <code><a href="/de/docs/reference/bencher-metric-format/#bencher-mock">bencher mock</a></code> generiert wird.
Siehe [die `--threshold-measure` Doku][threshold measure option] für weitere Details.
(z.B.: `--threshold-measure latency`)
Expand All @@ -57,25 +60,26 @@ Diese historische Basislinie kann dann verwendet werden, um Leistungsregressione
5. Setzen Sie die `--thresholds-reset` Flag, damit nur der angegebene Threshold aktiv ist.
Siehe [die `--thresholds-reset` Doku][thresholds reset] für einen vollständigen Überblick.
(z.B.: `--thresholds-reset`)
13. Setzen Sie die `--err` Flag, damit der Befehl fehlschlägt, wenn ein Alert generiert wird.
14. Setzen Sie die `--err` Flag, damit der Befehl fehlschlägt, wenn ein Alert generiert wird.
Siehe [die `--err` Doku][alert err] für einen vollständigen Überblick.
(z.B.: `--err`)
14. Setzen Sie die `--adapter` Option auf das [Bencher Metric Format JSON (`json`)][bmf], das von <code><a href="/de/docs/reference/bencher-metric-format/#bencher-mock">bencher mock</a></code> generiert wird.
15. Setzen Sie die `--adapter` Option auf das [Bencher Metric Format JSON (`json`)][bmf], das von <code><a href="/de/docs/reference/bencher-metric-format/#bencher-mock">bencher mock</a></code> generiert wird.
Siehe [benchmark harness adapters][adapter json] für einen vollständigen Überblick.
(z.B.: `--adapter json`)
15. Setzen Sie die `--github-actions` Option auf das GitHub API-Authentifizierungstoken, um Ergebnisse als GitHub Checks Kommentar zu posten, mithilfe
16. Setzen Sie die `--github-actions` Option auf das GitHub API-Authentifizierungstoken, um Ergebnisse als GitHub Checks Kommentar zu posten, mithilfe
der [GitHub Actions `GITHUB_TOKEN` Umgebungsvariable][github token].
Siehe [die `--github-actions` Doku][github actions option] für weitere Details.
(z.B.: `--github-actions '${{ secrets.GITHUB_TOKEN }}'`)
16. Geben Sie die Argumente des Benchmark-Befehls an.
17. Geben Sie die Argumente des Benchmark-Befehls an.
Siehe [benchmark command][command argument] für einen vollständigen Überblick.
(z.B.: `bencher mock`)

[github actions on]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on
[github actions push]: https://docs.github.com/en/webhooks/webhook-events-and-payloads#push
[github actions runs-on]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on
[github actions on]: https://docs.github.com/de/actions/using-workflows/workflow-syntax-for-github-actions#on
[github actions push]: https://docs.github.com/de/webhooks/webhook-events-and-payloads#push
[github token permissions]: https://docs.github.com/de/actions/using-jobs/assigning-permissions-to-jobs#setting-the-github_token-permissions-for-a-specific-job
[github actions runs-on]: https://docs.github.com/de/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on
[bencher cli github action]: https://github.com/marketplace/actions/bencher-cli
[github token]: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
[github token]: https://docs.github.com/de/actions/security-guides/automatic-token-authentication

[statistical continuous benchmarking]: /de/docs/how-to/track-benchmarks/#statistical-continuous-benchmarking
[bencher run]: /de/docs/explanation/bencher-run/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,41 +20,29 @@ Dieser Workflow archiviert den PR-Branch mit dem Befehl `bencher archive`.
⚠️ ENTFERNEN SIE NICHT DIESE ZEILE!
Weitere Informationen zum Umgang mit Fork-PRs finden Sie weiter unten unter [Pull Requests von Forks][pull requests from forks].
(z.B.: `if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository`)
5. Setzen Sie [die Berechtigungen für das `GITHUB_TOKEN`][github token permissions]
auf `write` für `pull-requests`.
Abhängig von Ihren GitHub-Einstellungen ist dies möglicherweise nicht erforderlich.
Doch bei allen Organisationen und persönlichen Repositories,
[die nach dem 02. Feb 2023 erstellt wurden][github token read only],
ist dies das Standardverhalten.
Lesen Sie [die GitHub-Dokumentation][github token permissions security]
für einen vollständigen Überblick.
(z.B.: `permissions: pull-requests: write`)
6. Legen Sie den Maschinentyp fest, auf dem der Job ausgeführt werden soll.
5. Legen Sie den Maschinentyp fest, auf dem der Job ausgeführt werden soll.
Lesen Sie die [GitHub Actions `runs-on` Dokumentation][github actions runs-on]
für einen vollständigen Überblick.
(z.B.: `runs-on: ubuntu-latest`)
7. Checken Sie den Quellcode des PR-Branches aus.
6. Checken Sie den Quellcode des PR-Branches aus.
(z.B.: `uses: actions/checkout@v4`)
8. Installieren Sie die Bencher CLI über [die GitHub Action][bencher cli github action].
7. Installieren Sie die Bencher CLI über [die GitHub Action][bencher cli github action].
(z.B.: `uses: bencherdev/bencher@main`)
9. Verwenden Sie den `bencher archive` CLI-Unterbefehl, um den PR-Branch zu archivieren.
8. Verwenden Sie den `bencher archive` CLI-Unterbefehl, um den PR-Branch zu archivieren.
(z.B.: `bencher archive`)
10. Setzen Sie die `--project` Option auf das Projektslug.
9. Setzen Sie die `--project` Option auf das Projektslug.
Siehe [die `--project` Dokumentation][project option] für mehr Details.
(z.B.: `--project save-walter-white-1234abcd`)
11. Setzen Sie die `--token` Option auf das **Repository**-Geheimnis `BENCHER_API_TOKEN`.
10. Setzen Sie die `--token` Option auf das **Repository**-Geheimnis `BENCHER_API_TOKEN`.
Siehe [die `--token` Dokumentation][token option] für mehr Details.
(z.B.: `--token '${{ secrets.BENCHER_API_TOKEN }}'`)
12. Setzen Sie die `--branch` Option auf den Namen des PR-Branches
11. Setzen Sie die `--branch` Option auf den Namen des PR-Branches
mit dem [GitHub Actions `github` Kontext][github actions context].
(z.B.: `--branch '${{ github.head_ref }}'`)


[github actions on]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on
[github action pull_request]: https://docs.github.com/en/webhooks/webhook-events-and-payloads#pull_request
[github token permissions]: https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs#setting-the-github_token-permissions-for-a-specific-job
[github token read only]: https://github.blog/changelog/2023-02-02-github-actions-updating-the-default-github_token-permissions-to-read-only/
[github token permissions security]: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token
[github actions runs-on]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on
[bencher cli github action]: https://github.com/marketplace/actions/bencher-cli
[github actions context]: https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,40 +16,28 @@ Dieser Workflow archiviert den Fork-PR-Branch mit dem Befehl `bencher archive`.
(z.B.: `on: pull_request: types: [closed]`)
3. Erstellen Sie einen GitHub Actions `job`.
(z.B.: `jobs: archive_pr_branch`)
4. Setzen Sie [die Berechtigungen für das `GITHUB_TOKEN`][github token permissions]
auf `write` für `pull-requests`.
Abhängig von Ihren GitHub-Einstellungen ist dies möglicherweise nicht erforderlich.
Aber für alle Organisationen und persönlichen Repos
[erstellt nach dem 02. Februar 2023][github token read only],
ist dies das Standardverhalten.
Siehe [die GitHub-Dokumentation][github token permissions security]
für einen vollständigen Überblick.
(z.B.: `permissions: pull-requests: write`)
5. Legen Sie die Art der Maschine fest, auf der der Job ausgeführt wird.
4. Legen Sie die Art der Maschine fest, auf der der Job ausgeführt wird.
Siehe die [GitHub Actions `runs-on` Dokumentation][github actions runs-on]
für einen vollständigen Überblick.
(z.B.: `runs-on: ubuntu-latest`)
6. Überprüfen Sie den PR-Branch-Quellcode.
5. Überprüfen Sie den PR-Branch-Quellcode.
(z.B.: `uses: actions/checkout@v4`)
7. Installieren Sie das Bencher CLI mithilfe [der GitHub Action][bencher cli github action].
6. Installieren Sie das Bencher CLI mithilfe [der GitHub Action][bencher cli github action].
(z.B.: `uses: bencherdev/bencher@main`)
8. Verwenden Sie das CLI-Unterkommando `bencher archive`, um den PR-Branch zu archivieren.
7. Verwenden Sie das CLI-Unterkommando `bencher archive`, um den PR-Branch zu archivieren.
(z.B.: `bencher archive`)
9. Setzen Sie die `--project`-Option auf das Projekt-Slug.
8. Setzen Sie die `--project`-Option auf das Projekt-Slug.
Siehe die [Dokumentation zur `--project` Option][project option] für weitere Details.
(z.B.: `--project save-walter-white-1234abcd`)
10. Setzen Sie die `--token`-Option auf das **Repository**-Geheimnis `BENCHER_API_TOKEN`.
9. Setzen Sie die `--token`-Option auf das **Repository**-Geheimnis `BENCHER_API_TOKEN`.
Siehe die [Dokumentation zur `--token` Option][token option] für weitere Details.
(z.B.: `--token '${{ secrets.BENCHER_API_TOKEN }}'`)
11. Setzen Sie die `--branch`-Option auf den Namen des PR-Branchs
10. Setzen Sie die `--branch`-Option auf den Namen des PR-Branchs
mithilfe [des GitHub Actions `github` Kontexts][github actions context].
(z.B.: `--branch '${{ github.head_ref }}'`)

[github actions on]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on
[github action pull_request]: https://docs.github.com/en/webhooks/webhook-events-and-payloads#pull_request
[github token permissions]: https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs#setting-the-github_token-permissions-for-a-specific-job
[github token read only]: https://github.blog/changelog/2023-02-02-github-actions-updating-the-default-github_token-permissions-to-read-only/
[github token permissions security]: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token
[github actions runs-on]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on
[bencher cli github action]: https://github.com/marketplace/actions/bencher-cli
[github actions context]: https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,32 +16,35 @@ This historical baseline can then be used to detect performance regressions in P
(ex: `on: push: branches: main`)
3. Create a GitHub Actions `job`.
(ex: `jobs: benchmark_base_branch`)
4. Set the type of machine the job will run on.
4. Set [the permissions for the `GITHUB_TOKEN`][github token permissions]
to `write` for `checks`.
(ex: `permissions: checks: write`)
5. Set the type of machine the job will run on.
See the [GitHub Actions `runs-on` documentation][github actions runs-on]
for a full overview.
(ex: `runs-on: ubuntu-latest`)
5. Checkout your base branch source code.
6. Checkout your base branch source code.
(ex: `uses: actions/checkout@v4`)
6. Install the Bencher CLI using [the GitHub Action][bencher cli github action].
7. Install the Bencher CLI using [the GitHub Action][bencher cli github action].
(ex: `uses: bencherdev/bencher@main`)
7. Use the <code><a href="/docs/explanation/bencher-run/">bencher run</a></code> CLI subcommand
8. Use the <code><a href="/docs/explanation/bencher-run/">bencher run</a></code> CLI subcommand
to run your `main` branch benchmarks.
See [the `bencher run` CLI subcommand][bencher run] for a full overview.
(ex: `bencher run`)
8. Set the `--project` option to the Project slug.
9. Set the `--project` option to the Project slug.
See [the `--project` docs][project option] for more details.
(ex: `--project save-walter-white-1234abcd`)
9. Set the `--token` option to the `BENCHER_API_TOKEN` **Repository** secret.
10. Set the `--token` option to the `BENCHER_API_TOKEN` **Repository** secret.
See [the `--token` docs][token option] for more details.
(ex: `--token '${{ secrets.BENCHER_API_TOKEN }}'`)
10. Set the `--branch` option to the base Branch name.
11. Set the `--branch` option to the base Branch name.
See [the `--branch` docs][branch option] for a full overview.
(ex: `--branch main`)
11. Set the `--testbed` option to the Testbed name.
12. Set the `--testbed` option to the Testbed name.
This should likely match the machine selected in `runs-on`.
See [the `--tested` docs][testbed option] for more details.
(ex: `--testbed ubuntu-latest`)
12. Set the Threshold for the `main` Branch, `ubuntu-latest` Testbed, and `latency` Measure:
13. Set the Threshold for the `main` Branch, `ubuntu-latest` Testbed, and `latency` Measure:
1. Set the `--threshold-measure` option to the built-in `latency` Measure that is generated by <code><a href="/docs/reference/bencher-metric-format/#bencher-mock">bencher mock</a></code>.
See [the `--threshold-measure` docs][threshold measure option] for more details.
(ex: `--threshold-measure latency`)
Expand All @@ -57,22 +60,23 @@ This historical baseline can then be used to detect performance regressions in P
5. Set the `--thresholds-reset` flag so that only the specified Threshold is active.
See [the `--thresholds-reset` docs][thresholds reset] for a full overview.
(ex: `--thresholds-reset`)
13. Set the `--err` flag to fail the command if an Alert is generated.
14. Set the `--err` flag to fail the command if an Alert is generated.
See [the `--err` docs][alert err] for a full overview.
(ex: `--err`)
14. Set the `--adapter` option to [Bencher Metric Format JSON (`json`)][bmf] that is generated by <code><a href="/docs/reference/bencher-metric-format/#bencher-mock">bencher mock</a></code>.
15. Set the `--adapter` option to [Bencher Metric Format JSON (`json`)][bmf] that is generated by <code><a href="/docs/reference/bencher-metric-format/#bencher-mock">bencher mock</a></code>.
See [benchmark harness adapters][adapter json] for a full overview.
(ex: `--adapter json`)
15. Set the `--github-actions` option to the GitHub API authentication token to post results as a GitHub Checks comment using
16. Set the `--github-actions` option to the GitHub API authentication token to post results as a GitHub Checks comment using
[the GitHub Actions `GITHUB_TOKEN` environment variable][github token].
See [the `--github-actions` docs][github actions option] for more details.
(ex: `--github-actions '${{ secrets.GITHUB_TOKEN }}'`)
16. Specify the benchmark command arguments.
17. Specify the benchmark command arguments.
See [benchmark command][command argument] for a full overview.
(ex: `bencher mock`)

[github actions on]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on
[github actions push]: https://docs.github.com/en/webhooks/webhook-events-and-payloads#push
[github token permissions]: https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs#setting-the-github_token-permissions-for-a-specific-job
[github actions runs-on]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on
[bencher cli github action]: https://github.com/marketplace/actions/bencher-cli
[github token]: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
Expand Down
Loading

0 comments on commit fbca346

Please sign in to comment.