This pull request aims to resolve issue #258 by introducing functional tests for Windows and MacOS. The changes ensure that the GCP Scanner is tested across different operating systems, thus enhancing the reliability and consistency of the project. This is done using matrix jobs which is used to run the same job with different configurations like different runners, they will run in parallel and if one fails the other jobs are cancelled and skipped saving cost. Additionally, this PR addresses the cost implications of running tests on macOS and Windows runners on GitHub Actions.
Changes Made
Updated python-app.yml to include jobs that run on windows-latest and macos-latest, alongside the existing self-hosted (Linux) runner.
Modified the GitHub Actions workflow to handle OS-specific scenarios and dependencies.
Updated the project documentation to reflect the addition of functional tests for Windows and MacOS, and the associated cost considerations.
Cost Considerations
GitHub Actions provides a certain amount of free minutes per month for running actions on hosted runners. However, the cost rate for macOS and Windows runners is higher compared to Linux runners.
Specifically, jobs on Windows runners consume minutes at 2 times the rate, and jobs on macOS runners consume minutes at 10 times the rate of Linux runners.
The per-minute rate for Windows ranges from $0.016 to $0.512, and for macOS, it ranges from $0.08 to $0.16, depending on the number of vCPUs utilized.
Therefore, contributors and maintainers should be mindful of the cost implications when setting up and running tests on macOS and Windows runners.
Checklist
[x] I have read and followed the contributing guidelines.
[x] I have tested my changes thoroughly and they work as expected.
[x] I have added the necessary tests for the changes made.
[x] I have updated the documentation to reflect the changes made.
[x] My code follows the project's coding style and standards.
[x] I have added appropriate commit messages and comments for my changes.
Related Issues
Issue #258 - Add functional tests for different OSes
Description
This pull request aims to resolve issue #258 by introducing functional tests for Windows and MacOS. The changes ensure that the GCP Scanner is tested across different operating systems, thus enhancing the reliability and consistency of the project. This is done using matrix jobs which is used to run the same job with different configurations like different runners, they will run in parallel and if one fails the other jobs are cancelled and skipped saving cost. Additionally, this PR addresses the cost implications of running tests on macOS and Windows runners on GitHub Actions.
Changes Made
python-app.yml
to include jobs that run onwindows-latest
andmacos-latest
, alongside the existingself-hosted
(Linux) runner.Cost Considerations
Checklist
Related Issues