<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Akebu</title>
    <description>The latest articles on DEV Community by Akebu (@akebu6).</description>
    <link>https://dev.to/akebu6</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F784635%2F914e616c-c748-41ff-9ee6-bd74f010f4d2.png</url>
      <title>DEV Community: Akebu</title>
      <link>https://dev.to/akebu6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akebu6"/>
    <language>en</language>
    <item>
      <title>GitHub Actions Explained</title>
      <dc:creator>Akebu</dc:creator>
      <pubDate>Wed, 31 Jan 2024 07:34:10 +0000</pubDate>
      <link>https://dev.to/akebu6/github-actions-explained-bne</link>
      <guid>https://dev.to/akebu6/github-actions-explained-bne</guid>
      <description>&lt;p&gt;I have always wondered how GitHub Actions worked and how they were important. It wasn't until I started working with Azure ML Studio and Azure DevOps that they made sense. In the article, we will be looking at what GitHub Actions are, how you can use them and more importantly how you can create your actions to automate some parts of your workflow as a developer or engineer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are GitHub Actions? 🧐
&lt;/h2&gt;

&lt;p&gt;To put it simply, GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline. This means that you can use them to test your code as you are building it, build your applications or systems using actions and deploy your code using actions that are very helpful when dealing with DevOps or MLOps but also go way beyond them.&lt;/p&gt;

&lt;p&gt;GitHub Actions help you automate your workflow and make your work that much easier because then you don't have to do everything yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Parts of a GitHub Action
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How to create your own GitHub Actions
&lt;/h3&gt;

&lt;p&gt;The basic syntax for creating a GitHub Action:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: CI Workflow
on:
  push:
    branches:
      - main
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2
      - name: Run Tests
        run: npm test
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this example, the workflow is triggered on &lt;code&gt;push&lt;/code&gt; events to the &lt;code&gt;main&lt;/code&gt; branch. It also runs a job called test on the latest version of the Ubuntu operating system. The steps in the job first check out the repository and then run tests using the npm test command.&lt;/p&gt;

&lt;p&gt;You can create actions for various tasks such as when a pull request (PR) is created to check for code quality to ensure that it meets the set standards before being merged into the &lt;code&gt;main&lt;/code&gt; branch. This workflow is created using the &lt;code&gt;pull_request&lt;/code&gt; event trigger. The syntax for creating a workflow that is activated when a PR is created is as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: PR Created Workflow
on:
  pull_request:
    types:
      - opened

jobs:
  build_and_test:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2

      - name: Set up Node.js
        uses: actions/setup-node@v2
        with:
          node-version: '14'

      - name: Install Dependencies
        run: npm install

      - name: Run Tests
        run: npm test
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this example, we have a workflow named "PR Created Workflow." The &lt;code&gt;on&lt;/code&gt; section specifies the event that triggers the workflow, which is the &lt;code&gt;pull_request&lt;/code&gt; event with the type &lt;code&gt;opened&lt;/code&gt;. This means the workflow will run whenever a new pull request is created.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;jobs&lt;/code&gt; section defines the jobs that the workflow should execute. In this case, there is one job named &lt;code&gt;build_and_test&lt;/code&gt;, which will run on the latest version of the Ubuntu operating system &lt;code&gt;(ubuntu-latest)&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The steps within the job define the tasks to be performed. The example steps include checking out the repository, setting up Node.js with version 14, installing project dependencies with &lt;code&gt;npm install&lt;/code&gt;, and finally, running tests with &lt;code&gt;npm test&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;With this workflow, every time a new pull request is created in the repository, the specified steps will be executed automatically. This helps run automated tests, checks, and other tasks to ensure the quality of code changes before they are merged into the main codebase.&lt;/p&gt;

&lt;p&gt;You can connect with me on:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/akebu6"&gt;GitHub&lt;/a&gt;  &lt;a href="https://www.linkedin.com/in/akebu-simasiku-24186720a/"&gt;LinkedIn&lt;/a&gt;    &lt;a href="https://twitter.com/akebu6"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>githubactions</category>
      <category>yaml</category>
      <category>git</category>
    </item>
    <item>
      <title>My 100Days Journey</title>
      <dc:creator>Akebu</dc:creator>
      <pubDate>Mon, 09 May 2022 06:37:38 +0000</pubDate>
      <link>https://dev.to/akebu6/my-100days-journey-i8</link>
      <guid>https://dev.to/akebu6/my-100days-journey-i8</guid>
      <description>&lt;p&gt;Published on &lt;a href="https://akebu6.hashnode.dev/my-100days-journey"&gt;Hashnode&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For the longest time, I honestly had no idea what I wanted to do or even what I wanted to do. I was someone who always just went with the flow and that was how it had been until a few months ago when I finally decided to try web development and android development fully.&lt;/p&gt;

&lt;p&gt;I tried for a few months but I honestly had no idea what I was doing. I was just floating and going through everything, learnt HTML, CSS and some JavaScript as well as Kotlin. I liked it, but I had college and that took most of time. The year ended and during my school break, I was too burnt out to even want to touch a book.&lt;/p&gt;

