The argument handling in main.rs has been adjusted to utilize argument destructuring, making the code more readable and organized. Additionally, the unnecessary new lines were removed, and commas were added to the last elements of the 'Arguments' struct to follow Rust norms and increase consistency.
Updated the version number of the kr package in both Cargo.toml and Cargo.lock files from version 1.0.2 to 1.0.3. This was necessary for incorporating new features and fixes from the updated version.
Changed the approach for creating 'Retry' instance in main() to avoid mutation behavior by setting 'max_retries', 'timespan' and 'restart_name' initially. The 'per_minute' and 'per_hour' arguments now directly modify these values. Additionally, the 'run_command' function and related functions were refactored to pass 'Retry' instance by value, not reference and to handle 'retry' history separately for each command execution. These changes were made to improve code readability and maintainability.
A new readme.md file is added to provide detailed information about usage of Keep Running application. The readme describes the purpose of the application, how to use it, its default settings, arguments and options. It also provides a use case example for better understanding.
The run-name in the Github actions workflow 'release.yaml' was updated for clarity, now indicating that the files are being built for release. An unnecessary id tag was removed from the 'Compile and release' step, simplifying the workflow. This makes the functioning of the workflow easier to understand and manage.
Changed the event trigger of the GitHub Actions workflow "release.yaml" from a generic 'release' event to specifically when a 'release' is 'created'. This provides the detailed triggering condition for the workflow, ensuring it only runs when needed, improving workflow optimization.
Updated kr package's version to 1.0.2 in Cargo.toml and Cargo.lock files. Also, fixed the wrong property reference in the GitHub Actions release workflow. From "gitea.actor" to "github.actor" which might have caused incorrect workflow run name in GitHub CI/CD.
Updated kr package's version to 1.0.2 in Cargo.toml and Cargo.lock files. Also, fixed the wrong property reference in the GitHub Actions release workflow. From "gitea.actor" to "github.actor" which might have caused incorrect workflow run name in GitHub CI/CD.
This commit adds newline at the end of the .gitignore and release.yaml files to adhere to posix standard while removing unnecessary whitespace in Cargo.toml file. Changes are made for better code health and adhering to standards.
This commit modifies the spawn_process function to explicitly return a Result type, handling the error of the spawn() method. This change improves the readability of the error handling and makes it more idiomatic in Rust. As a secondary correction, it fixes a typo in a print statement.
This commit modifies the spawn_process function to explicitly return a Result type, handling the error of the spawn() method. This change improves the readability of the error handling and makes it more idiomatic in Rust. As a secondary correction, it fixes a typo in a print statement.
This commit modifies the spawn_process function to explicitly return a Result type, handling the error of the spawn() method. This change improves the readability of the error handling and makes it more idiomatic in Rust. As a secondary correction, it fixes a typo in a print statement.
Refactored the workflow trigger for releases in 'release.yaml' to directly listen to release events. The change simplifies the code and aligns with the syntax used in other parts of the workflow. It was necessary for maintaining consistency and cleanliness of the workflows codebase.
In this commit, we've updated the kr package from version 0.1.0 to 1.0.0 in the Cargo.toml file, signifying a milestone update recognizing the project's stability and maturity.
The kr package version was updated from 0.1.0 to 1.0.0 in the Cargo.toml file. This change indicates that the project has reached a significant milestone and is now considered mature and stable enough for a major version release.
The kr package version was updated from 0.1.0 to 1.0.0 in the Cargo.toml file. This change indicates that the project has reached a significant milestone and is now considered mature and stable enough for a major version release.
Configured the `Cargo.toml` to automatically strip symbols, optimize for size, enable Link Time Optimization (LTO), and set codegen-units to 1 for the release profile. This significantly reduces the size and improves the performance of the resulting binary.
Add newline character to error message
In this commit, a newline character `\n` was added at the end of the error message in the `print!` function within main.rs. This change ensures the output from the program is properly formatted and readable, increasing the overall user experience when such exceptions are encountered.
In this commit, I've renamed the name of the workflow from build.yaml to release.yaml. It now gets triggered on 'release' instead of 'push'. The job names and some parameters were also altered to fit into the new release context. The aim of this modification is to optimize the project delivery process as the workflow is now focus on handling final product releases.
Keep Running / Build (zip, x86_64-apple-darwin) (push) Successful in 1m9sDetails
Keep Running / Build (zip, x86_64-pc-windows-gnu) (push) Successful in 1m9sDetails
This commit simplifies and optimizes the build workflow process by leveraging the rust-build action for compiling and releasing. The "build.yaml" file has been revised to include different targets and types of archives as per the platform. Also, previous separate jobs for checking out, installing dependencies, building project, and creating/uploading archives have been removed. The new strategy is aimed to reduce redundancy, speed up the process, and allow seamless multi-platform build support.
This commit updates the `test.sh` script to incorporate best shell scripting practices. Changes include quoting the variables "$SLEEP" and "$EXIT" to handle null or space-containing values better. The arithmetic comparison has been updated to use "bash-style" to improve the script's security. This refactoring aims to enhance the overall efficiency and reliability of the script execution.
This commit deletes the current codebase and configurations because we're switching to rust. This includes src/index.js, package.json, package-lock.json and .gitignore files. A refactor or rewrite app with updated dependencies and code style will be added afterwards.
Keep Running / Build (push) Failing after 2m51sDetails
Updated the package.json with two new scripts: copy-local and build-local. This allows for easier local testing by building and copying the program to a local directory. In index.js, handled the situation where both rpm and rph options are provided by the user, which was causing conflicts. This is resolved by adding explicit handling which returns an error and asks the user to choose only one.
Keep Running / Build (push) Failing after 2m45sDetails
Updated GitHub Actions workflow to create and upload build archives for Linux, MacOS and Windows. Previously, we were creating a single archive without specifying the intended operating system which might lead to compatibility issues. This update will create separate build archives for each OS, making it easier for users to download the correct version for their system.
Keep Running / Build (push) Failing after 2m57sDetails
Corrected a typo in the build configuration of the GitHub workflow from 'desc' to 'dest' in line 19. This was misnaming the destination file for the zipping process, impeding the correct the creation of 'build.zip' from the files in the 'out' directory. This fix will ensure that the workflow runs as expected and produces a 'build.zip' for the archive upload.
Keep Running / Build (push) Successful in 36sDetails
Streamlined the steps in the GitHub Actions workflow and added a zipping process using 'action-zip' to create 'build.zip'. This change optimizes the workflow runtime and ensures a more efficient archiving and retrieval of the built files in the 'out' directory, improving the workflow's overall performance.
Keep Running / Build (push) Successful in 37sDetails
Streamlined the steps in the GitHub Actions workflow and added a zipping process using 'action-zip' to create 'build.zip'. This change optimizes the workflow runtime and ensures a more efficient archiving and retrieval of the built files in the 'out' directory, improving the workflow's overall performance.
Keep Running / Build (push) Successful in 49sDetails
The artifact path in the GitHub Actions workflow has been updated from 'bin' to 'out'. This alteration occurs in order to match the new directory structure after the build process, ensuring that the correct files are being archived after each workflow run.
Keep Running / Build (push) Successful in 35sDetails
"Change GitHub Actions trigger event"
The trigger event for the GitHub Actions workflow was changed from 'release' to 'push'. This modification ensures that the workflow runs every time a push is made to the repository. This change was necessary to continuously check code integrity on all commits, making sure that every code pushed to the repository has been tested and approved by the set-up workflow.
In this commit, the .help() method was moved to an earlier part of the command configuration. Previously, .help() was executed after defining options. The reason for this change was to improve code readability and ensure that the help command is processed in line with other commands, improving user experience by offering immediate assistance for all commands. This effective placement of .help() method should make it easier for users to understand how to interact with the command line interface.
This commit introduces a delay option to the process manager. This option allows us to set the time delay before restarting a process that has crashed. This is useful in scenarios where an immediate restart might cause further issues or allow time for external dependencies to become available again.
It also refines the error logging by reducing the amount of crash logs printed. Now, only the last crash log is presented which aides in maintaining readability. A conflict prevention has been also added to reduce the chance of mixed usage between 'rpm' and 'rph' options.
The update also enforces tidiness by adding an extraneous file to the .gitignore list.