<?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: Mohamed Elsharkawy</title>
    <description>The latest articles on DEV Community by Mohamed Elsharkawy (@mohamedgelsharkawy).</description>
    <link>https://dev.to/mohamedgelsharkawy</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%2F755012%2Fe0c82679-9a88-4d1d-98e0-3aa32ce2234e.png</url>
      <title>DEV Community: Mohamed Elsharkawy</title>
      <link>https://dev.to/mohamedgelsharkawy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mohamedgelsharkawy"/>
    <language>en</language>
    <item>
      <title>Automate your Mobile App building, testing, code styling, code analysis and your distribution</title>
      <dc:creator>Mohamed Elsharkawy</dc:creator>
      <pubDate>Tue, 16 Nov 2021 23:12:21 +0000</pubDate>
      <link>https://dev.to/mohamedgelsharkawy/automate-your-building-testing-code-styling-code-analysis-and-your-distribution-543i</link>
      <guid>https://dev.to/mohamedgelsharkawy/automate-your-building-testing-code-styling-code-analysis-and-your-distribution-543i</guid>
      <description>&lt;h3&gt;
  
  
  My Workflow
&lt;/h3&gt;

&lt;p&gt;If you are stuck how to automate your building, testing, code styling, code analysis or distribute your building with firebase. &lt;/p&gt;

&lt;p&gt;I'll share with you an awesome and documented &lt;a href="https://github.com/MohamedGElsharkawy/Android-CICD/blob/master/README.md"&gt;readme&lt;/a&gt; for the workflows. So let's go into the process of building the those amazing jobs with this awesome service &lt;a href="https://docs.github.com/en/actions/quickstart"&gt;Github Action&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Phone Friendly&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Yaml File or Link to Code
&lt;/h3&gt;

&lt;p&gt;You can have a look for the repository which built with github actions &lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/MohamedGElsharkawy"&gt;
        MohamedGElsharkawy
      &lt;/a&gt; / &lt;a href="https://github.com/MohamedGElsharkawy/Android-CICD"&gt;
        Android-CICD
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      This repo demonstrates how to work on CI/CD for Mobile Apps 📱 using Github Actions 💊 + Firebase Distribution 🎉
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h2&gt;
Android-CICD&lt;/h2&gt;
&lt;p&gt;This repo demonstrates how to work on CI/CD for Mobile Apps 📱 using Github Actions 💊 + Firebase Distribution 🎉&lt;/p&gt;
&lt;h1&gt;
Getting Started&lt;/h1&gt;
&lt;p&gt;We are here setup a continious integration pipelines using &lt;a href="https://github.com/features/actions"&gt;&lt;strong&gt;Github Actions&lt;/strong&gt;&lt;/a&gt; and a continious delivery using &lt;a href="https://firebase.google.com/docs/app-distribution" rel="nofollow"&gt;&lt;strong&gt;Firebase Distribution&lt;/strong&gt;&lt;/a&gt; ⚡ ⚡&lt;/p&gt;
&lt;p&gt;If you want to know a brief definition for the two terms CI/CD 🙆‍♂️, Checkout out the quotes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Continuous_integration" rel="nofollow"&gt;Continuous Integration&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Is the practice of merging all developers' working copies to a shared mainline several times a day.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Continuous_delivery" rel="nofollow"&gt;Continuous Delivery&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Is a software engineering approach in which teams produce software in short cycles
ensuring that the software can be reliably released at any time and, when releasing the software, without doing so manually.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/MohamedGElsharkawy/Android-CICD/blob/master/CI-CD-Image.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--34ORNr_W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/MohamedGElsharkawy/Android-CICD/raw/master/CI-CD-Image.png" alt="CI/CD"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
Workflows&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
🚀 &lt;a href="https://github.com/MohamedGElsharkawy/Android-CICD/blob/master/.github/workflows/pre_check.yml"&gt;pre_check.yaml&lt;/a&gt; : This workflow have to check for lint, testing and static code analyzer&lt;/li&gt;
&lt;li&gt;
🚀 &lt;a href="https://github.com/MohamedGElsharkawy/Android-CICD/blob/master/.github/workflows/build.yml"&gt;build.yaml&lt;/a&gt; : This workflow have to build and deploy to firebase distribution&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Getting Started With CI &lt;/h2&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/MohamedGElsharkawy/Android-CICD"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&lt;a href="https://github.com/MohamedGElsharkawy/Android-CICD/blob/master/.github/workflows/pre_check.yml"&gt;pre_check&lt;/a&gt; YML file for how to run and work with every pushing on master branch &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Check code styling then upload artifact report to github actions&lt;/li&gt;
&lt;li&gt;Run your unit tests then upload artifact report to github actions&lt;/li&gt;
&lt;li&gt;Build code analysis for security and bug issues then upload it to &lt;a href="https://sonarcloud.io/"&gt;sonarcloud&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Don't worry for integration with &lt;code&gt;sonarcloud&lt;/code&gt;, I've documented  &lt;a href="https://github.com/MohamedGElsharkawy/Android-CICD/blob/master/Sonar-Cloud.md"&gt;How to integrate sonarcloud&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Are you curious, how to share build APK with your testers group, here is you can check out &lt;a href="https://github.com/MohamedGElsharkawy/Android-CICD/blob/master/.github/workflows/build.yml"&gt;build&lt;/a&gt; this YML file which runs with every pull request on master branch&lt;br&gt;
     * Build APK then upload the artifact to github actions&lt;br&gt;
     * Upload the artifact APK to firebase distributions&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources / Info
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/marketplace/actions/checkout"&gt;Checkout&lt;/a&gt; &lt;code&gt;This action checks-out your repository&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/marketplace/actions/setup-java-jdk"&gt;Setup Java JDK&lt;/a&gt; &lt;code&gt;This action to set up the java version&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/marketplace/actions/setup-java-jdk"&gt;Setup Java JDK&lt;/a&gt; &lt;code&gt;This action to set up the java version&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/marketplace/actions/upload-a-build-artifact"&gt;Upload Artifact&lt;/a&gt; &lt;code&gt;This action to upload artifacts from your workflow allowing you to share data between jobs and store data once a workflow is complete.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://sonarcloud.io/"&gt;SonarCloud&lt;/a&gt; &lt;code&gt;To automate your analysis for code quality and security&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/wzieba/Firebase-Distribution-Github-Action"&gt;Upload to firebase distribution&lt;/a&gt; &lt;code&gt;This action uploads artifacts (.apk,.aab or .ipa) to Firebase App Distribution&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://firebase.google.com/docs/app-distribution"&gt;firebase distribution&lt;/a&gt; &lt;code&gt;makes distributing your apps to trusted testers painless. By getting your apps onto testers' devices quickly, you can get feedback early and often&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I'm interested to get your feedback, feel free to contribute with changes, issues, or improves.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>actionshackathon21</category>
      <category>ci</category>
      <category>cd</category>
      <category>firebase</category>
    </item>
  </channel>
</rss>
