-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix/303 repository improvement #305
Conversation
Refs: #303
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #305 +/- ##
==========================================
- Coverage 48.96% 46.96% -2.01%
==========================================
Files 74 81 +7
Lines 1162 1169 +7
Branches 220 242 +22
==========================================
- Hits 569 549 -20
- Misses 574 596 +22
- Partials 19 24 +5 ☔ View full report in Codecov by Sentry. |
message="chore(release): %s :tada:" | ||
registry=https://registry.npmjs.org/ | ||
always-auth=true | ||
tag=unstable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quando bisogna rilasciare la versione stabile: rimuovere tag=unstable
branches: [ | ||
{ | ||
name: "main", | ||
prerelease: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quando bisogna rilasciare la versione stabile: rimuovere prerelease: true
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@astagi ho notato che non è possibile non avere una branch di release (qui ne ho configurata una ma solo di prerelease)
semantic-release/semantic-release#2503 (comment)
La soluzione sembrerebbe usare un'altra branch per i rilasci di pre-release
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@AntoninoBonanno ho letto tutta la questione, alla fine mi son convinto di aprire una branch prerelease
dove direi di attivare le varie action. Quando si lancia una action possiamo decidere se lanciarla su main
oppure su prerelease
penso che a questo punto semanticrelase
riesca a riconoscere il branch e capire cosa rilasciare.
Gran bel lavoro! La libreria è molto interessante, bisognerebbe capire se possiamo utilizzare un versionamento "custom" come già stiamo facendo su Bootstrap Italia e sui kit, ovvero la major version sarà sulla second cifra invece che sulla prima (da 1.0.0 a 1.1.0 è una major version).. quando faremo Bootstrap Italia 3 allora passeremo alla 2.0.0 e così via. |
@astagi si certo per ogni tipologia di commit puoi decidere come aggiornare il semver https://github.com/semantic-release/commit-analyzer?tab=readme-ov-file#releaserules Puoi configurare tu questa parte? |
Perfetto! Ci guardo, grazie mille @AntoninoBonanno! |
@astagi Credo che potresti usare delle regole in modo che se si usa feat + uno scope deciso da te -> allora solo in questo caso si aggiorna la major. E dovresti disabilitare il fatto che con i breaking changes si aggiorna la major. Perchè di default funziona così:
|
// This will increase the version in the main project without publishing it | ||
"@semantic-release/npm", | ||
{ | ||
"npmPublish": false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@AntoninoBonanno perchè abbiamo disattivato la pubblicazione?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Questa è il numero di versione della documentazione. Quindi aggiorna il numero di versione senza rilasciare. Il comando sotto invece pubblica la libreria
32dad2c
to
8dec82b
Compare
🎉 This PR is included in version 0.14.0-prerelease.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version 1.0.0-prerelease.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
🎉 This PR is included in version 1.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Descrizione
Semantic release
@astagi non so se hai mai usato questa libreria, l'ho introdotta perchè ho notato degli script sul package.json che mi hanno dato la sensazione che il numero di versione lo si imposta manualmente.
Così invece oltre a facilitare il flusso di deploy, genera automaticamente il numero successivo della versione basandosi sui tipi dei messaggi nei commit. Per tale motivo ti chiedo di fare attenzione ai messaggi nei commit, soprattutto nelle PR di nuovi contributor (eventualmente si fa uno squash con un messaggio dedicato).
Quindi la regola è:
docs
e magari nello scope indicare se èfix
ofeat
(Esempiodocs(fix): fixed button example
)E' descritto meglio nel file CONTRIBUTING.md.
Magari per adesso che siamo in prerelease e non abbiamo un cambiamento di tipo semver sul tag, tutto questo sembra essere inutile, ma sarà molto comodo appena verrà rilasciata la versione stabile.
Se ho configurato tutto bene, il formato del changelog, il nome del tag e la release dovrebbero generarsi come è stato fin ora. Cambia che è tutto automatizzato al push sulla
main
.@astagi ti chiedo gentilmente se puoi verificare i workflow che ho creato, dovrebbero funzionare così:
Lint commits
: effettua il lint dei messaggi di commitRun tests
: verifica se la documentazione e la libreria vengono compilate correttamente ed effettua i testPublish release
: effettua il semantic-releaseRun tests
si è concluso correttamente (Verificare che non si azioni nelle PR)Update documentation
: aggiorna il sito della documentazionePublish release
si è concluso correttamente (Quindi anche se non ci sono modifiche alla libreria, la documentazione verrà aggiornata)Slack notification
: notifica a slackPublish release
ha rilasciato un tag)