Automated testing using GitHub Actions... easier than I thought

preview_player
Показать описание


📚 CHAPTERS
0:00 - Hello
4:31 - GitHub Actions overview
6:27 - How I set it up

💰 Links to stuff I use:

#Hazel
Рекомендации по теме
Комментарии
Автор

the feeling when u realize what you were trying to do was actually something simple is good and bad at the same time

not_halls
Автор

Be careful with the admin permissions to the runner. You just opened up access to your desktop as well as your home network to anyone that pushes malicious code and triggers the action.

andreferreira
Автор

Be careful with PR builds and self-hosted runners, make sure to think about security. It can be pretty easy to accidentally allow arbitrary code execution on your machine. Or DoS, etc.

davidandrewthomas
Автор

Very nice. CI is a such a blessing, especially on cross platform code.

ApacheSenior
Автор

I love people who can come back and admit when they were incorrect/misinformed. I dont know how often colleagues have corrected/opened my eyes on wrong/old information.

It only makes things better.

Draggeta
Автор

Modern CI/CD tools like GitHub Actions and GitLab CI are really nice to use.

Dr-Zed
Автор

9:40 waiting for chrome to introduce some css style that is applied for recording software so auther of website could automatically blur everything, something like streamer mode

Jurasebastian
Автор

The irony that a pro C++ dev thought that adding a YAML config file to their repo was "too hard". Good job seeing it through man, it'll make a big difference to QA.

alichamas
Автор

Don't install your runner as admin, there's not really a reason to do that here. Installing python can be done with an action that downloads a portable version to a folder and paths it up for you (edit: the setup-python docs say the default user NETWORK SERVICE should work), and having the pipeline be elevated just to set some symlinks to save some extra copying seems like micro-optimisation.

Aside from the security risk pointed out by another user, pipelines work best when they are repeatable and always start from a known point, and having pipelines able to change the environment for future runs breaks that.

Also I'd definitely look at running on master as well, though the value there depends on how you plan to release, to a degree.

JohnLudlow
Автор

The matrix will only run in parallel if you have more self-hosted runners that have those requirements. Otherwise they will use the same self-hosted runner and run sequentially.

mcKrawll
Автор

Python doesn't require admin rights to install for user, not system.

tooru
Автор

Regarding the weirdness around windows not finding existing installs of python - I stumbled on what sounds like it may be a related issue a few days ago - hit the search box in windows and type "alias" - There's an option there that was new to me - Manage app execution aliases - in there are a bunch of aliases that override PATH variables and may have been the thing that caused your issue (it certainly did mine) - you only appear to be able to enable/disable the options that Microsoft creates - but it definitely adds at least 2 for Python that may havebeen screwing with you the way it did me. I'm guessing there's a registry hive that defines the list of aliases, but I lost interest after I fixed my problem. Thanks for the video, as always. Stay safe out there.

davdsmth
Автор

Yeah no idea why you didnt do this from the start. Using devops, github or another system to run tests on PR/ commit sounds like ... well a normal practice.

briumphbimbles
Автор

I think I'd have gone for self-hosting Jenkins before writing my own Python script, but the new CI-integration that hosting solutions are going with are pretty awesome.

JaceMorley
Автор

I have a flight in 2h and legit waited for this video to get published so I can download it

boopumer
Автор

I wonder how far github has come compared to gitlab

rushsk
Автор

Please keep us updated with GitHub Actions, I would love to see the discussions about the new workflows added in the future!

Corgamos
Автор

Something else you can do is add Required Checks so you don’t accidentally push a broken commit to main.
Since it’s not very comfortable to do via GitHub Actions if you have a lot of Checks - you can add a step, like Wait For All Check to Complete and set it as a Required Check

ilyashcherbakov
Автор

I've not seen the GitHub code (yet) for Hazel. But I am assuming there is a test harness for Hazel, besides the runtime tests?

JohnYoung
Автор

I've recently been trying to set up a Github Actions workflow for my university assignments (Qt applications built using CMake) to ensure cross-platform compatibility. However, I couldn't get this all to work as expected, and quickly thought it was just not worth the time and effort. After watching this, you have got me thinking: Perhaps this is easier than I thought? Even at a smaller scale, being able to automate certain processes is really a useful skill to have. I guess I know what I'll be doing this weekend...

mitchellcampbell