## SOME NOTES ON SETTING UP GITLAB RUNNER TO BUILD ON WIN32 FOR SDL2 BUILDS ## PREREQUISITE AKA SETTING UP A FRESH VM OR DEV COMPUTER # # Install your Win7/Win10 VM # Install VirtualBox additions in your VM # # (optional, but seems to help) add build user # Make user an admin, give it service privs # ... Local Security Policy -> Local Policies -> User Rights Assignment -> Log on as a service # # install Cygwin & SDL2 Libraries according to the steps in the Quickstart doc # add cygwin bin dir to env path ## SOME NOTES ON SETTING UP GITLAB RUNNER TO BUILD ON WINDOWS ## STEP 1 - Install Gitlab Runner # https://docs.gitlab.com/runner/install/windows.html # Download from page above, run CMD prompt as Administrator and then run the runner exe in there ## STEP 2 - Register it with your server # First open Administrator CMD prompt then run the following commands. # REGISTER: Enter your Gitlab CI details - (Token is in Gitlab->Admin-Runners) gitlab-ci-multi-runner-windows-386.exe register # enter gitlab url # enter gitlab runner token # enter tag of "windows" gitlab-runner-windows-386.exe register -n \ --url http://yourgitlab.com/ci \ --registration-token UqGC2qvJmU1QBK3mx4b \ --executor shell \ --description "WinBuild" --tag-list "windows" ## STEP 3 - Install Service # Note the use of ".\builder" to indicate local account! gitlab-runner-windows-386.exe install --user .\builder --password builder ## STEP 4 - Start service gitlab-runner-windows-386.exe start ## STEP 4.5 - if you get a "failed due to logon" message above, you may need to grant "logon as a service" privs #To add the "Log on as a service" right to an account on your local computer #To open Local Security Policy, click Start, point to Control Panel, point to Administrative Tools, and then double-click Local Security Policy. #In the console tree, double-click Local Policies, and then click User Rights Assignment. #In the details pane, double-click Log on as a service. #Click Add User or Group, and then add the appropriate account to the list of accounts that possess the Log on as a service right. # If you have any other problems with the service not starting due to: # "Failed to start gitlab-runner: The service did not start due to a logon failure." # Try going to Services and edit the properties of the gitlab-runner service. # Go to the "Log On" tab and re-enter the password/credentials and see if # that helps. ## STEP 5 - Make sure gitlab-runner is using the correct shell # It defaults to CMD, go to the directory where the gitlab-runner # commands were run and edit the "config.toml" file. Under the line # that says: executor = "shell" # add: shell = "bash" # # Also, make sure that if you type "bash" from a CMD prompt, # that it runs the Cygwin shell. If it can't find the bash command, # go to the Environment Variables Control Panel for your computer and # add "c:\cygwin\bin" to your PATH variable.