Skip to content

Conversation

@PiquelChips
Copy link
Contributor

@PiquelChips PiquelChips commented Apr 21, 2025

Petit résumé de la PR:

Système de versionnage et de CI/CD pour le plugin

Étape nécessaire afin que la PR soit fini (si PR en draft)

  • Build et test le code a chaque push/pr
  • Vérifier qu'il y a tjrs un milestone associé a la PR
  • Faire une release a la fermeture de la milestone
  • Publier les release sur Discord
  • La nomenclature des builds (SNAPSHOT/LOCAL/DEV...).
  • Changé la photo de profil du message discord
  • Upload le plugin sur le serveur OpenMC
  • Vérifier que le milestone à un nom
  • Ajouter le système IG ou un joueur peut regarder le milestone et les changements quand il se connecte
  • Ajout de la commande /omcrestart qui redémarre le serveur au bout de 1min
  • Ajout de certain secrets au repo:

Decrivez vos changements

  • Modification du schéma de PR (plus simple)
  • Ajout de la configuration de le génération automatique de description de release (release.yml)
  • Regroupement des workflow de build et de test + simplification et nettoyage de ceux-ci (build-test.yml)
  • Ajout d'un workflow qui vérifie que chaque PR à une milestone
  • Ajout d'un workflow qui à la fermeture d'un milestone:
    • Vérifie que le milestone à un nom conforme (il ne peux que contenir des lettres, des chiffres, des ".", des "-" et des "_")
    • Build le plugin
    • Créer une release GitHub
    • Upload le plugin sur le serveur
  • Ajout d'un workflow qui envoie un message discord à la publication d'une release (cf exemple de message ci-dessous)
  • Refonte du build.gradle:
    • Simplification de la syntax d'import et de certain paramètres de build (par @iambibi)
    • Ajout des variables TAG et SNAPSHOT afin de mieux gérer le versioning des builds du plugin (en local, en test ou en prod)
  • Ajout d'un message de bienvenue avec un lien qui redirige vers le milestone de la dernière MAJ

Un exemple du message discord. Bien sûr, les vrais auront des vrais changements et un nom de milestone plus joli:
image

