instruction: Create a GitHub Actions workflow for CI/CD automation with automated testing
output: ## codeql-analysis.yml
  
  **Repository:** helm/helm
  **File Type:** Github Workflow
  **Purpose:** Production configuration from helm project
  
  ```yaml
  # For most projects, this workflow file will not need changing; you simply need
  # to commit it to your repository.
  #
  # You may wish to alter this file to override the set of languages analyzed,
  # or to provide custom queries or build logic.
  #
  # ******** NOTE ********
  # We have attempted to detect the languages in your repository. Please check
  # the `language` matrix defined below to confirm you have the correct set of
  # supported CodeQL languages.
  #
  name: "CodeQL"
  
  on:
    push:
      branches:
        - main
        - dev-v3
    pull_request:
      # The branches below must be a subset of the branches above
      branches:
        - main
        - dev-v3
    schedule:
      - cron: '29 6 * * 6'
  
  permissions:  
    contents: read
    security-events: write
  
  jobs:
    analyze:
      name: Analyze
      runs-on: ubuntu-latest
  
      strategy:
        fail-fast: false
        matrix:
          language: [ 'go' ]
          # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
          # Learn more:
          # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
  
      steps:
      - name: Checkout repository
        uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # pin@v5.0.0
  
      # Initializes the CodeQL tools for scanning.
      - name: Initialize CodeQL
        uses: github/codeql-action/init@4dd16135b69a43b6c8efb853346f8437d92d3c93 # pinv3.26.6
        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@4dd16135b69a43b6c8efb853346f8437d92d3c93 # pinv3.26.6
  
      # ℹ️ 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@4dd16135b69a43b6c8efb853346f8437d92d3c93 # pinv3.26.6
  
  ```
  
  This GitHub Actions workflow demonstrates production CI/CD practices including automated testing, building, and deployment.