NEWS
Dependabot Fehler beim Automerge
-
-
@alcalzone Ja das passt jetzt.
Allerdings fällt jetzt test-and-release.yml auf die Nase. Kann ich einfach die Version von
https://github.com/ioBroker/create-adapter/blob/master/.github/workflows/test-and-release.yml
übernehmen ? -
@weggetor Zeig am besten mal, was genau schiefläuft. Aber an sich sollten die aus dem Baseline-Verzeichnis passen, z.B.:
https://github.com/ioBroker/create-adapter/blob/master/test/baselines/adapter_JS_ESLint_TypeChecking_Spaces_SingleQuotes_Apache-2.0/.github/workflows/test-and-release.yml -
@alcalzone Hier ein Beispiel:
Edit: Habe mal die baseline-yaml mit meiner verglichen und genau der Teil mit dem Fehler der auftaucht fehlt in der baseline version. Habs mal geändert und bin gespannt ob es jetzt läuft
-
ich hab da auch Schwierigkeiten.
https://github.com/oweitman/ioBroker.tvprogram/blob/master/.github/workflows/dependabot-automerge.ymlHier die Fehlermeldung
und hier der token in den repo-einstellungen
evtl kann mir da jemand helfen. ich find den punkt nicht wo ich was falsch mache
muss ich den tatsächlich für jedes repo einen eigenen token erzeugen?
-
@weggetor Ah, ja das haben wir auch schon festgestellt:
https://github.com/ioBroker/create-adapter/issues/807Wenn du TypeScript im Adapter-Repo downgradest, sollte es wieder gehen. Dazu ändere in
package.json
die Zeile"typescript": "^4.4.2"
oder so ähnlich zu
"typescript": "~4.3.5"
und führe
npm install
aus.
-
@oliverio Hast du denn gelesen, was ich @weggetor vorher geschrieben habe?
==> https://github.com/ioBroker/create-adapter/blob/master/docs/updates/20210405_automerge_fixes.md -
Beziehend auf hier
https://forum.iobroker.net/topic/50721/core-entwicklung-zu-schnell/21?_=1640570914958Die Anpassung war schon eingearbeitet.
Die Benachrichtigung des Forums über die Antwort hat gefehlt. Kommt zwar selten vor, aber kommt vor.Wie gesagt, dependabot bzw Automarke funktioniert immer noch nicht.
Workflowdatei ist oben verlinkt, evtl findet noch jemand ein Problem darin. -
@oliverio Mal das versucht? https://github.com/ahmadnassri/action-dependabot-auto-merge/issues/58#issuecomment-981520187
Ich verstehe nicht warum es bei hunderten Repos tut und bei deine nicht, aber scheinst nicht allein zu sein weil ein paar in dem genannten Issue kommentiert haben.
-
@apollon77
Ich hab jetzt github–token nach token geändert.
Muss aber warten bis wieder eine Änderung ansteht, bei re–run
Kommt skippedDanke
-
@oliverio sagte in Dependabot Fehler beim Automerge:
Ich hab jetzt github–token nach token geändert.
Das wird auch nicht helfen. Die Action erwartet
github-token
. Der letzte Kommentar dort im Issue bezieht sich auf den checkout step!Und du bist sicher, dass dein Token wirklich existiert und ein personal access token mit Schreibrecht aufs repo ist?
Bei mir läufts nämlich: https://github.com/AlCalzone/ioBroker.zwave2/blob/master/.github/workflows/dependabot-automerge.yml -
Nein bin ich nicht.
Aber meinen Screenshot der dem deinen entspricht hatte ich oben eingefügt. -
@oliverio Dann vergleich den nochmal ganz genau mit meinem
-
Hm was ist der Unterschied zwischen den Knöpfen
New repository secret auf der secret-Seite und dem
Knopf new repository secret auf der Seite secret/actions/dependabot? -
@oliverio Letzeres scheint nur für die direkte Verwendung durch Dependabot gedacht zu sein:
When you add a secret it's encrypted before it reaches GitHub and it remains encrypted until it's used by Dependabot to access a private package registry
https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot#about-encrypted-secrets-for-dependabotDu willst es aber einer Action übergeben, und die kann dann damit nix anfangen.
-
@alcalzone
so also nochmal probiert, aber leider erfolglos. hier mal Schritt für schritt was ich gemacht habe:Personal Access Token (PAT) angelegt mit Namen DEPENDABOT
Folgende Scopes wurden angekreuzt:
repo (mit allen unterkreuzen) und zur Sicherheit noch workflow. Bei workflow bin ich mir nicht sicher ob der eigentlich notwendig ist
2)
die beiden Dateien angelegt. Die notwendigen Änderungen sind mE eingearbeitet, die im letzen Jahr aus Sicherheitsgründen durch github eingeführt wurden.
https://github.com/oweitman/ioBroker.mytime/blob/master/.github/auto-merge.yml
https://github.com/oweitman/ioBroker.mytime/blob/master/.github/workflows/dependabot-auto-merge.yml
3) der PAT-Name ist in der Datei ebenfalls notiert
https://github.com/oweitman/ioBroker.mytime/blob/master/.github/workflows/dependabot-auto-merge.yml
4) als Ergebnis eines Pull Requests schläg die Action fehl. Als Fehlermeldung wird das folgende angegeben:/usr/bin/docker run --name ghcrioahmadnassriactiondependabotautomergev2_18c66d --label 6a6825 --workdir /github/workspace --rm -e INPUT_GITHUB-TOKEN -e INPUT_COMMAND -e INPUT_CONFIG -e INPUT_BOTNAME -e INPUT_APPROVE -e INPUT_TARGET -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_RUN_ATTEMPT -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_REF_NAME -e GITHUB_REF_PROTECTED -e GITHUB_REF_TYPE -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e RUNNER_OS -e RUNNER_ARCH -e RUNNER_NAME -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/ioBroker.mytime/ioBroker.mytime":"/github/workspace" ghcr.io/ahmadnassri/action-dependabot-auto-merge:v2 /action/node_modules/@actions/core/lib/core.js:94 throw new Error(`Input required and not supplied: ${name}`); ^ Error: Input required and not supplied: github-token at Object.getInput (/action/node_modules/@actions/core/lib/core.js:94:15) at file:///action/index.js:28:15 at ModuleJob.run (node:internal/modules/esm/module_job:185:25) at async Promise.all (index 0) at async ESMLoader.import (node:internal/modules/esm/loader:281:24) at async loadESM (node:internal/process/esm_loader:88:5) at async handleMainPromise (node:internal/modules/run_main:65:12)
In der PAT Übersicht steht, das der Token nie verwendet wurde.
Keine Ahnung was ich hier noch falsch mache oder wo ich noch was ändern kann -
@oliverio Das Personal Access Token musst du noch als Repository Secret (unter Actions, NICHT Dependabot!) eintragen, wie in meinem Screenshot in folgendem Post:
https://forum.iobroker.net/post/727936 -
@alcalzone
Dann verstehe ich das noch nicht. In der github Doku seht nirgends was vom diesem 2 stufigen System.
Wenn ich ein repository Secret anlege, was trage ich dann bei value ein? -
@oliverio sagte in Dependabot Fehler beim Automerge:
was trage ich dann bei value ein
Den Inhalt deines personal access tokens.
Ein Secret ist erst mal nur ein Wert, der an eine Action übergeben wird (siehe Doku), ohne dass dieser irgendwo geloggt wird. Der Inhalt brauch eine Bedeutung, z.B. ein npm-Token, um bei npm was zu publishen, oder eben wie hier ein PAT, damit die Action in deinem Namen Dependabot sagen darf, dass er mergen soll.
In der github Doku seht nirgends was vom diesem 2 stufigen System.
Doch, in der Doku zur Action:
https://github.com/ahmadnassri/action-dependabot-auto-merge#token-scopeThe GitHub token is a Personal Access Token with the following scopes:
- repo for private repositories
- public_repo for public repositories
The token MUST be created from a user with push permission to the repository.
Und da das alles etwas versteckt ist, steht es etwas konkreter auch in der vom Creator erzeugten Action YML:
https://github.com/ioBroker/create-adapter/blob/ef7c9693559e580c6156d1c6aaab1ec7e9bb1ef7/test/baselines/adapter_JS_React/.github/workflows/dependabot-auto-merge.yml#L22-L25# In order to use this, you need to go to https://github.com/settings/tokens and # create a Personal Access Token with the permission "public_repo". # Enter this token in your repository settings under "Secrets" and name it AUTO_MERGE_TOKEN github-token: ${{ secrets.AUTO_MERGE_TOKEN }}
-
Aber wo steht da was davon das ich zunächst ein PAT anlegen muss und dann noch eine Repository Secret.
Ich lese immer nur, das ich ein PAT anlegen muss. Das PAT hat einen Namen, der Namen ist in der Action eingetragen. Ich habe das ja oben mit Screenshots dokumentiert.Du sagst ich soll den Inhalt des PAT in die Value des Repository Secrets eintragen:
Bei mir wird beim Anlegen des PAT nach Kreuzchen gefragt (wie oben beschrieben und mit Screenshot dargestellt, habe ich dort Repo und Workflow angekreuzt).
Ich gebe da ja nix individuelles geheimes ein.
Was verstehst du jetzt unter Inhalt des PATs? Den Namen?