Refactor workflow comments for clarity and consistency, improve GitHu… #12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Step 0 # Start Exercise | |
| on: | |
| # Auto-start quand le dépôt élève est créé depuis la template | |
| # Le premier état contient .github/**, donc ce push déclenche Step 0 | |
| push: | |
| branches: [ main ] | |
| paths: | |
| - '.github/**' | |
| # Secours manuel | |
| workflow_dispatch: | |
| permissions: | |
| contents: write | |
| issues: write | |
| pull-requests: write | |
| actions: write | |
| # Évite deux exécutions concurrentes sur la même ref | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| STEP_1_FILE: ".github/steps/1-step.md" | |
| jobs: | |
| start_exercise: | |
| name: Start Exercise | |
| # ✅ Corrigé, utilisation de la syntaxe d'expression GitHub | |
| if: ${{ !github.event.repository.is_template }} | |
| uses: skills/exercise-toolkit/.github/workflows/start-exercise.yml@v0.7.1 | |
| with: | |
| exercise-title: "GitHub Basics" | |
| intro-message: "Bienvenue, cette issue va te guider pas à pas dans le cours." | |
| post_next_step_content: | |
| name: Post next step content | |
| needs: [start_exercise] | |
| if: ${{ needs.start_exercise.result == 'success' }} | |
| runs-on: ubuntu-latest | |
| env: | |
| ISSUE_NUMBER: ${{ needs.start_exercise.outputs.issue-number }} | |
| ISSUE_REPOSITORY: ${{ github.repository }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| persist-credentials: true | |
| fetch-depth: 0 | |
| # Se place explicitement sur le dernier commit distant | |
| - name: Sync to latest remote main | |
| run: | | |
| git fetch origin main | |
| git checkout -B main origin/main | |
| - name: Create comment - add step content | |
| uses: GrantBirki/comment@v2.1.1 | |
| with: | |
| repository: ${{ env.ISSUE_REPOSITORY }} | |
| issue-number: ${{ env.ISSUE_NUMBER }} | |
| file: ${{ env.STEP_1_FILE }} | |
| vars: | | |
| login: ${{ github.actor }} | |
| full_repo_name: ${{ github.repository }} | |
| - name: Create comment - watching for progress | |
| uses: GrantBirki/comment@v2.1.1 | |
| with: | |
| repository: ${{ env.ISSUE_REPOSITORY }} | |
| issue-number: ${{ env.ISSUE_NUMBER }} | |
| file: .github/i18n/fr/watching-for-progress.md | |
| # ÉCRASE le README EN par le README FR | |
| - name: Construire README FR | |
| id: build-readme-fr | |
| uses: skills/action-text-variables@v3 | |
| with: | |
| template-file: .github/i18n/fr/readme-start.md | |
| template-vars: | | |
| title: "GitHub Basics" | |
| login: ${{ github.actor }} | |
| issue_url: https://github.com/${{ github.repository }}/issues/${{ env.ISSUE_NUMBER }} | |
| - name: Mettre à jour README.md (FR) | |
| run: echo "$README_CONTENT" > README.md | |
| env: | |
| README_CONTENT: ${{ steps.build-readme-fr.outputs.updated-text }} | |
| - name: Commit et push du README FR | |
| shell: bash | |
| env: | |
| GIT_AUTHOR_NAME: github-actions[bot] | |
| GIT_AUTHOR_EMAIL: 41898282+github-actions[bot]@users.noreply.github.com | |
| GIT_COMMITTER_NAME: github-actions[bot] | |
| GIT_COMMITTER_EMAIL: 41898282+github-actions[bot]@users.noreply.github.com | |
| run: | | |
| set -e | |
| git add README.md | |
| if git diff --cached --quiet; then | |
| echo "Aucun changement à committer" | |
| else | |
| git commit -m "docs(readme): version FR pour l’intro" | |
| fi | |
| # On est déjà rebased sur origin/main, le push sera fast-forward | |
| git push origin main | |
| - name: Remplacer le corps de l’issue par la version FR | |
| uses: actions/github-script@v7 | |
| env: | |
| ISSUE_NUMBER: ${{ env.ISSUE_NUMBER }} | |
| with: | |
| script: | | |
| const {owner, repo} = context.repo; | |
| const number = Number(process.env.ISSUE_NUMBER); | |
| const body = [ | |
| "👋 Salut @" + context.actor + " ! Bienvenue dans ton exercice **GitHub Skills**.", | |
| "", | |
| "Bienvenue, cette issue va te guider pas à pas dans le cours.", | |
| "", | |
| "✨ Il s'agit d'un exercice GitHub Skills interactif et pratique.", | |
| "", | |
| "Au fil des étapes, je publierai des mises à jour dans les commentaires :", | |
| "", | |
| "✅ Vérifier ton travail et t’indiquer la suite", | |
| "💡 Partager des conseils et des ressources", | |
| "🚀 Célébrer ta progression et la fin", | |
| "", | |
| "C'est parti, amuse-toi bien !", | |
| "", | |
| "Mona" | |
| ].join('\n'); | |
| await github.rest.issues.update({ owner, repo, issue_number: number, body }); | |
| - name: Enable next step workflow | |
| run: gh workflow enable "Step 1" | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| # On désactive Step 0 pour empêcher tout nouveau run | |
| - name: Disable current workflow | |
| run: gh workflow disable "${{ github.workflow }}" | |
| env: | |
| GH_TOKEN: ${{ github.token }} |