Regenerate FlatBuffers Swift sources automatically on Dependabot updates
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- github-actions, swift
- Ambito
- build-system, ci-cd
Direzione di ricerca
Read Package.swift and gen-flatbuffers.sh to see how the FlatBuffers runtime version and generated Swift sources are currently handled; the script’s paths and pinned Apache Arrow format revision need attention. Then map the requested shell and gh workflow to Dependabot pull requests and inspect how CI builds and tests the package. Done means qualifying version bumps regenerate Sources/Arrow/*_generated.swift, update the PR branch when needed, and run build and tests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the enhancement requested
We commit the FlatBuffers generated Swift sources (Sources/Arrow/*_generated.swift). They must be regenerated with the flatc version that matches the FlatBuffers Swift runtime version in Package.swift.
Dependabot only updates Package.swift/Package.resolved. So a Dependabot PR that bumps FlatBuffers can't pass CI by itself, and someone has to regenerate the sources manually. For example, #160 (25.2.10 -> 25.12.19) fails CI.
How about adding a GitHub Actions workflow that regenerates the sources on Dependabot PRs? It would:
- Run on Dependabot PRs that change the FlatBuffers version in
Package.swift - Download the
flatcbinary for that version from thegoogle/flatbuffersreleases - Fetch
format/*.fbsfromapache/arrowat a pinned revision - Run
gen-flatbuffers.shand push the regenerated sources to the PR branch if there are any changes
Notes:
- This only automates regeneration. If the runtime API changes, we still need to update the hand-written code manually in the PR.
gen-flatbuffers.shuses paths for the old repository layout. We need to fix them as part of this. We should also record the pinnedapache/arrowrevision forformat/*.fbsin the script.- Workflows triggered by Dependabot get a read-only
GITHUB_TOKENby default, so the workflow needspermissions: contents: write. - Commits pushed with
GITHUB_TOKENdon't trigger other workflows. So the workflow should also build and run the tests after regeneration, or we need to re-run CI manually. - We should use only shell and
gh(no third-party actions) to comply with the ASF GitHub Actions policy.
We can apply the same approach to the Protocol Buffers/gRPC generated sources in Sources/ArrowFlight/ later.
- Lingua principale
- Swift
- Stelle
- 33
- Fork
- 20
- Merge medio
- 1h 38m
- PR unite (30g)
- 4
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/arrow-swift
-
Mark generated files as linguist-generatedForse già presa @sidpug-arcana l’ha presa 1 giorno fa. Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
apache/arrow-swift#203 · 1 commento ·
-
setup-swift doesn't work on Ubuntu 26.04Forse già presa @ump45nose l’ha presa 4 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
apache/arrow-swift#199 ·
-
BaseBufferBuilder.isNull returns the inverse of the null stateForse già presa @maltzsama l’ha presa 98 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
apache/arrow-swift#180 ·
-
ArrowReader.fromFile crashes on files smaller than the Arrow file markerForse già presa @maltzsama l’ha presa 99 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/arrow-swift#176 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
apache/arrow-swift#186 ·
Tutte le issue di apache/arrow-swift
Issue simili
-
area: agents
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
manaflow-ai/cmux#29762 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno