rollbar/terraform-provider-rollbar

View on GitHub
.github/workflows/analyze.yml

Summary

Maintainability
Test Coverage
name: Code Quality Analysis

on:
  push:
  pull_request:
  schedule:
    - cron: '0 10 * * 3'

jobs:
  codeql:
    name: CodeQL
    runs-on: ubuntu-latest

    permissions:
      actions: read
      contents: read
      security-events: write

    steps:
    - name: Checkout repository
      uses: actions/checkout@v2
      with:
        # We must fetch at least the immediate parents so that if this is
        # a pull request then we can checkout the head.
        fetch-depth: 2

    # Restore cache
    - uses: actions/cache@v2
      with:
        path: |
          ~/go/pkg/mod
          ~/.cache/go-build
        # Blank version number means latest version of Go.
        key: ${{ runner.os }}-go-v-${{ hashFiles('**/go.sum') }}

      # Initializes the CodeQL tools for scanning.
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v2
      with:
        languages: ${{ matrix.language }}
        # If you wish to specify custom queries, you can do so here or in a config file.
        # By default, queries listed here will override any specified in a config file.
        # Prefix the list here with "+" to use these queries and those in the config file.
        # queries: ./path/to/local/query, your-org/your-repo/queries@main

    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
    # If this step fails, then you should remove it and run the build manually (see below)
    - name: Autobuild
      uses: github/codeql-action/autobuild@v2

    # ℹī¸ Command-line programs to run using the OS shell.
    # 📚 https://git.io/JvXDl

    # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines
    #    and modify them (or add more) to build your code if your project
    #    uses a compiled language

    #- run: |
    #   make bootstrap
    #   make release

    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v2

  golangci:
    name: golangci-lint
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-go@v3
        with:
          go-version: '1.19'
          check-latest: false
      - uses: actions/checkout@v2
      - name: golangci-lint
        uses: golangci/golangci-lint-action@v3
        with:
          # Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
          version: v1.49.0
          # Optional: golangci-lint command line arguments.
          args: --timeout=5m --tests=false
          # Optional: working directory, useful for monorepos
          # working-directory: somedir
          # Optional: show only new issues if it's a pull request. The default value is `false`.
          # only-new-issues: true