Le fix précédent utilisait ${GITHUB_TOKEN} dans un step run: — mais ${GITHUB_TOKEN} n'est pas une variable shell, c'est du texte littéral. L'URL du remote était https://x-access-token:${GITHUB_TOKEN}@... avec le placeholder non résolu.
Résultat : fatal: Authentication failed for 'https://scm.cabillot.eu/perso/opencode.git/'
Fix
Utiliser la syntaxe d'expression Gitea Actions ${{ secrets.GITHUB_TOKEN }} qui est résolue avant l'exécution du step :
Le token sera masqué automatiquement par le runner dans les logs.
## Problème
Le fix précédent utilisait `${GITHUB_TOKEN}` dans un step `run:` — mais `${GITHUB_TOKEN}` n'est **pas** une variable shell, c'est du texte littéral. L'URL du remote était `https://x-access-token:${GITHUB_TOKEN}@...` avec le placeholder non résolu.
Résultat : `fatal: Authentication failed for 'https://scm.cabillot.eu/perso/opencode.git/'`
## Fix
Utiliser la syntaxe d'expression Gitea Actions `${{ secrets.GITHUB_TOKEN }}` qui est résolue **avant** l'exécution du step :
```yaml
- name: Configure git auth
run: |
git remote set-url origin "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@scm.cabillot.eu/perso/opencode.git"
```
Le token sera masqué automatiquement par le runner dans les logs.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problème
Le fix précédent utilisait
${GITHUB_TOKEN}dans un steprun:— mais${GITHUB_TOKEN}n'est pas une variable shell, c'est du texte littéral. L'URL du remote étaithttps://x-access-token:${GITHUB_TOKEN}@...avec le placeholder non résolu.Résultat :
fatal: Authentication failed for 'https://scm.cabillot.eu/perso/opencode.git/'Fix
Utiliser la syntaxe d'expression Gitea Actions
${{ secrets.GITHUB_TOKEN }}qui est résolue avant l'exécution du step :Le token sera masqué automatiquement par le runner dans les logs.