workflows icon indicating copy to clipboard operation
workflows copied to clipboard

GitHub Actions-based reusable CI/CD workflows

GitHub Action Reusable Workflows

You can find more information about this project/repository and how to use it in following blog post:

Configure Sonar

  • Go to https://github.com/settings/installations/, Click Configure next to SonarCloud App

  • In Repository access select your desired repository, Click save

  • At https://sonarcloud.io/projects/create, Choose your repo, Click Set Up

  • Navigate to https://sonarcloud.io/account/security/, Enter name, Click Generate, Copy the token

  • In repository, navigate to Settings -> Secrets -> Actions

    • https://github.com/<USERNAME>/<REPO_NAME>/settings/secrets/actions
  • Click New Repository Secret:

    • Name: SONAR_TOKEN
    • Value: SonarCloud Token
  • In https://sonarcloud.io/project/analysis_method?id=<PROJECT_KEY> disable the SonarCloud Automatic Analysis

Configure CodeClimate

  • Navigate to https://codeclimate.com/github/repos/new and add repository

  • Click Repo Settings (top left)

  • Go to Test Coverage tab under Analysis and copy Test reporter ID

  • In repository, navigate to Settings -> Secrets -> Actions

    • https://github.com/<USERNAME>/<REPO_NAME>/settings/secrets/actions
  • Click New Repository Secret:

    • Name: CC_TEST_REPORTER_ID
    • Value: Test reporter ID

Configure Slack Notification

Create Slack App:

  • Navigate to https://api.slack.com/apps/, Click Create an App, Give it name, choose workspace

  • Click Incoming Webhook, Switch on with slider

  • Click Add New Webhook to Workspace

  • Choose Channel, Click Allow, Copy Webhook URL

  • In repository, navigate to Settings -> Secrets -> Actions

    • https://github.com/<USERNAME>/<REPO_NAME>/settings/secrets/actions
  • Click New Repository Secret:

    • Name: SLACK_WEBHOOK
    • Value: Webhook URL