name: Release on: push: tags: - 'v*' # Déclenche pour chaque tag commençant par 'v' (ex: v1.0.0) jobs: release: runs-on: ubuntu-latest steps: # Étape 1: Vérifier le code - name: Checkout code uses: actions/checkout@v2 # Étape 2: Installer pnpm - name: Install pnpm run: | npm install -g pnpm # Installe pnpm globalement # Étape 3: Installer les dépendances avec pnpm - name: Install dependencies run: pnpm install # Étape 4: Construire la librairie avec pnpm - name: Build library run: pnpm run build # Remplace par ton script de build si nécessaire # # Étape 5: Lancer les tests avec pnpm # - name: Run tests # run: pnpm test # Étape 6: Créer une release GitHub - name: Create GitHub Release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref_name }} # Utilise le tag actuel comme nom de la release release_name: "Release ${{ github.ref_name }}" body: "Automated release for version ${{ github.ref_name }}" draft: false prerelease: false # Étape 7: Ajouter les fichiers de build à la release - name: Upload build assets uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create-release.outputs.upload_url }} asset_path: ./dist # Remplace par le dossier où sont générés tes fichiers buildés asset_name: "build-${{ github.ref_name }}.zip" asset_content_type: application/zip