Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate potential for integration testing in GitHub CI #28

Open
jpstewart opened this issue May 17, 2022 · 2 comments
Open

Investigate potential for integration testing in GitHub CI #28

jpstewart opened this issue May 17, 2022 · 2 comments
Assignees
Labels
moonshot Projects that are incredibly difficult or unlikely to succeed. testing Relates to unit or integration testing in CommonLibSSE or downstream SKSE plugins.
Milestone

Comments

@jpstewart
Copy link

This is an extreme(ly unlikely) stretch goal for unit testing, but something worth investigating. Integration tests in CommonLibSSE NG require a Skyrim executable, but not for Skyrim to initialize. Is it possible, within licensing restrictions, to do this in CI? Investigation goals include automated installs of Steam in the Windows VM used for testing, downloading and installing either Skyrim or at least the Skyrim executable and DLLs, using secrets to store the Steam credentials.

Notes and Questions

@jpstewart jpstewart added testing Relates to unit or integration testing in CommonLibSSE or downstream SKSE plugins. moonshot Projects that are incredibly difficult or unlikely to succeed. labels May 17, 2022
@jpstewart jpstewart added this to the 4.0.0 milestone May 17, 2022
@jpstewart jpstewart self-assigned this May 17, 2022
@jpstewart
Copy link
Author

Additional resources for automating Steam install:

Steam command line options, including script execution
SteamCMD, the Steam command line version

@jpstewart
Copy link
Author

Possible workflow:

  • Create SteamCMD directory at C:\SteamCMD.
  • Download and extract SteamCMD there.
  • Run steamcmd +login <username>, using username made for testing.
  • Feed password, using GitHub secrets. Don't use SteamGuard as this complicates the process.
    • Alternatively, SteamCMD only needs SteamGuard once, according to docs. Perhaps do this manually once, then store resulting credentials in GitHub secrets, and push to the file that saves it.
  • Run steamcmd +app_update 489830 to install Skyrim SE.
  • Run steamcmd +app_update 611670 to install Skyrim VR.
  • Install the FuDGE test runner.
  • Run integration tests.
  • Run end-to-end tests fo SE/VR via FuDGE test runner.

jpstewart pushed a commit that referenced this issue Oct 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
moonshot Projects that are incredibly difficult or unlikely to succeed. testing Relates to unit or integration testing in CommonLibSSE or downstream SKSE plugins.
Projects
None yet
Development

No branches or pull requests

1 participant