Le système de versioning:

  • En local sans rien
    Screenshot 2025-04-25 125753
  • Avec SNAPSHOT=true
    Screenshot 2025-04-25 130932
  • Avec SNAPSHOT=true et GITHUB_SHA=azertyuiopoiuytrezertyuiooiuytre (simulation de l'envrionment de build de build-test.yml)
    Screenshot 2025-04-25 130516
  • Avec TAG=2.1.3 (simulation de l'environment de release)
    Screenshot 2025-04-25 130126

Merci a @iambibi d'avoir commencé, j'ai repris son code ici pour mon système

@PiquelChips PiquelChips changed the title Le Versining Refonte de la Pipeline CI/CD Apr 21, 2025
@iambibi iambibi added the 📦 Feature Ajout d'une fonctionnalité label Apr 21, 2025
@iambibi iambibi linked an issue Apr 21, 2025 that may be closed by this pull request
@iambibi
Copy link
Member

iambibi commented Apr 21, 2025

On est d'accord qu'on reste sur le même type pour la version ?
OpenMC-2.0.0-beta-1 ? Et si possible mettre OpenMC-{version}-SNAPSHOT si plugin build en local

@iambibi
Copy link
Member

iambibi commented Apr 26, 2025

ahh non on s'est mal compris, je pouvais faire une commande qui restart avec un delai mais je n'ai aucun moyen de l'éxecuté lors d'une release. Une solution serait de modifié l'action d'upload du plugin pour qu'elle execute une commande sur le serveur. stv je peux voire avec le mainteneur de repo

allez tente écoute

@PiquelChips
Copy link
Contributor Author

rexlManu/pterodactyl-upload-action#5

voila l'issue que j'ai créé.
au pire, si il ne répond pas avant la fin de la semaine, je ferais la modif sur un fork et on utiliseras le fork a la place

@iambibi
Copy link
Member

iambibi commented Apr 26, 2025

rexlManu/pterodactyl-upload-action#5

voila l'issue que j'ai créé. au pire, si il ne répond pas avant la fin de la semaine, je ferais la modif sur un fork et on utiliseras le fork a la place

ouais dommage ça sera pas tellement automatiser mais bon pg on verra ce qu'il dit

@ri1ongithub
Copy link
Member

le repo a plus vrm l'air d'être maintenu, il répondra prob pas avant 2 ans.

@PiquelChips
Copy link
Contributor Author

ouais donc j'ai fais le changement et j'ai modifié l'action pour utiliser mon fork

@PiquelChips
Copy link
Contributor Author

je peux pas le tester car j'ai pas de serveur pterodactyl a disposition mais tu peux regarder les changements que j'ai fait normalement tt va bien

@PiquelChips
Copy link
Contributor Author

normalement c'est bon ducoup mais faudra tester

@iambibi
Copy link
Member

iambibi commented Apr 26, 2025

ok

@PiquelChips
Copy link
Contributor Author

bon bah il a merge la PR presque immédiatement donc je vais remettre son action

@PiquelChips
Copy link
Contributor Author

je viens de voir que ri1 a fork mon repo
tu veux que je mette ton fork à la place?

@PiquelChips
Copy link
Contributor Author

je te conseil de forker l'original et pas le mien car je vais pas le maintenir

@iambibi
Copy link
Member

iambibi commented Apr 26, 2025

pas compris mais dite moi quand c'est good pour que je continue à review et ptet a mettre en test

@PiquelChips
Copy link
Contributor Author

Ducoup j'ai mis l'action fork par ServerOpenMC.
Si toute les variables nécessaires ont été mises dans les paramètres du repo alors tout est bon et tu peux review

@iambibi
Copy link
Member

iambibi commented Apr 26, 2025

Ducoup j'ai mis l'action fork par ServerOpenMC. Si toute les variables nécessaires ont été mises dans les paramètres du repo alors tout est bon et tu peux review

je vais faire une petite pause, je reprends surement ce soir vers 21h 22h je metterais en place le versionning

@iambibi
Copy link
Member

iambibi commented Apr 26, 2025

tu as bien enlevé la notif discord? (on va eviter de ping 10 fois les joueurs)

@PiquelChips
Copy link
Contributor Author

non j'ai juste enlevé le @NotifOpenMC

@PiquelChips
Copy link
Contributor Author

Ducoup j'ai mis l'action fork par ServerOpenMC. Si toute les variables nécessaires ont été mises dans les paramètres du repo alors tout est bon et tu peux review

je vais faire une petite pause, je reprends surement ce soir vers 21h 22h je metterais en place le versionning

ok

Copy link
Member

@ri1ongithub ri1ongithub left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@iambibi
Copy link
Member

iambibi commented Apr 26, 2025

Bon on va tester tout ça @PiquelChips

@iambibi iambibi merged commit c546c81 into ServerOpenMC:master Apr 26, 2025
2 of 3 checks passed
@PiquelChips PiquelChips deleted the feat branch April 26, 2025 18:48
PuppyTransGirl pushed a commit that referenced this pull request Aug 30, 2025
* fix: List.of() creates immutable list

* fix: Rename invitation variable to avoid confusion

* feat: _iambibi's work
from https://github.com/ServerOpenMC/PluginV2VersioningTest

* Update README.md

* feat: fix creation of tag

* Update README.md

* Update README.md

* remove adding tags on merge

* feat: add merging of milestone branch into master on milestone close

* feat: combined all build and test workflows

* fix: clean up workflows and translate

* feat: merge PR into milestone branch

* Plus de tests

* Update README.md (#5)

* remove pr-close workflow

* feat: check if target branch is correct

* fix typo

* fix typo

* Feat (#7)

* remove pr-close workflow

* feat: check if target branch is correct

* fix typo

* fix typo

* clean check-milestone

* feat: milestone-create workflow

* feat: add deleting branch when milestone-closed

* clean up milestone workflows

* Feat (#8)

* remove pr-close workflow

* feat: check if target branch is correct

* fix typo

* fix typo

* clean check-milestone

* feat: milestone-create workflow

* feat: add deleting branch when milestone-closed

* clean up milestone workflows

* fix: wrong branch name

* Feat (#9)

* remove pr-close workflow

* feat: check if target branch is correct

* fix typo

* fix typo

* clean check-milestone

* feat: milestone-create workflow

* feat: add deleting branch when milestone-closed

* clean up milestone workflows

* fix: wrong branch name

* fix: naming of jar in release workflow

* feat: clean pr template

* feat: workflows.md to explain the pipeline

* fix: naming of jar in release workflow

* feat: clean pr template

* feat: workflows.md to explain the pipeline

* fix: check-milestone had suplicated code

* remove test

* feat: simplified pipeline

* fix typos (I hope)

* feat: add automatic release notes generation

* translated release.yml

* remove unnecessary step in PR template

* fix: version numbre not being set properly in plugin.yml

* feat: removed unneccessary workflows

* feat: release posted on discord

* fix checkout version for discord notif

* change actions version

* fix: change @ in discord notification

* simplify workflows

* Feat (#14)

* fix: List.of() creates immutable list

* fix: Rename invitation variable to avoid confusion

* feat: _iambibi's work
from https://github.com/ServerOpenMC/PluginV2VersioningTest

* Update README.md

* feat: fix creation of tag

* Update README.md

* Update README.md

* remove adding tags on merge

* feat: add merging of milestone branch into master on milestone close

* feat: combined all build and test workflows

* fix: clean up workflows and translate

* feat: merge PR into milestone branch

* Plus de tests

* Update README.md (#5)

* remove pr-close workflow

* feat: check if target branch is correct

* fix typo

* fix typo

* Feat (#7)

* remove pr-close workflow

* feat: check if target branch is correct

* fix typo

* fix typo

* clean check-milestone

* feat: milestone-create workflow

* feat: add deleting branch when milestone-closed

* clean up milestone workflows

* Feat (#8)

* remove pr-close workflow

* feat: check if target branch is correct

* fix typo

* fix typo

* clean check-milestone

* feat: milestone-create workflow

* feat: add deleting branch when milestone-closed

* clean up milestone workflows

* fix: wrong branch name

* Feat (#9)

* remove pr-close workflow

* feat: check if target branch is correct

* fix typo

* fix typo

* clean check-milestone

* feat: milestone-create workflow

* feat: add deleting branch when milestone-closed

* clean up milestone workflows

* fix: wrong branch name

* fix: naming of jar in release workflow

* feat: clean pr template

* feat: workflows.md to explain the pipeline

* fix: naming of jar in release workflow

* feat: clean pr template

* feat: workflows.md to explain the pipeline

* fix: check-milestone had suplicated code

* remove test

* feat: simplified pipeline

* fix typos (I hope)

* feat: add automatic release notes generation

* translated release.yml

* remove unnecessary step in PR template

* fix: version numbre not being set properly in plugin.yml

* feat: removed unneccessary workflows

* feat: release posted on discord

* fix checkout version for discord notif

* change actions version

* fix: change @ in discord notification

* simplify workflows

---------

Co-authored-by: GitHub Actions <actions@github.com>

* add configuration of git in milestone-close

* Feat (#15)

* fix: List.of() creates immutable list

* fix: Rename invitation variable to avoid confusion

* feat: _iambibi's work
from https://github.com/ServerOpenMC/PluginV2VersioningTest

* Update README.md

* feat: fix creation of tag

* Update README.md

* Update README.md

* remove adding tags on merge

* feat: add merging of milestone branch into master on milestone close

* feat: combined all build and test workflows

* fix: clean up workflows and translate

* feat: merge PR into milestone branch

* Plus de tests

* Update README.md (#5)

* remove pr-close workflow

* feat: check if target branch is correct

* fix typo

* fix typo

* Feat (#7)

* remove pr-close workflow

* feat: check if target branch is correct

* fix typo

* fix typo

* clean check-milestone

* feat: milestone-create workflow

* feat: add deleting branch when milestone-closed

* clean up milestone workflows

* Feat (#8)

* remove pr-close workflow

* feat: check if target branch is correct

* fix typo

* fix typo

* clean check-milestone

* feat: milestone-create workflow

* feat: add deleting branch when milestone-closed

* clean up milestone workflows

* fix: wrong branch name

* Feat (#9)

* remove pr-close workflow

* feat: check if target branch is correct

* fix typo

* fix typo

* clean check-milestone

* feat: milestone-create workflow

* feat: add deleting branch when milestone-closed

* clean up milestone workflows

* fix: wrong branch name

* fix: naming of jar in release workflow

* feat: clean pr template

* feat: workflows.md to explain the pipeline

* fix: naming of jar in release workflow

* feat: clean pr template

* feat: workflows.md to explain the pipeline

* fix: check-milestone had suplicated code

* remove test

* feat: simplified pipeline

* fix typos (I hope)

* feat: add automatic release notes generation

* translated release.yml

* remove unnecessary step in PR template

* fix: version numbre not being set properly in plugin.yml

* feat: removed unneccessary workflows

* feat: release posted on discord

* fix checkout version for discord notif

* change actions version

* fix: change @ in discord notification

* simplify workflows

* add configuration of git in milestone-close

---------

Co-authored-by: GitHub Actions <actions@github.com>

* fix: tag name in milestone-close

* improve milestone-close release-create

* fix: wrong filepath for release

* undo last thing

* removed old stuff from milestone-close

* feat: simplify tag system

* feat: add tagless binary to release

* feat: add deploy to server to milestone-close

* fix branding of discord release

* feat: join message with milestone url

* fix: error expanding version and milestone url in build.gradle

* fix: token used for milestone-close release

* feat: name format verification

* feaet: remove . from file name

* fix name check

* fix name check

* fix regex pattern

* fix: build.gradle naming scheme

* fix tag system

* fix indentation

* fix: welcome message

* feat: /omcrestart

* fix: dont restart pterodactyl server

* feat: make restart work in console properly

* feat: modifie regex for more patters + explain error

* feat: only console can send the message

* translate discord release

* fix translattion

* feat: add sending console command on release

* fix regex

* fix regex

* use ServerOpenMC action for pterodactyl upload

---------

Co-authored-by: GitHub Actions <actions@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📦 Feature Ajout d'une fonctionnalité

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] Versionnage pour le Plugin

5 participants