diff --git a/src/commands/app/deploy.js b/src/commands/app/deploy.js index 274c3028..bc275c4d 100644 --- a/src/commands/app/deploy.js +++ b/src/commands/app/deploy.js @@ -30,6 +30,7 @@ const LogForwarding = require('../../lib/log-forwarding') const { sendAppAssetsDeployedAuditLog, sendAppDeployAuditLog } = require('../../lib/audit-logger') const { setRuntimeApiHostAndAuthHandler, getAccessToken } = require('../../lib/auth-helper') const logActions = require('../../lib/log-actions') +const aioConfigLoader = require('@adobe/aio-lib-core-config') const PRE_DEPLOY_EVENT_REG = 'pre-deploy-event-reg' const POST_DEPLOY_EVENT_REG = 'post-deploy-event-reg' @@ -230,6 +231,7 @@ class Deploy extends BuildCommand { // output should be "Error : : \n" for each failure this.error(hookResults.failures.map(f => `${f.plugin.name} : ${f.error.message}`).join('\nError: '), { exit: 1 }) } + aioConfigLoader.reload() deployedRuntimeEntities = await rtLib.deployActions(config, { filterEntities, useForce: flags['force-deploy'] }, onProgress) } diff --git a/test/commands/app/deploy.test.js b/test/commands/app/deploy.test.js index 1337f173..64c65435 100644 --- a/test/commands/app/deploy.test.js +++ b/test/commands/app/deploy.test.js @@ -176,6 +176,7 @@ beforeEach(() => { helpers.buildExcShellViewExtensionMetadata.mockReset() helpers.createWebExportFilter.mockReset() helpers.rewriteActionUrlInEntities.mockReset() + mockConfig.reload.mockReset() mockLogForwarding.isLocalConfigChanged.mockReset() mockLogForwarding.getLocalConfigWithSecrets.mockReset() mockLogForwarding.updateServerConfig.mockReset() @@ -868,6 +869,24 @@ describe('run', () => { expect(command.error).toHaveBeenCalledTimes(0) }) + test('deploy reloads config before deploying actions', async () => { + command.getAppExtConfigs.mockResolvedValueOnce(createAppConfig(command.appConfig)) + const noScriptFound = undefined + helpers.runInProcess + .mockResolvedValueOnce(noScriptFound) // pre-app-deploy + .mockResolvedValueOnce(noScriptFound) // deploy-actions + .mockResolvedValueOnce(noScriptFound) // post-app-deploy + + command.argv = ['--no-web-assets'] + await command.run() + + expect(mockConfig.reload).toHaveBeenCalledTimes(1) + expect(mockRuntimeLib.deployActions).toHaveBeenCalledTimes(1) + expect(mockConfig.reload.mock.invocationCallOrder[0]).toBeLessThan( + mockRuntimeLib.deployActions.mock.invocationCallOrder[0] + ) + }) + test('deploy (has deploy-actions and deploy-static hooks)', async () => { command.getAppExtConfigs.mockResolvedValueOnce(createAppConfig(command.appConfig)) const noScriptFound = undefined