es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo ejecutar un comando “cat” en una acción de GitHub

Tengo un archivo bash que se supone que optimiza varias partes de un sitio. Uno de estos comandos es concatenar varios archivos de JavaScript en uno solo y eliminar los duplicados restantes.

El script de bash funciona perfectamente localmente, pero las Acciones de GitHub aparentemente ignoran tanto el comando en sí como el archivo recién agregado de la concatenación.

Quiero que el archivo recién creado realmente aparezca y sea empujado automáticamente a la rama de producción.

Todos los demás comandos en el script funcionan, excepto por cat.

Código de ejemplo:

cat js/styleswitch.js <(echo ";") js/navigation.js <(echo ";") js/browsercheck.js > js/header.js
rm js/styleswitch.js js/navigation.js

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para asegurarse de que el comando cat funcione como se espera en las Acciones de GitHub, se pueden seguir algunos pasos.

    1. Asegurarse de que el script de bash se esté ejecutando correctamente en las Acciones de GitHub. Verificar los registros para asegurarse de que el script se esté llamando y ejecutando como se espera.
    2. Verificar la ruta de los archivos. Es posible que la ruta de los archivos JavaScript sea diferente en el entorno de Acciones de GitHub que en el entorno local. Asegurarse de que las rutas sean correctas y ajustarlas según corresponda en el script de bash.

    3. Agregar un paso en el flujo de trabajo de Acciones de GitHub para enviar el archivo recién creado a la rama de producción. Esto se puede hacer utilizando el comando git push, suponiendo que el repositorio se haya configurado y autenticado correctamente.

    4. Considerar el uso de una herramienta como uglify-js para optimizar y comprimir el archivo de JavaScript concatenado. Esto puede ayudar a reducir el tamaño del archivo y mejorar los tiempos de carga de la página.

    Ejemplo de flujo de trabajo con paso agregado para enviar a la rama de producción:

    name: Optimizar sitio
    on:
      push:
        branches:
          - main
    
    jobs:
      optimizar:
        runs-on: ubuntu-latest
        steps:
        - name: Verificar repositorio
          uses: actions/checkout@v2
    
        - name: Optimizar archivos javascript
          run: bash optimizar-sitio.sh
    
        - name: Enviar a la rama de producción
          run: |
            git config --global user.email "acciones@github.com"
            git config --global user.name "Acciones de GitHub"
            git add js/header.js
            git commit -m "Archivos javascript optimizados"
            git push origin production
    

Comments are closed.