How GitHub Actions 10x my productivity

  Рет қаралды 390,936

Beyond Fireship

Beyond Fireship

11 ай бұрын

Learn how to use GitHub actions continuous integration and delivery in a software development project. In this quick tutorial, we look at 7 powerful ways to automate code with CI/CD.
#programming #automation
- My GitHub Actions in SvelteFire github.com/codediodeio/svelte...
- GitHub Actions Docs github.com/features/actions
- act cli github.com/nektos/act

Пікірлер: 271
@StefanoV827
@StefanoV827 11 ай бұрын
Great video! I didn't know about Act, I'm gonna install it RN. I would like to add: I recommend using paths-ignore (inside push and below branches) to trigger a specific workflow only when a specific path is involved. For example if the docs folder is another project, if you push a readme update inside the project, all the workflow will run test again wasting you free minutes. With paths-ignore you can specify which path to ignore.
@querela92
@querela92 11 ай бұрын
Yes, I found this trick recently and this was great for only building/testing those modules that changed.
@marty0678
@marty0678 11 ай бұрын
Act doesn't run 1:1 to GitHub Actions, doesn't support all third party actions, and is missing a few feature parity things that will crash with Act but works fine on Actions but it's still a huge life saver when testing 80% of things. Act also exposes act specific env variables so you can skip steps when running locally for example, which helps getting around some of these issues.
@ServetTonga
@ServetTonga 11 ай бұрын
@@marty0678 I agree, something may fail in act but work in actions.
@sungjuyea4627
@sungjuyea4627 11 ай бұрын
I tried it several times but it seems like they don't work on macOS? I might be missing sth but from my experience act didn't work for me.
@ServetTonga
@ServetTonga 11 ай бұрын
@@sungjuyea4627 I use it on macOS
@snowdane3920
@snowdane3920 11 ай бұрын
The timing of this tutorial... I've been meaning to use GitHub actions to maintain a npm package... This couldn't have come out at a better time
@YuriG03042
@YuriG03042 11 ай бұрын
He already did a smaller video about it on the main channel 2 or 3 years ago. The only difference is that he used Node 12 back then which is either deprecated or downright removed now (can't remember what the Github blog post mentioned).
@user-py8mr3be5e
@user-py8mr3be5e 11 ай бұрын
What’s your package about ?
@snowdane3920
@snowdane3920 11 ай бұрын
@@YuriG03042 I seem to have missed that video somehow 🙈
@snowdane3920
@snowdane3920 11 ай бұрын
@@user-py8mr3be5e it's a fork of unmaintained calendar library for vue which I am slowly modifying for my office's needs
@neutron417
@neutron417 11 ай бұрын
I've just used it to add latest blogs to my readme lol
@Sefton.
@Sefton. 11 ай бұрын
This is my favourite type of content, covering stuff nearly every developer uses or should be using and showing tips, tricks etc.
@NaveenKumar-nw4re
@NaveenKumar-nw4re 11 ай бұрын
Currently working on setting CI/CD on a project. what a time to upload the video👌
@kevinandeleven
@kevinandeleven 11 ай бұрын
Hosted runners are life savers.. I basically use them for all my server work.. Once🎉 I push code, a self hosted runner running on the servers pulls the changes and restarts the server
@waldemarperalta2204
@waldemarperalta2204 10 ай бұрын
I configured a self hosted runner on digitalocean. Do you know if it's possible to have multiple self hosted runners on the same VM? maybe with containers or something like that?
@kevinandeleven
@kevinandeleven 8 ай бұрын
@@waldemarperalta2204 no idea
@paologaleotti8478
@paologaleotti8478 3 ай бұрын
@@waldemarperalta2204 it is, simply start multiple and make sure they are named differently
@JavArButt
@JavArButt 11 ай бұрын
Within the first 16 seconds, I had to laugh/smile multiple times. Your sense of humor is great. Also, the time and deep thoughts you spend int this work is clearly visible.
@alanscodelog
@alanscodelog 11 ай бұрын
I've been using this setup (actions/act) but with semantic-release for a while. It's perfection. Don't even have to think about bumping versions / changelogs / publishing. Also you can create a little workflow badge to put on the repo or to keep a link to. Nice for having an overview of the state of several repos.
@mattd5419
@mattd5419 11 ай бұрын
I had no idea something like act existed, you just saved me a shit ton of time!
@arjix8738
@arjix8738 11 ай бұрын
@Beyond Fireship Actually, if the project repo is public, then the workflows are free w/o limit (other than the 6 hour limit that all workflows have) the 2000 free minutes are for private repositories
@roaringfork
@roaringfork 11 ай бұрын
Github Actions actually spins up a whole vm. There are very specific circumstances in which this is important as I spent two weeks learning.
@ZeroYT
@ZeroYT 11 ай бұрын
What circumstances?
@uuu12343
@uuu12343 11 ай бұрын
TIL in theory, you can self-hosted github actions if there's a way to redirect the builder To be fair, that would mean you are not using github lmao
@Bash70
@Bash70 11 ай бұрын
It doesn't have to use a whole vm. I configured a docker container to act as a runner so I could run nested docker containers inside of it.
@thekwoka4707
@thekwoka4707 11 ай бұрын
@@Bash70 it still uses a full VM to run your action container.
@Bash70
@Bash70 11 ай бұрын
@@thekwoka4707 Like I said, it depends on how the runner is setup. The runners that Github itself uses are full VMs but you can setup up your own self-hosted runners that are just containers.
@abhishekshah11
@abhishekshah11 11 ай бұрын
I had act but never knew how to use it right! Thanks for showing us!
@pedrosantos4368
@pedrosantos4368 11 ай бұрын
Thanks for sharing! I started looking a bit more into GitHub actions, yesterday
@georgiosmylonas3892
@georgiosmylonas3892 2 ай бұрын
Love it! Straight and concise! Thank you!
@DevOpsBoss
@DevOpsBoss 11 ай бұрын
Top-notch tutorial, as always 👏
@emanuelescarsella3124
@emanuelescarsella3124 11 ай бұрын
I would have liked a video like this when I first learned GitHub actions, but still now I have to configure a new more complex project so that's still a good timing for me❤
@wsollers1
@wsollers1 Ай бұрын
Great video! Taught me enough to get automation on.
@boro057
@boro057 11 ай бұрын
Cool, I understood some of the words in this one!
@CosasCotidianas
@CosasCotidianas 11 ай бұрын
The github YAML files look beautiful, very intuitive.
@vasiletolea7586
@vasiletolea7586 11 ай бұрын
Best video, so far !!!
@geeshta
@geeshta 11 ай бұрын
I knew about GH actions but I never knew about act! Thanks
@thesleepykoala
@thesleepykoala 11 ай бұрын
I like that fact he is smart and advertises his products.
@flyingpanhandle
@flyingpanhandle 11 ай бұрын
I like to use Volta in my projects, handily you can then use Volta in your GHA pipeline. No need to specific node or npm/pnpm/yarn versions any more. It will use exactly the version the project was developed on. Which is fantastic when upgrading node version.
@psychonek
@psychonek 11 ай бұрын
Thank you for nektos/act.
@alexanderryndin6686
@alexanderryndin6686 11 ай бұрын
Super awesome 😎 and informative. Thanks a lot!
@wlockuz4467
@wlockuz4467 11 ай бұрын
Calling it life-saver is an understatement to be honest.
@vishalgaurav4411
@vishalgaurav4411 11 ай бұрын
right when i needed it!
@tyreldelaney
@tyreldelaney 11 ай бұрын
I did not know about the act package, that's a pretty nifty tool
@blackjackjester
@blackjackjester 10 ай бұрын
Master branch keep the faith brother
@travel.tales.official
@travel.tales.official 10 ай бұрын
I just love your content. ❤
@StudyStreamPlus
@StudyStreamPlus 5 ай бұрын
Love your videos bro. Thanks.
@tomchapman128
@tomchapman128 11 ай бұрын
The selfhosted runners are super easy to set up, i did it and that way you also dont hsve any rate limits!
@Bash70
@Bash70 11 ай бұрын
It depends. For me, I have a M1 laptop and it wasn't functioning properly when I set it up as a runner so I had to go about configuring a docker container as a runner so I could then run nested containers inside of it, which was excruciating.
@bryce.ferenczi
@bryce.ferenczi 11 ай бұрын
As long as you recognise the warning they include with the option, if someone makes a pr on your public repo and it triggers some test, then whatever code they submitted will be run on your machine which may include malware.
@tomchapman128
@tomchapman128 11 ай бұрын
@@Bash70 oh yeah I hadn't considered Macs, I ran mine on Linux but yeah I guess other OSs could definitely make things more difficult
@Malephex
@Malephex 10 ай бұрын
I can't tell you how much time I've wasted in the past, pushing 1 byte changes to make a CI pipeline run while debugging the flow, all the time wishing I could just run the damn yaml/json/whatever file locally to simulate the CI/CD server ... thanks for the "act" tip!
@ExpensivePizza
@ExpensivePizza 11 ай бұрын
I didn't know about `act`. That's cool.
@GeneticsGuy
@GeneticsGuy 11 ай бұрын
Thank you so much for this
@devabdultech
@devabdultech 11 ай бұрын
watched it now, got the basic idea but im currently not using or planning to use or learn it now. I'll be back soon :)
@jenewland1999
@jenewland1999 11 ай бұрын
Great video, Jeff! 🔥 Was so great to learn about act - I looked for a solution like this a while back and couldn't find anything. Quick question though: Is there any specific reason for using v2 over v3 of actions/checkout and action/setup-node?
@GamesterTheBest7
@GamesterTheBest7 11 ай бұрын
Yuh much agreed. @v2 is going to give a deprecation warning for node 12.
@islamouda356
@islamouda356 11 ай бұрын
I will debug myself to learn more from you
@frittex
@frittex 11 ай бұрын
very wise indeed
@VaibhavShewale
@VaibhavShewale 11 ай бұрын
ooh damn, thats very cool!
@PeterKlausSchmelzer
@PeterKlausSchmelzer 11 ай бұрын
tx! awesome video..
@slob5041
@slob5041 11 ай бұрын
Beyond programming
@FauzulChowdhury
@FauzulChowdhury 11 ай бұрын
Wright timing. ✅
@Pscytlk
@Pscytlk 11 ай бұрын
svelte is gold but react is gem!
@ivandimitrov4410
@ivandimitrov4410 11 ай бұрын
I've been doing some GitHub actions with install-nix-action and then running 'nix build' which covers all dependencies and declaratively builds the project. Maybe you can make a video on nix next.
@sofuno863
@sofuno863 4 ай бұрын
so many fancy names and tools
@illegalsmirf
@illegalsmirf 11 ай бұрын
For an 'automated' solution that sure sounds complex and convoluted.
@ra2enjoyer708
@ra2enjoyer708 11 ай бұрын
6:13 I fucking love cron magic strings, this for sure won't backfire in the future.
@whichmann9617
@whichmann9617 10 ай бұрын
This is truly great but I just wish there was a feature that would automate that one thing I need to manually do every day at my current project
@Kaszanas
@Kaszanas 5 ай бұрын
I use a slightly different approach where I run a container inside GitHub Actions and run all of the commands against that container which acts as a development container too. So I achieve a couple of things at the same time. I do not need act to test my actions because all of the logic behind my actions is containerized anyway.
@JackNytely
@JackNytely 11 ай бұрын
8.5k views, 685 likes but only 25 comments (as of the time writing this) I really appreciate your videos and content, so here, take this free comment to sacrifice to the algorithm gods.
@TheSmokedDog
@TheSmokedDog 11 ай бұрын
I open these videos out of routine, sometimes I don't even watch, they just play in the background. I like his voice. Sometimes I learn something, but usually I don't.
@kirillpenkin1535
@kirillpenkin1535 11 ай бұрын
Hey) The video is awesome))) Thank you. I have a question thought: In a github issue page there s a button "create branch" (inside the Development section of the right panel). Is there a way to trigger an action that changes a state of the corresponding issue to inProgress when a branch is created using this button? I use github project to manage issues. Its awesome too)
@duhby
@duhby 3 ай бұрын
7:58 a use case for self-hosted runners is if you run docker containers on a vps and want to automate the creation of images without having to git pull and run the commands yourself every time
@DanniDuck
@DanniDuck 5 ай бұрын
Good enough for me
@muhammadumarsotvoldiev8768
@muhammadumarsotvoldiev8768 3 ай бұрын
Thanks
@shateq
@shateq 10 ай бұрын
0:06 is my life motto
@09487abc
@09487abc 3 ай бұрын
謝謝分享
@offantik
@offantik 11 ай бұрын
hi I noticed that you use v2 actions that produce tons of warnings about nodejs deprecating, can you use v3?
@sigstackfault
@sigstackfault 11 ай бұрын
Do GitLab next? Would help a lot of us which have Corporate GitLab servers
@lawrencedoliveiro9104
@lawrencedoliveiro9104 11 ай бұрын
All these features are not compatible between the different services. That’s why I try to stick to common functionality.
@VintageCOD
@VintageCOD 11 ай бұрын
sick
@SoreBrain
@SoreBrain 11 ай бұрын
I can't believe I didn't know about act
@cariyaputta
@cariyaputta 11 ай бұрын
Thanks. Didn't know Act before, so every time I want to change the workflow I have to wait for the whole run like an idiot.
@Bash70
@Bash70 11 ай бұрын
Act is pretty limited though. Doesn't work for trigger inputs and in my case, I had to actually run a nested container for my tests so Act was pretty much useless.
@oktopus_prime
@oktopus_prime 11 ай бұрын
Have you had any experience shortening that feedback loop earlier on the process, let's say at the pre-commit timeframe? I ask because we would commit things up to the repo to fire off a pipeline and then get fredback a few minutes later. It felt nicer (to me) to abort our commit if our tests, or linting failed. Yes there is always the option to force it through, but I liked that immediate feedback locally before something small and dumb was sent up.
@thekwoka4707
@thekwoka4707 11 ай бұрын
Yeah, unit tests and linting and formsttkng should be pre-commit since they should be very fast. Then they can also be in the PR and the PR can also have the longer processes like e2e tests, builds, etc.
@wiiznokes2237
@wiiznokes2237 11 ай бұрын
Please make a video about auto merging
@iqmal
@iqmal 11 ай бұрын
Github action ftw
@tannercampbell
@tannercampbell 11 ай бұрын
you mean you don’t have like dozen of commits “CI TEST”? would love a breakdown on that act tool!
@stephenson127
@stephenson127 11 ай бұрын
How do you automate versioning? Do you have to version bump manually in yml with each release?
@dandogamer
@dandogamer 11 ай бұрын
Use semantic versioning, it looks at your conventional commits to determine version based off the commit message
@stepansigut1949
@stepansigut1949 11 ай бұрын
Versioning with commit messages is a bad idea - you will run into conflicts during merges. Use git tags to version and inject tag values into your project files during build if you need to access the version from code. Git tags can be also used to trigger special actions which do not get triggered otherwise (e.g. run deploy, build docs, run database migrations…)
@nandertga
@nandertga 10 ай бұрын
Assuming you're using semantic versioning and conventional commits in your project, you can use a tool like semantic release to automagically determine the next version number.
@nemanjazivaljevic1656
@nemanjazivaljevic1656 11 ай бұрын
Could you do some dewops stack?
@sevdalink6676
@sevdalink6676 10 ай бұрын
I have used github actions to trigger tests on every push. But I experienced very slow behavior. Even for a very small small project it took tens of minutes to complete. Is it normal to take so long?
@thekwoka4707
@thekwoka4707 11 ай бұрын
I disagree with npm CI for these. I use pnpm and cache the store (and even node modules itself) to speed up actions (cache key is the package-lock hash) Npm is slow, and CI prevents any caching options.
@Kingside88
@Kingside88 11 ай бұрын
Please make a video about web componend
@Raress96
@Raress96 10 ай бұрын
You have both main and master branches? What is this madness branching strategy? :))
@baychaoz
@baychaoz 10 ай бұрын
Please make a video about nx
@thantzinoo938
@thantzinoo938 11 ай бұрын
I wonder how firebase functions are work with GitHub actions?
@mohsinejaz6882
@mohsinejaz6882 10 ай бұрын
Hey fireship do tutorials on legend state for react
@netlemon
@netlemon 10 ай бұрын
what I don t like about Github Actions is that it doesn t support yml aliases which makes the file quite cluttered for big ci cds pipelines
@vitalysuper3193
@vitalysuper3193 11 ай бұрын
0:00 that sound make subwoofers hit me in the back. aa
@Offe2246
@Offe2246 3 ай бұрын
If I give gpt the link of the video can build the app automatically?
@magicking3888
@magicking3888 11 ай бұрын
Is it possible to configure github actions to auto deploy to a custom server instead of big company servers like azure or aws?
@vincentnthomas1
@vincentnthomas1 11 ай бұрын
Ansible?
@Medik_0001
@Medik_0001 11 ай бұрын
If you can do it from the command line, yes
@AmodeusR
@AmodeusR 11 ай бұрын
Where was written the playwright test code? I only saw you linking it to the actions or something like that, but you never made the code that makes the test. I don't get it.
@uuu12343
@uuu12343 11 ай бұрын
Brb gonna write-up a guide on Github Actions, am not gonna plow through life without a CI/CD engine
@omomer3506
@omomer3506 11 ай бұрын
CV/Resume Skills: Ci/CD expert
@plaguemusic9104
@plaguemusic9104 11 ай бұрын
Im starting with CI/CD
@henrycullen950
@henrycullen950 11 ай бұрын
Could you please do a video on free tools and services? It would be very handy after the death of heroku
@samuelmorgan-tyghe9136
@samuelmorgan-tyghe9136 11 ай бұрын
I gave up on making some ai that reads the code / commit messages and finds relevant memes to it and adds it to the or description
@metaorior
@metaorior 11 ай бұрын
~kiiji
@llFike
@llFike 11 ай бұрын
is act stable now? I had so many bad experiences with it in the past :(
@kazaakas
@kazaakas 10 ай бұрын
All good practices, but these can be achieved with a number of SaaS CI/CD tools, not just github actions.
@sizur
@sizur 11 ай бұрын
Dude, I need your jokes workflow!!!
@blaizeW
@blaizeW 11 ай бұрын
idk i just use the google action lol aka release please
@yousifakbar
@yousifakbar 11 ай бұрын
I don't think it's technically true that GitHub spins up a container when you start a workflow. I believe they connect you to a full VM.
@dingus4138
@dingus4138 11 ай бұрын
They use microvms and spin up containers inside them for certain action types. But a lot of it can be done using the base VM.
@MrAjiii
@MrAjiii 11 ай бұрын
They're all containers!
@yokowasis
@yokowasis 11 ай бұрын
something important missing, you should have explain how to deploy the code on your production machine upon code push.
@erik-fisher
@erik-fisher 11 ай бұрын
Man, this AI voice is good!
@nexovec
@nexovec 10 ай бұрын
It's drone CI all the way for me.
@brandonwinston
@brandonwinston 11 ай бұрын
thanks
@Hermesiss
@Hermesiss 11 ай бұрын
I think I heard the basement slaves at 7:32 doing animations for the daily code reports
@pieter5466
@pieter5466 11 ай бұрын
I wonder whether anyone has setup completely standardized projects for use cases like "Python3 in a Docker image", including GitHub actions, linting and testing and whatnot.
@wolfeygamedev1688
@wolfeygamedev1688 8 ай бұрын
Python in docker, what a nightmare!
@DevThought
@DevThought 11 ай бұрын
Act is not working on M1 macbook.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 11 ай бұрын
Here’s a nickel, kid. Get yourself a real computer.
@smthngsmthngsmthngdarkside
@smthngsmthngsmthngdarkside 3 ай бұрын
Use ASDF instead of node setup
@Caringal_Tech
@Caringal_Tech 11 ай бұрын
Make GitHub Actions with AWS ECS with EC2
@OceanSlim
@OceanSlim 29 күн бұрын
need forgejo video. gitea with actions
GitHub Actions Feels Bad
26:27
fasterthanlime
Рет қаралды 92 М.
GitHub Actions Tutorial - Basic Concepts and CI/CD Pipeline with Docker
32:31
TechWorld with Nana
Рет қаралды 1,4 МЛН
ROCK PAPER SCISSOR! (55 MLN SUBS!) feat @PANDAGIRLOFFICIAL #shorts
00:31
Luck Decides My Future Again 🍀🍀🍀 #katebrush #shorts
00:19
Kate Brush
Рет қаралды 7 МЛН
THEY WANTED TO TAKE ALL HIS GOODIES 🍫🥤🍟😂
00:17
OKUNJATA
Рет қаралды 3,1 МЛН
I’m just a kid 🥹🥰 LeoNata family #shorts
00:12
LeoNata Family
Рет қаралды 16 МЛН
20 Programming Projects That Will Make You A God At Coding
14:27
The Coding Sloth
Рет қаралды 541 М.
How I deploy serverless containers for free
6:33
Beyond Fireship
Рет қаралды 434 М.
What does larger scale software development look like?
24:15
Web Dev Cody
Рет қаралды 1,3 МЛН
GitHub Actions для CI/CD - mini курс за 30 минут
35:18
PurpleSchool | Anton Larichev
Рет қаралды 23 М.
5 Ways to DevOps-ify your App - Github Actions Tutorial
12:12
Fireship
Рет қаралды 676 М.
I tried 8 different Postgres ORMs
9:46
Beyond Fireship
Рет қаралды 388 М.
So You Think You Know Git - FOSDEM 2024
47:00
GitButler
Рет қаралды 1 МЛН
how NASA writes space-proof code
6:03
Low Level Learning
Рет қаралды 2,1 МЛН
Github Actions CI/CD - Everything you need to know to get started
12:21
Programming Is NOT Enough | Add these 7 skills…
13:19
Travis Media
Рет қаралды 413 М.
ROCK PAPER SCISSOR! (55 MLN SUBS!) feat @PANDAGIRLOFFICIAL #shorts
00:31