InnerSourceCommons / InnerSourceCommons/InnerSourcePatterns

Unexpected failure in GitHub Action run

Offen
#581 10 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Type - Maintenance / Cleanup
Vorherrschende Sprache
HTML
Sterne
853
Forks
206
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
2

Beschreibung

In a recent pull request (https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/579), one of our GitHub Action (GHA) workflow runs failed.

Overview of failed GHAs:
Screenshot 2023-08-29 at 09 49 14

Now when looking at the details of that workflow run, I noticed something interesting:

  • when you click on "workflow file", it takes you to the book.yml file from this branch/PR (which comes from a fork)
  • however the file that really got executed is actually the one on the main branch of the upstream. I am so sure about this as the main branch contains the config for a matrix build for this GHA, while the branch from the PR does not have that matrix build yet)

So at the very least I am starting to wonder how GHAs really work. Seems like I might have some misunderstandings here.

My questions are:

  • which GHAs are executed? the ones on the main branch, or the ones on the PR branch, or both?
  • main and PR contain different versions of the same GHA. what happens in that case?

And lastly:
Why does this GHA run fail at all?

It seems like it is looking for a git ref hive-mind-pattern-1 and cannot find it? Possibly because that ref only exists on the fork but not on the upstream?

Do we have to configure the actions/checkout differently, so that it can find that git ref?
Right now we use ref: ${{ github.head_ref }}, which is defined as:

The head_ref or source branch of the pull request in a workflow run. This property is only available when the event that triggers a workflow run is either pull_request or pull_request_target.

I am suspecting that we are checking out the upstream repo InnerSourceCommons/InnerSourcePatterns but then trying to point to a ref that does not exist on that upsream.

Just not sure how one would configure this correctly?

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit .github/workflows/book.yml auf main und der Version im Pull Request #579. Untersuche anschließend den Workflow-Lauf 6003953262 und den Schritt actions/checkout, der github.head_ref verwendet. Vergleiche den Event-Kontext, das ausgecheckte Repository und die verfügbaren refs, um den Fehler zu erklären. Erledigt ist die Aufgabe, wenn dokumentiert ist, welche Workflow-Version und welcher ref verwendet werden, und die für eine erfolgreiche Ausführung des PR-Workflows erforderliche Konfiguration identifiziert wurde.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
git, github-actions
Bereich
ci-cd, devops
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.