1
0
mirror of https://github.com/Minionguyjpro/Inno-Setup-Action synced 2026-02-18 09:31:19 +01:00

Update CJS script (automated by GitHub Actions)

This commit is contained in:
github-actions[bot]
2024-01-08 19:08:20 +00:00
parent 504af95050
commit 91777ef9eb
3 changed files with 45 additions and 36 deletions

View File

@@ -1,11 +1,11 @@
// main.test.js
const core = require('@actions/core');
const fs = require('fs');
const main = require('../src/main');
const core = require("@actions/core");
const fs = require("fs");
const main = require("../src/main");
// Mocking fs.promises for the test
jest.mock('fs', () => {
const originalFs = jest.requireActual('fs');
jest.mock("fs", () => {
const originalFs = jest.requireActual("fs");
return {
...originalFs,
promises: {
@@ -13,18 +13,18 @@ jest.mock('fs', () => {
},
};
});
const child_process = require('child_process');
const child_process = require("child_process");
jest.mock('@actions/core');
jest.mock('child_process');
jest.mock("@actions/core");
jest.mock("child_process");
describe('Inno Setup Action', () => {
describe("Inno Setup Action", () => {
beforeEach(() => {
jest.resetAllMocks();
});
it('should execute Inno Setup command on Windows with existing workspace', () => {
process.platform = 'win32';
it("should execute Inno Setup command on Windows with existing workspace", () => {
process.platform = "win32";
main();
expect(core.getInput).toHaveBeenCalledTimes(2);

View File

@@ -1,6 +1,6 @@
/**
* The entrypoint for the action.
*/
const { run } = require('./main')
const { run } = require("./main");
run()
run();

View File

@@ -1,29 +1,35 @@
// Importing necessary modules
const core = require('@actions/core')
const fs = require('fs')
const core = require("@actions/core");
const fs = require("fs");
// Getting the path to the workspace from environment variables
const workspacePath = process.env.GITHUB_WORKSPACE
const workspacePath = process.env.GITHUB_WORKSPACE;
// Getting inputs from the workflow
const options = core.getInput('options')
const path = core.getInput('path')
const options = core.getInput("options");
const path = core.getInput("path");
// Importing the child_process module for executing shell commands
const exec = require('child_process').exec
const exec = require("child_process").exec;
// Initializing error variables
let repoError;
let platformError;
// Checking if the platform is Windows
if (process.platform === 'win32') {
if (process.platform === "win32") {
// Checking if the GitHub workspace exists and is not empty
if (fs.existsSync(process.env.GITHUB_WORKSPACE) && fs.readdirSync(workspacePath).length > 0) {
if (
fs.existsSync(process.env.GITHUB_WORKSPACE) &&
fs.readdirSync(workspacePath).length > 0
) {
// Building and executing the Inno Setup compiler command
exec(`"%PROGRAMFILES(X86)%\\Inno Setup 6\\iscc.exe" ${options} "${workspacePath}\\${path}"`, { stdio: 'ignore' }, function (execError, stdout, stderr) {
exec(
`"%PROGRAMFILES(X86)%\\Inno Setup 6\\iscc.exe" ${options} "${workspacePath}\\${path}"`,
{ stdio: "ignore" },
function (execError, stdout, stderr) {
// Logging the standard output of the command
console.log(stdout)
console.log(stdout);
// Handling errors, if any
if (execError) {
@@ -31,16 +37,19 @@ if (process.platform === 'win32') {
core.setFailed(stderr);
process.exit(repoError.code);
}
});
},
);
} else {
// Setting an error code and failing the workflow if the repository is not cloned
repoError = { code: 1 }
core.setFailed('The repository was not cloned. Please specify the actions/checkout action before this step.');
process.exit(repoError.code)
repoError = { code: 1 };
core.setFailed(
"The repository was not cloned. Please specify the actions/checkout action before this step.",
);
process.exit(repoError.code);
}
} else {
// Setting an error code and failing the workflow if the platform is not Windows
platformError = { code: 1 };
core.setFailed('This action is only supported on Windows!')
process.exit(platformError.code)
core.setFailed("This action is only supported on Windows!");
process.exit(platformError.code);
}