Skip to content

Instantly share code, notes, and snippets.

@scott-lydon
Last active August 7, 2024 23:22
Show Gist options
  • Save scott-lydon/e35d01083299fe5e81c588ca94f61f0e to your computer and use it in GitHub Desktop.
Save scott-lydon/e35d01083299fe5e81c588ca94f61f0e to your computer and use it in GitHub Desktop.
CI/CD Pipeline verfiication checklist

Job Requirements Checklist

  • Present errors and warnings in github messages for the pr, using the default message formating if any is available, or include at least include " in the header" and the error or warning in the message For the following plugins:

    • Codecov
    • SonarQube
    • SwiftLint
    • Coverity
    • Codebeat
    • GPTLint
    • Scottlint
  • Codecov

    • Block merging for pull requests where the code coverage is lower than prior to the pull request.
    • Block merging for pull requests with lower than 80% code coverage.
  • SonarQube/SonarSwift

    • Block merges with one or more sonarswift errors.
  • SwiftLint

    • Block merges if there are any warnings or errors.
  • Periphery

    • Block a PR merge if a pull request adds any unused code relative to before the changes.
    • Display a message in the pull request: "Periphery unused code lines prior to the changes: x \n unused code lines after: y" or use the default periphery message formatting if there is any.
  • Coverity

    • Block a PR merge if there are Coverity errors.
  • CodeBeat

    • Block a PR merge if it introduces code with one or more security errors.
  • GPT lint

    • Create a plugin that passes an AN ALREADY CREATED CHATGPT PROMPT to chatgpt, then GPT returns line numbers for errors, with messages for each in JSON. Basically use a loop that sends the prompt per file with changes:
      for file in files:
         - interpolate file into prompt -
         - send prompt to GPT -
         - display GPT feedback in pull request messages -
  • ScottLint

    • Block merges for errors or warnings.
    • If rules are disabled with // swiftlint:disable -rule-, another dev is required for review before merging.
  • Recording

    • Create a video recording of the setup process so other devs can set up the same pipeline for different projects. The video doesn't have to be professionally edited. Screen record with QuickTime or write the steps taken.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment