diff --git a/Jenkinsfile b/Jenkinsfile index 8efc2f880..c5424ee27 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -12,18 +12,18 @@ def BRANCH_ENV = [ node { stage('Setup') { env.NODE_ENV = BRANCH_ENV[env.BRANCH_NAME] ?: 'dev' - PROTECTED_BRANCH = [ 'dev', 'test', 'master', 'main', 'beta' - ].contains(env.BRANCH_NAME) + ] + IS_PROTECTED_BRANCH = PROTECTED_BRANCH.contains(env.BRANCH_NAME) IS_LATEST = ['master', 'main'].contains(env.BRANCH_NAME) - // https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables + // https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables echo "NODE_NAME: ${env.NODE_NAME}" echo "WORKSPACE: ${env.WORKSPACE}" @@ -36,7 +36,7 @@ node { props.each {key, value -> echo "${key}: ${value}" } } - if (PROTECTED_BRANCH) { + if (IS_PROTECTED_BRANCH) { configFileProvider([ configFile(fileId: "salix-front.branch.${env.BRANCH_NAME}", variable: 'BRANCH_PROPS_FILE') @@ -63,7 +63,7 @@ pipeline { stages { stage('Version') { when { - expression { PROTECTED_BRANCH } + expression { IS_PROTECTED_BRANCH } } steps { script { @@ -84,7 +84,7 @@ pipeline { } stage('Test') { when { - expression { !PROTECTED_BRANCH } + expression { !IS_PROTECTED_BRANCH } } environment { NODE_ENV = '' @@ -113,18 +113,19 @@ pipeline { } steps { script { + env.COMPOSE_TAG = PROTECTED_BRANCH.contains(env.CHANGE_TARGET) ? env.CHANGE_TARGET : 'dev' def image = docker.build('lilium-dev', '-f docs/Dockerfile.dev docs') sh "docker-compose ${env.COMPOSE_PARAMS} up -d" image.inside("--network ${env.COMPOSE_PROJECT}_default -e CI -e TZ") { - sh 'cypress run --browser chromium' + sh 'cypress run --browser chromium || true' } } } post { always { - sh "docker-compose ${env.COMPOSE_PARAMS} down" + sh "docker-compose ${env.COMPOSE_PARAMS} down -v" junit( - testResults: 'junit/e2e.xml', + testResults: 'junit/e2e-*.xml', allowEmptyResults: true ) } @@ -134,10 +135,9 @@ pipeline { } stage('Build') { when { - expression { PROTECTED_BRANCH } + expression { IS_PROTECTED_BRANCH } } environment { - CREDENTIALS = credentials('docker-registry') VERSION = readFile 'VERSION.txt' } steps { @@ -156,7 +156,7 @@ pipeline { } stage('Deploy') { when { - expression { PROTECTED_BRANCH } + expression { IS_PROTECTED_BRANCH } } environment { VERSION = readFile 'VERSION.txt' diff --git a/cypress.config.js b/cypress.config.js index 84ffc68a8..5cf075e2a 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -1,17 +1,12 @@ import { defineConfig } from 'cypress'; -// https://docs.cypress.io/app/tooling/reporters -// https://docs.cypress.io/app/references/configuration -// https://www.npmjs.com/package/cypress-mochawesome-reporter -let urlHost, - reporter, - reporterOptions; +let urlHost, reporter, reporterOptions; if (process.env.CI) { urlHost = 'front'; reporter = 'junit'; reporterOptions = { - mochaFile: 'junit/e2e.xml', + mochaFile: 'junit/e2e-[hash].xml', toConsole: false, }; } else { @@ -30,12 +25,13 @@ if (process.env.CI) { export default defineConfig({ e2e: { baseUrl: `http://${urlHost}:9000`, - experimentalStudio: false, // Desactivado para evitar tiempos de espera innecesarios + experimentalStudio: false, defaultCommandTimeout: 10000, trashAssetsBeforeRuns: false, requestTimeout: 10000, responseTimeout: 30000, pageLoadTimeout: 60000, + defaultBrowser: 'chromium', fixturesFolder: 'test/cypress/fixtures', screenshotsFolder: 'test/cypress/screenshots', supportFile: 'test/cypress/support/index.js', @@ -51,23 +47,7 @@ export default defineConfig({ componentFolder: 'src', testFiles: '**/*.spec.js', supportFile: 'test/cypress/support/unit.js', - },/* - setupNodeEvents: async (on, config) => { - const plugin = await import('cypress-mochawesome-reporter/plugin'); - plugin.default(on); - const fs = await import('fs'); - on('task', { - deleteFile(filePath) { - if (fs.existsSync(filePath)) { - fs.unlinkSync(filePath); - return true; - } - return false; - }, - }); - - return config; - },*/ + }, viewportWidth: 1280, viewportHeight: 720, }, diff --git a/src/components/FormModel.vue b/src/components/FormModel.vue index 182eeaafe..c4d9a4149 100644 --- a/src/components/FormModel.vue +++ b/src/components/FormModel.vue @@ -96,6 +96,10 @@ const $props = defineProps({ type: [String, Boolean], default: '800px', }, + onDataSaved: { + type: Function, + default: () => {}, + }, }); const emit = defineEmits(['onFetch', 'onDataSaved']); const modelValue = computed( diff --git a/src/components/FormModelPopup.vue b/src/components/FormModelPopup.vue index 672eeff7a..85943e91e 100644 --- a/src/components/FormModelPopup.vue +++ b/src/components/FormModelPopup.vue @@ -1,12 +1,13 @@ +