&lt;p&gt;It was 2022 and I knew I had to stop slacking on doing anything or finding what I wanted to do. That's when I came up with the idea to start the 100DaysOfKotlin which isn't your typical 100DaysOfCode challenge. In this challenge, I was sticking to learning everything about Kotlin and Android development that I could fit into the three months. I told myself I was dedicating 3 months to improving my Kotlin and Android skills and that's what I did. Every day for the past 3 months I learnt Kotlin from JetBrains Academy as well as read the documentation and worked on 7 projects which were great but sometimes I felt as if I didn't know anything. I kept all the notes I took &lt;a href="https://github.com/akebu6/Kotlin-Notes"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The projects were really involving and sometimes it would take me two weeks to complete a single stage and others I would breeze through without much problems. You can view all the projects &lt;a href="https://github.com/akebu6/JetBrains-Academy-Projects"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Three whole months I was locked up in my room, I would attend my classes but after that, I would go back to my room and continue learning. Every chance I would get I would use it to learn as much as I could. I ended up missing out on a lot of activities going on but I knew I was doing something for MYSELF for the first time and nothing was going to deter me, so I didn't feel like I was missing out at all. &lt;/p&gt;

&lt;p&gt;I would sometimes repeat what I had learnt if I didn't fully grasp it the first time and I started seeing a change. For the first time things started making sense. I loved coding more than I had initially thought. Below is how my track record from JetBrains Academy is, I'm super proud of not giving up.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DhKgsePo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/22iex502qm0yleyxndln.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DhKgsePo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/22iex502qm0yleyxndln.png" alt="A summary of my learning track from JetBrains Academy" width="730" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once I felt comfortable enough, I started learning Android development from Udemy and lucky me because that was the time my school decided to give us a break and I used that break learning as much as I could and did so much coding and staring at my laptop screen. As much as I was doing my own thing, it was still partly related to my classes and that didn't bother me as much. I ended up working on a number of projects which can be found &lt;a href="https://github.com/akebu6/Android-Beginner-Projects"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Being consistent for 100 complete days was definitely not easy. I still cannot believe that I actually did it and got to learn so much. I sometimes had these days where I just sat and stared at my laptop for the longest time wondering what I'm doing and if it was worth it. Was I doing the right thing? Was this what I really wanted to do for the most part of my life and after graduation. There were so many questions that at times I honestly felt like just giving up and going back to being the old me. The sad depressed person who still had no idea what I was getting myself into.&lt;/p&gt;

&lt;p&gt;Something that I did lack on was having people to ask when I got stuck. Sure, I would ask on Twitter but that never really got me much help. When you start learning, it's important to find a community that will help and encourage you through your journey. My closet friend was my motivator, she was encouraging me when I felt like giving up and trust me, I almost gave up a lot especially when I was not doing so great with some of the tests that I was given. Just because you need to be a part of a community does not mean that you should surround yourself with just anyone, surround yourself with people who will help you along your journey and guide you.&lt;/p&gt;

&lt;p&gt;Another thing that I learnt from my 100 days of Kotlin was not to try and do everything all at once. Sure, there is that fear of missing out but doing everything at once only ends up overwhelming you and lead to burn out, something that I did my best to avoid throughout the 100 days. Pick one thing and give it all you attention before moving to the next thing. By doing this, you relieve yourself from stressing yourself out too much. Prioritization is really important in whatever that you do.&lt;/p&gt;

&lt;p&gt;The other thing is to take necessary breaks which will help in preventing burnout. You can take as much time off as you need, just make sure that you also do not overdo it because even taking a break for too long can leave you feeling lazy to resume your work.&lt;/p&gt;

&lt;p&gt;The other important thing that I learnt with this challenge is to share what you are learning online. You never know who you might be helping or who you might inspire. Don't worry about being judged because no matter what you do, there will always be someone who just doesn't agree with you and that's okay. Don't stop sharing because this can also help you learn new things that you didn't know when you engage with people online.&lt;/p&gt;

&lt;p&gt;To summarise:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Take Breaks&lt;/li&gt;
&lt;li&gt;Prioritise your work according to what is most important&lt;/li&gt;
&lt;li&gt;Find a community(even your friends to help encourage and motivate you)&lt;/li&gt;
&lt;li&gt;Repeat what you have until you feel comfortable enough to move to the next thing&lt;/li&gt;
&lt;li&gt;Share what you learning online to help keep you accountable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Writing this article was a little harder than I thought it would be when I started writing it. Most of my struggles I kept them to myself because I didn't want to be that person who always bothered people but through the last 100 days, I have learnt to be open and ask people for help because that's an important part of growth.&lt;/p&gt;

&lt;p&gt;If you have read this far, I want to thank you for taking your time to actually read my story. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/akebu6"&gt;twitter&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/akebu-simasiku-24186720a/"&gt;linkedIn&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/akebu6"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
