Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 49 additions & 1 deletion lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.WebAppDeploymentProvider = void 0;
const core = __importStar(require("@actions/core"));
const utility = __importStar(require("azure-actions-utility/utility.js"));
const zipUtility = __importStar(require("azure-actions-utility/ziputility.js"));
const promises_1 = require("fs/promises");
const path_1 = __importDefault(require("path"));
const fs = __importStar(require("fs"));
const packageUtility_1 = require("azure-actions-utility/packageUtility");
const BaseWebAppDeploymentProvider_1 = require("./BaseWebAppDeploymentProvider");
const AnnotationUtility_1 = require("azure-actions-appservice-rest/Utilities/AnnotationUtility");
Expand Down Expand Up @@ -76,7 +82,8 @@ class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider_1.BaseWebApp
case packageUtility_1.PackageType.folder:
let tempPackagePath = utility.generateTemporaryFolderOrZipPath(`${process.env.RUNNER_TEMP}`, false);
// exluding release.zip while creating zip for deployment.
webPackage = (yield zipUtility.archiveFolderWithExcludePatterns(webPackage, "", tempPackagePath, ['release.zip']));
yield this.deleteReleaseZip(webPackage);
webPackage = (yield zipUtility.archiveFolder(webPackage, "", tempPackagePath));
core.debug("Compressed folder into zip " + webPackage);
core.debug("Initiated deployment via kudu service for webapp package : " + webPackage);
this.actionParams.type = "zip";
Expand Down Expand Up @@ -118,5 +125,46 @@ class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider_1.BaseWebApp
core.setOutput('webapp-url', this.applicationURL);
});
}
deleteReleaseZip(folderPath) {
return __awaiter(this, void 0, void 0, function* () {
let isPhpApp = yield this.containsPhpFiles(folderPath);
if (!isPhpApp) {
core.info("No PHP files found in the folder, skipping release.zip deletion.");
return;
}
let releaseZipPath = path_1.default.join(folderPath, 'release.zip');
try {
yield (0, promises_1.unlink)(releaseZipPath);
core.info(`Deleted: ${releaseZipPath}`);
}
catch (err) {
if (err.code === 'ENOENT') {
core.error(`File does not exist: ${releaseZipPath}`);
}
else {
core.error(`Error while deleting file ${releaseZipPath}, Error: ${err}`);
}
}
});
}
containsPhpFiles(directoryPath) {
return __awaiter(this, void 0, void 0, function* () {
try {
const files = fs.readdirSync(directoryPath);
for (const file of files) {
const fullPath = path_1.default.join(directoryPath, file);
const stat = fs.statSync(fullPath);
if (stat.isFile() && path_1.default.extname(file).toLowerCase() === '.php') {
return true;
}
}
return false;
}
catch (error) {
console.error(`Error checking directory: ${error.message}`);
return false;
}
});
}
}
exports.WebAppDeploymentProvider = WebAppDeploymentProvider;
Loading
Loading