Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

600
Vistas
¿Cómo pasar los secretos de Github como valor en el archivo json?

Estoy usando Cypress.io para mis pruebas automatizadas y lo activé en CI/D con Github Actions . El archivo config cypress.json tiene valores env anidados así:

 { "baseUrl": "<url-to-login>", "env": { "roles": { "admin": { "PASSWORD": "<password>", "USERNAME": "<username>" }, "employee": { "PASSWORD": "<password>", "USERNAME": "<username>" }, "client": { "PASSWORD": "<password>", "USERNAME": "<username>" } } } }

Desafortunadamente, Cypress no puede acceder a las variables de entorno profundo, por lo que estoy creando la configuración cypress.json de la siguiente manera:

 name: Cypress Tests on: [push] jobs: cypress-run: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 # creates cypress.json file to run Cypress - name: Create Cypress config files run: | echo '{ "baseUrl": "${{ secrets.BASE_URL }}", "env": { "roles": { "admin": { "PASSWORD": "${{ secrets.PASSWORD }}", "USERNAME": "${{ secrets.USERNAME }}" } } } }' > cypress.json - name: Cypress run uses: cypress-io/github-action@v2 with: build: yarn run start: yarn cypress:run wait-on-timeout: 120 browser: chrome

No funciona, pero codifiqué los valores que funcionó así:

 run: | echo '{ "baseUrl": "<hardcoded-redacted-value>", "env": { "roles": { "admin": { "PASSWORD": "<hardcoded-redacted-value>", "USERNAME": "<hardcoded-redacted-value>" } } } }' > cypress.json

Entonces mi pregunta es, ¿cómo pasar el secreto en el archivo json ?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Creo que encontrará que se corrigió la verificación de valores indefinidos en la función setPluginResolvedOn # 7960

 const roles = Cypress.env('roles') expect(roles.client.PASSWORD).to.eq('<password>') // ✅ passes
about 4 years ago · Juan Pablo Isaza Denunciar

0

Resolví este problema almacenando todo el contenido del archivo de configuración cypress.json como el secreto cifrado del repositorio de GitHub . Luego, utilicé la acción de GitHub create-json para generar el cypress.json necesario para ejecutar Cypress en CI/CD. Este es el .github/workflows/main.yml :

 name: Cypress Tests on: [push] jobs: cypress-run: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: create-json id: create-json uses: jsdaniell/create-json@1.1.2 with: name: "cypress.json" json: ${{ secrets.CYPRESS_CONFIG_JSON }} - name: Cypress run uses: cypress-io/github-action@v2 with: build: yarn run start: yarn cypress:run wait-on-timeout: 120 browser: chrome
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda