diff --git a/packages/docs/site/i18n/es/docusaurus-plugin-content-docs/current/main/guides/github-action-pr-preview.md b/packages/docs/site/i18n/es/docusaurus-plugin-content-docs/current/main/guides/github-action-pr-preview.md new file mode 100644 index 0000000000..215de1f229 --- /dev/null +++ b/packages/docs/site/i18n/es/docusaurus-plugin-content-docs/current/main/guides/github-action-pr-preview.md @@ -0,0 +1,451 @@ +--- +title: Agregar botones de vista previa de PR con GitHub Actions +slug: /guides/github-action-pr-preview +description: Agregar automáticamente botones de vista previa de Playground a las solicitudes de extracción para tu plugin o tema de WordPress. +--- + + + +La acción de vista previa de PR de Playground agrega un botón de vista previa a tus solicitudes de extracción. Al hacer clic en el botón se inicia Playground con tu plugin o tema instalado desde la rama del PR: + +![PR Preview Button](@site/static/img/try-it-in-playground.png) + + + +Para opciones de configuración completas y características avanzadas, consulta el [README del flujo de trabajo action-wp-playground-pr-preview](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2). + + + +## Cómo funciona + + + +La acción se ejecuta en eventos de solicitudes de extracción (abierta, actualizada, editada). Puede actualizar la descripción del PR con un botón de vista previa o publicar el botón como un comentario. + + + +## Configuración básica para plugins + + + +Para plugins sin un paso de compilación, crea `.github/workflows/pr-preview.yml`: + +```yaml +name: PR Preview +on: + pull_request: + types: [opened, synchronize, reopened, edited] + +jobs: + preview: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - name: Post Playground Preview Button + uses: WordPress/action-wp-playground-pr-preview@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + mode: 'append-to-description' + plugin-path: . +``` + + + +La configuración `plugin-path: .` apunta a tu directorio de plugin. Para subdirectorios como `plugins/my-plugin`, usa `plugin-path: plugins/my-plugin`. + + + +Consulta [adamziel/preview-in-playground-button-plugin-example](https://github.com/adamziel/preview-in-playground-button-plugin-example/pull/3) para ver un ejemplo en vivo de este flujo de trabajo en acción. + + + +## Configuración básica para temas + + + +Para temas, usa `theme-path` en lugar de `plugin-path`: + +```yaml +name: PR Preview +on: + pull_request: + types: [opened, synchronize, reopened, edited] + +jobs: + preview: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - name: Post Playground Preview Button + uses: WordPress/action-wp-playground-pr-preview@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + theme-path: . +``` + + + +## Ubicación del botón + + + +Por defecto, la acción actualiza la descripción del PR (`mode: append-to-description`). Para publicar como un comentario en su lugar: + +```yaml +with: + plugin-path: . + mode: comment + github-token: ${{ secrets.GITHUB_TOKEN }} +``` + + + +La acción envuelve el botón en marcadores HTML y lo actualiza en ejecuciones posteriores. Por defecto, restaura el botón si lo eliminas. Para evitar la restauración: + +```yaml +with: + plugin-path: . + restore-button-if-removed: false +``` + + + +## Trabajar con artefactos compilados + + + +Para plugins o temas que requieren compilación, el flujo de trabajo implica compilar el código, exponerlo a través de versiones de GitHub y crear un blueprint que haga referencia a la URL pública. + + + +Ejemplo de flujo de trabajo (consulta la [documentación completa](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2#advanced-testing-built-ci-artifacts)): + +```yaml +name: PR Preview with Build +on: + pull_request: + types: [opened, synchronize, reopened, edited] + +permissions: + contents: write + pull-requests: write + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build + run: | + npm install + npm run build + zip -r plugin.zip dist/ + - uses: actions/upload-artifact@v4 + with: + name: built-plugin + path: plugin.zip + + expose-build: + needs: build + runs-on: ubuntu-latest + permissions: + contents: write + outputs: + artifact-url: ${{ steps.expose.outputs.artifact-url }} + steps: + - name: Expose built artifact + id: expose + uses: WordPress/action-wp-playground-pr-preview/.github/actions/expose-artifact-on-public-url@v2 + with: + artifact-name: 'built-plugin' + pr-number: ${{ github.event.pull_request.number }} + commit-sha: ${{ github.sha }} + artifacts-to-keep: '2' + + create-blueprint: + needs: expose-build + runs-on: ubuntu-latest + outputs: + blueprint: ${{ steps.blueprint.outputs.result }} + steps: + - uses: actions/github-script@v7 + id: blueprint + with: + script: | + const blueprint = { + steps: [{ + step: "installPlugin", + pluginZipFile: { + resource: "url", + url: "${{ needs.expose-build.outputs.artifact-url }}" + } + }] + }; + return JSON.stringify(blueprint); + result-encoding: string + + preview: + needs: create-blueprint + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: WordPress/action-wp-playground-pr-preview@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + blueprint: ${{ needs.create-blueprint.outputs.blueprint }} +``` + + + +La configuración `artifacts-to-keep` controla cuántas compilaciones se deben retener por PR. Para temas, cambia `installPlugin` a `installTheme`. + + + +Consulta [adamziel/preview-in-playground-button-built-artifact-example](https://github.com/adamziel/preview-in-playground-button-built-artifact-example/pull/2) para ver un ejemplo completo en funcionamiento. + + + +## Blueprints personalizados + + + +Usa blueprints para configurar el entorno de Playground. Puedes instalar plugins adicionales, establecer opciones de WordPress, importar contenido o ejecutar PHP personalizado. + + + +Ejemplo instalando tu plugin con WooCommerce: + +```yaml +jobs: + create-blueprint: + name: Create Blueprint + runs-on: ubuntu-latest + outputs: + blueprint: ${{ steps.blueprint.outputs.result }} + steps: + - name: Create Blueprint + id: blueprint + uses: actions/github-script@v7 + with: + script: | + const blueprint = { + steps: [ + { + step: "installPlugin", + pluginData: { + resource: "git:directory", + url: `https://github.com/${context.repo.owner}/${context.repo.repo}.git`, + ref: context.payload.pull_request.head.ref, + path: "/" + } + }, + { + step: "installPlugin", + pluginData: { + resource: "wordpress.org/plugins", + slug: "woocommerce" + } + } + ] + }; + return JSON.stringify(blueprint); + result-encoding: string + + preview: + needs: create-blueprint + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: WordPress/action-wp-playground-pr-preview@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + blueprint: ${{ needs.create-blueprint.outputs.blueprint }} +``` + + + +O referencia un blueprint externo: + +```yaml +with: + blueprint-url: https://example.com/path/to/blueprint.json +``` + + + +Consulta la [documentación de Blueprints](/blueprints) para ver todos los pasos y opciones de configuración disponibles. + + + +## Personalización de plantillas + + + +Personaliza el contenido de vista previa usando variables de plantilla: + +```yaml +with: + plugin-path: . + description-template: | + ### Test this PR in WordPress Playground + + {{PLAYGROUND_BUTTON}} + + **Branch:** {{PR_HEAD_REF}} +``` + + + +Variables disponibles: `{{PLAYGROUND_BUTTON}}`, `{{PLUGIN_SLUG}}`, `{{THEME_SLUG}}`, `{{PR_NUMBER}}`, `{{PR_TITLE}}`, `{{PR_HEAD_REF}}`, y más. + + + +Consulta el README del flujo de trabajo para ver la [lista completa](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2#description-template). + + + +## Exposición de artefactos + + + +La acción `expose-artifact-on-public-url` carga archivos compilados en una sola versión (etiquetada como `ci-artifacts` por defecto). Cada artefacto obtiene un nombre de archivo único como `pr-123-abc1234.zip`. Los artefactos antiguos se limpian automáticamente según `artifacts-to-keep`. + + + +Opciones de configuración: [Expose Artifact Inputs](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2#expose-artifact-inputs) + + + +## Solución de problemas + + + +**El botón no aparece:** El archivo de flujo de trabajo debe existir en la rama predeterminada. Verifica la pestaña Actions para ver errores. + + + +**La vista previa no se carga:** Verifica que la ruta apunte a un directorio válido de plugin/tema. Verifica los registros de compilación para artefactos. + + + +**No activado:** Verifica la consola del navegador para errores de PHP. Pueden faltar dependencias. + + + +**Errores de permisos:** Establece permisos a nivel de trabajo. + + + +Más información: [README del flujo de trabajo](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2) + + + +## Ejemplos + + + +- [WordPress/blueprints](https://github.com/WordPress/blueprints/pull/155) - Vistas previas de blueprint +- [adamziel/preview-in-playground-button-plugin-example](https://github.com/adamziel/preview-in-playground-button-plugin-example/pull/3) - Plugin sin compilación +- [adamziel/preview-in-playground-button-built-artifact-example](https://github.com/adamziel/preview-in-playground-button-built-artifact-example/pull/2) - Plugin con compilación + + + +## Próximos pasos + + + +- Agregar contenido de demostración ([guía](/guides/providing-content-for-your-demo)) +- Crear blueprints personalizados ([documentación](/blueprints)) +- Integrar con flujos de trabajo de pruebas +- Personalizar plantillas para revisores diff --git a/packages/docs/site/i18n/fr/docusaurus-plugin-content-docs/current/main/guides/github-action-pr-preview.md b/packages/docs/site/i18n/fr/docusaurus-plugin-content-docs/current/main/guides/github-action-pr-preview.md new file mode 100644 index 0000000000..5a130efdee --- /dev/null +++ b/packages/docs/site/i18n/fr/docusaurus-plugin-content-docs/current/main/guides/github-action-pr-preview.md @@ -0,0 +1,451 @@ +--- +title: Ajout de boutons d'aperçu de PR avec GitHub Actions +slug: /guides/github-action-pr-preview +description: Ajoutez automatiquement des boutons d'aperçu Playground aux pull requests de votre plugin ou thème WordPress. +--- + + + +L'action d'aperçu de PR Playground ajoute un bouton d'aperçu à vos pull requests. Cliquer sur le bouton lance Playground avec votre plugin ou thème installé depuis la branche du PR : + +![PR Preview Button](@site/static/img/try-it-in-playground.png) + + + +Pour les options de configuration complètes et les fonctionnalités avancées, consultez le [README du workflow action-wp-playground-pr-preview](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2). + + + +## Comment ça fonctionne + + + +L'action s'exécute sur les événements de pull request (ouvert, mis à jour, édité). Elle peut mettre à jour la description du PR avec un bouton d'aperçu ou publier le bouton sous forme de commentaire. + + + +## Configuration de base pour les plugins + + + +Pour les plugins sans étape de build, créez `.github/workflows/pr-preview.yml` : + +```yaml +name: PR Preview +on: + pull_request: + types: [opened, synchronize, reopened, edited] + +jobs: + preview: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - name: Post Playground Preview Button + uses: WordPress/action-wp-playground-pr-preview@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + mode: 'append-to-description' + plugin-path: . +``` + + + +Le paramètre `plugin-path: .` pointe vers le répertoire de votre plugin. Pour les sous-répertoires comme `plugins/my-plugin`, utilisez `plugin-path: plugins/my-plugin`. + + + +Consultez [adamziel/preview-in-playground-button-plugin-example](https://github.com/adamziel/preview-in-playground-button-plugin-example/pull/3) pour un exemple en direct de ce workflow en action. + + + +## Configuration de base pour les thèmes + + + +Pour les thèmes, utilisez `theme-path` au lieu de `plugin-path` : + +```yaml +name: PR Preview +on: + pull_request: + types: [opened, synchronize, reopened, edited] + +jobs: + preview: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - name: Post Playground Preview Button + uses: WordPress/action-wp-playground-pr-preview@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + theme-path: . +``` + + + +## Positionnement du bouton + + + +Par défaut, l'action met à jour la description du PR (`mode: append-to-description`). Pour publier sous forme de commentaire à la place : + +```yaml +with: + plugin-path: . + mode: comment + github-token: ${{ secrets.GITHUB_TOKEN }} +``` + + + +L'action enveloppe le bouton dans des marqueurs HTML et le met à jour lors des exécutions suivantes. Par défaut, elle restaure le bouton si vous le supprimez. Pour éviter la restauration : + +```yaml +with: + plugin-path: . + restore-button-if-removed: false +``` + + + +## Travailler avec des artefacts compilés + + + +Pour les plugins ou thèmes nécessitant une compilation, le workflow implique de compiler le code, de l'exposer via les releases GitHub et de créer un blueprint qui référence l'URL publique. + + + +Exemple de workflow (voir la [documentation complète](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2#advanced-testing-built-ci-artifacts)) : + +```yaml +name: PR Preview with Build +on: + pull_request: + types: [opened, synchronize, reopened, edited] + +permissions: + contents: write + pull-requests: write + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build + run: | + npm install + npm run build + zip -r plugin.zip dist/ + - uses: actions/upload-artifact@v4 + with: + name: built-plugin + path: plugin.zip + + expose-build: + needs: build + runs-on: ubuntu-latest + permissions: + contents: write + outputs: + artifact-url: ${{ steps.expose.outputs.artifact-url }} + steps: + - name: Expose built artifact + id: expose + uses: WordPress/action-wp-playground-pr-preview/.github/actions/expose-artifact-on-public-url@v2 + with: + artifact-name: 'built-plugin' + pr-number: ${{ github.event.pull_request.number }} + commit-sha: ${{ github.sha }} + artifacts-to-keep: '2' + + create-blueprint: + needs: expose-build + runs-on: ubuntu-latest + outputs: + blueprint: ${{ steps.blueprint.outputs.result }} + steps: + - uses: actions/github-script@v7 + id: blueprint + with: + script: | + const blueprint = { + steps: [{ + step: "installPlugin", + pluginZipFile: { + resource: "url", + url: "${{ needs.expose-build.outputs.artifact-url }}" + } + }] + }; + return JSON.stringify(blueprint); + result-encoding: string + + preview: + needs: create-blueprint + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: WordPress/action-wp-playground-pr-preview@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + blueprint: ${{ needs.create-blueprint.outputs.blueprint }} +``` + + + +Le paramètre `artifacts-to-keep` contrôle combien de builds conserver par PR. Pour les thèmes, changez `installPlugin` en `installTheme`. + + + +Consultez [adamziel/preview-in-playground-button-built-artifact-example](https://github.com/adamziel/preview-in-playground-button-built-artifact-example/pull/2) pour un exemple complet fonctionnel. + + + +## Blueprints personnalisés + + + +Utilisez les blueprints pour configurer l'environnement Playground. Vous pouvez installer des plugins supplémentaires, définir des options WordPress, importer du contenu ou exécuter du PHP personnalisé. + + + +Exemple d'installation de votre plugin avec WooCommerce : + +```yaml +jobs: + create-blueprint: + name: Create Blueprint + runs-on: ubuntu-latest + outputs: + blueprint: ${{ steps.blueprint.outputs.result }} + steps: + - name: Create Blueprint + id: blueprint + uses: actions/github-script@v7 + with: + script: | + const blueprint = { + steps: [ + { + step: "installPlugin", + pluginData: { + resource: "git:directory", + url: `https://github.com/${context.repo.owner}/${context.repo.repo}.git`, + ref: context.payload.pull_request.head.ref, + path: "/" + } + }, + { + step: "installPlugin", + pluginData: { + resource: "wordpress.org/plugins", + slug: "woocommerce" + } + } + ] + }; + return JSON.stringify(blueprint); + result-encoding: string + + preview: + needs: create-blueprint + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: WordPress/action-wp-playground-pr-preview@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + blueprint: ${{ needs.create-blueprint.outputs.blueprint }} +``` + + + +Ou référencez un blueprint externe : + +```yaml +with: + blueprint-url: https://example.com/path/to/blueprint.json +``` + + + +Consultez la [documentation des Blueprints](/blueprints) pour tous les pas disponibles et les options de configuration. + + + +## Personnalisation du template + + + +Personnalisez le contenu de l'aperçu en utilisant des variables de template : + +```yaml +with: + plugin-path: . + description-template: | + ### Test this PR in WordPress Playground + + {{PLAYGROUND_BUTTON}} + + **Branch:** {{PR_HEAD_REF}} +``` + + + +Variables disponibles : `{{PLAYGROUND_BUTTON}}`, `{{PLUGIN_SLUG}}`, `{{THEME_SLUG}}`, `{{PR_NUMBER}}`, `{{PR_TITLE}}`, `{{PR_HEAD_REF}}`, et plus. + + + +Consultez le README du workflow pour la [liste complète](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2#description-template). + + + +## Exposition des artefacts + + + +L'action `expose-artifact-on-public-url` télécharge les fichiers compilés vers une seule release (étiquetée `ci-artifacts` par défaut). Chaque artefact obtient un nom de fichier unique comme `pr-123-abc1234.zip`. Les anciens artefacts sont automatiquement nettoyés en fonction de `artifacts-to-keep`. + + + +Options de configuration : [Expose Artifact Inputs](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2#expose-artifact-inputs) + + + +## Dépannage + + + +**Le bouton n'apparaît pas :** Le fichier de workflow doit exister sur la branche par défaut. Vérifiez l'onglet Actions pour les erreurs. + + + +**L'aperçu ne se charge pas :** Vérifiez que le chemin pointe vers un répertoire de plugin/thème valide. Vérifiez les logs de build pour les artefacts. + + + +**Non activé :** Vérifiez la console du navigateur pour les erreurs PHP. Les dépendances peuvent être manquantes. + + + +**Erreurs de permissions :** Définissez les permissions au niveau du job. + + + +Plus d'informations : [README du workflow](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2) + + + +## Exemples + + + +- [WordPress/blueprints](https://github.com/WordPress/blueprints/pull/155) - Aperçus de blueprint +- [adamziel/preview-in-playground-button-plugin-example](https://github.com/adamziel/preview-in-playground-button-plugin-example/pull/3) - Plugin sans build +- [adamziel/preview-in-playground-button-built-artifact-example](https://github.com/adamziel/preview-in-playground-button-built-artifact-example/pull/2) - Plugin avec build + + + +## Prochaines étapes + + + +- Ajouter du contenu de démonstration ([guide](/guides/providing-content-for-your-demo)) +- Créer des blueprints personnalisés ([documentation](/blueprints)) +- Intégrer avec les workflows de tests +- Personnaliser les templates pour les réviseurs diff --git a/packages/docs/site/i18n/pt/docusaurus-plugin-content-docs/current/main/guides/github-action-pr-preview.md b/packages/docs/site/i18n/pt/docusaurus-plugin-content-docs/current/main/guides/github-action-pr-preview.md new file mode 100644 index 0000000000..6eb1a0a33b --- /dev/null +++ b/packages/docs/site/i18n/pt/docusaurus-plugin-content-docs/current/main/guides/github-action-pr-preview.md @@ -0,0 +1,451 @@ +--- +title: Adicionando Botões de Pré-visualização de PR com GitHub Actions +slug: /guides/github-action-pr-preview +description: Adicione automaticamente botões de pré-visualização do Playground aos pull requests do seu plugin ou tema WordPress. +--- + + + +A ação de Pré-visualização de PR do Playground adiciona um botão de pré-visualização aos seus pull requests. Clicar no botão inicia o Playground com seu plugin ou tema instalado a partir da branch do PR: + +![PR Preview Button](@site/static/img/try-it-in-playground.png) + + + +Para opções de configuração completas e recursos avançados, consulte o [README do workflow action-wp-playground-pr-preview](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2). + + + +## Como funciona + + + +A ação é executada em eventos de pull request (aberto, atualizado, editado). Ela pode atualizar a descrição do PR com um botão de pré-visualização ou postar o botão como um comentário. + + + +## Configuração básica para plugins + + + +Para plugins sem uma etapa de build, crie `.github/workflows/pr-preview.yml`: + +```yaml +name: PR Preview +on: + pull_request: + types: [opened, synchronize, reopened, edited] + +jobs: + preview: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - name: Post Playground Preview Button + uses: WordPress/action-wp-playground-pr-preview@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + mode: 'append-to-description' + plugin-path: . +``` + + + +A configuração `plugin-path: .` aponta para o diretório do seu plugin. Para subdiretórios como `plugins/my-plugin`, use `plugin-path: plugins/my-plugin`. + + + +Veja [adamziel/preview-in-playground-button-plugin-example](https://github.com/adamziel/preview-in-playground-button-plugin-example/pull/3) para um exemplo ao vivo deste workflow em ação. + + + +## Configuração básica para temas + + + +Para temas, use `theme-path` em vez de `plugin-path`: + +```yaml +name: PR Preview +on: + pull_request: + types: [opened, synchronize, reopened, edited] + +jobs: + preview: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - name: Post Playground Preview Button + uses: WordPress/action-wp-playground-pr-preview@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + theme-path: . +``` + + + +## Posicionamento do botão + + + +Por padrão, a ação atualiza a descrição do PR (`mode: append-to-description`). Para postar como um comentário: + +```yaml +with: + plugin-path: . + mode: comment + github-token: ${{ secrets.GITHUB_TOKEN }} +``` + + + +A ação envolve o botão em marcadores HTML e o atualiza em execuções subsequentes. Por padrão, ela restaura o botão se você o remover. Para evitar a restauração: + +```yaml +with: + plugin-path: . + restore-button-if-removed: false +``` + + + +## Trabalhando com artefatos compilados + + + +Para plugins ou temas que requerem compilação, o workflow envolve compilar o código, expô-lo através de releases do GitHub e criar um blueprint que referencia a URL pública. + + + +Exemplo de workflow (veja a [documentação completa](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2#advanced-testing-built-ci-artifacts)): + +```yaml +name: PR Preview with Build +on: + pull_request: + types: [opened, synchronize, reopened, edited] + +permissions: + contents: write + pull-requests: write + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build + run: | + npm install + npm run build + zip -r plugin.zip dist/ + - uses: actions/upload-artifact@v4 + with: + name: built-plugin + path: plugin.zip + + expose-build: + needs: build + runs-on: ubuntu-latest + permissions: + contents: write + outputs: + artifact-url: ${{ steps.expose.outputs.artifact-url }} + steps: + - name: Expose built artifact + id: expose + uses: WordPress/action-wp-playground-pr-preview/.github/actions/expose-artifact-on-public-url@v2 + with: + artifact-name: 'built-plugin' + pr-number: ${{ github.event.pull_request.number }} + commit-sha: ${{ github.sha }} + artifacts-to-keep: '2' + + create-blueprint: + needs: expose-build + runs-on: ubuntu-latest + outputs: + blueprint: ${{ steps.blueprint.outputs.result }} + steps: + - uses: actions/github-script@v7 + id: blueprint + with: + script: | + const blueprint = { + steps: [{ + step: "installPlugin", + pluginZipFile: { + resource: "url", + url: "${{ needs.expose-build.outputs.artifact-url }}" + } + }] + }; + return JSON.stringify(blueprint); + result-encoding: string + + preview: + needs: create-blueprint + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: WordPress/action-wp-playground-pr-preview@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + blueprint: ${{ needs.create-blueprint.outputs.blueprint }} +``` + + + +A configuração `artifacts-to-keep` controla quantos builds manter por PR. Para temas, altere `installPlugin` para `installTheme`. + + + +Veja [adamziel/preview-in-playground-button-built-artifact-example](https://github.com/adamziel/preview-in-playground-button-built-artifact-example/pull/2) para um exemplo completo funcionando. + + + +## Blueprints personalizados + + + +Use blueprints para configurar o ambiente do Playground. Você pode instalar plugins adicionais, definir opções do WordPress, importar conteúdo ou executar PHP personalizado. + + + +Exemplo instalando seu plugin com WooCommerce: + +```yaml +jobs: + create-blueprint: + name: Create Blueprint + runs-on: ubuntu-latest + outputs: + blueprint: ${{ steps.blueprint.outputs.result }} + steps: + - name: Create Blueprint + id: blueprint + uses: actions/github-script@v7 + with: + script: | + const blueprint = { + steps: [ + { + step: "installPlugin", + pluginData: { + resource: "git:directory", + url: `https://github.com/${context.repo.owner}/${context.repo.repo}.git`, + ref: context.payload.pull_request.head.ref, + path: "/" + } + }, + { + step: "installPlugin", + pluginData: { + resource: "wordpress.org/plugins", + slug: "woocommerce" + } + } + ] + }; + return JSON.stringify(blueprint); + result-encoding: string + + preview: + needs: create-blueprint + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: WordPress/action-wp-playground-pr-preview@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + blueprint: ${{ needs.create-blueprint.outputs.blueprint }} +``` + + + +Ou referencie um blueprint externo: + +```yaml +with: + blueprint-url: https://example.com/path/to/blueprint.json +``` + + + +Consulte a [documentação de Blueprints](/blueprints) para todos os passos disponíveis e opções de configuração. + + + +## Personalização de template + + + +Personalize o conteúdo da pré-visualização usando variáveis de template: + +```yaml +with: + plugin-path: . + description-template: | + ### Test this PR in WordPress Playground + + {{PLAYGROUND_BUTTON}} + + **Branch:** {{PR_HEAD_REF}} +``` + + + +Variáveis disponíveis: `{{PLAYGROUND_BUTTON}}`, `{{PLUGIN_SLUG}}`, `{{THEME_SLUG}}`, `{{PR_NUMBER}}`, `{{PR_TITLE}}`, `{{PR_HEAD_REF}}`, e mais. + + + +Consulte o README do workflow para a [lista completa](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2#description-template). + + + +## Exposição de artefatos + + + +A ação `expose-artifact-on-public-url` faz upload de arquivos compilados para um único release (marcado como `ci-artifacts` por padrão). Cada artefato recebe um nome de arquivo único como `pr-123-abc1234.zip`. Artefatos antigos são automaticamente limpos com base em `artifacts-to-keep`. + + + +Opções de configuração: [Expose Artifact Inputs](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2#expose-artifact-inputs) + + + +## Solução de problemas + + + +**Botão não aparece:** O arquivo de workflow deve existir no branch padrão. Verifique a aba Actions para erros. + + + +**Pré-visualização falha ao carregar:** Verifique se o caminho aponta para um diretório válido de plugin/tema. Verifique os logs de build para artefatos. + + + +**Não ativado:** Verifique o console do navegador para erros de PHP. As dependências podem estar faltando. + + + +**Erros de permissão:** Defina permissões no nível do job. + + + +Mais informações: [README do workflow](https://github.com/WordPress/action-wp-playground-pr-preview/tree/v2) + + + +## Exemplos + + + +- [WordPress/blueprints](https://github.com/WordPress/blueprints/pull/155) - Pré-visualizações de blueprint +- [adamziel/preview-in-playground-button-plugin-example](https://github.com/adamziel/preview-in-playground-button-plugin-example/pull/3) - Plugin sem build +- [adamziel/preview-in-playground-button-built-artifact-example](https://github.com/adamziel/preview-in-playground-button-built-artifact-example/pull/2) - Plugin com build + + + +## Próximos passos + + + +- Adicionar conteúdo de demonstração ([guia](/guides/providing-content-for-your-demo)) +- Criar blueprints personalizados ([documentação](/blueprints)) +- Integrar com workflows de testes +- Personalizar templates para revisores diff --git a/packages/docs/site/sidebars.js b/packages/docs/site/sidebars.js index b5b2ff617b..04ea0a6bb7 100644 --- a/packages/docs/site/sidebars.js +++ b/packages/docs/site/sidebars.js @@ -48,6 +48,7 @@ const sidebars = { 'main/guides/for-plugin-developers', 'main/guides/for-theme-developers', 'main/guides/providing-content-for-your-demo', + 'main/guides/github-action-pr-preview', ], }, {