diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..9ecdbb568d --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,44 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + # Maintain dependencies for nuget + - package-ecosystem: "nuget" + directory: "dotnet/" + schedule: + interval: "cron" + cronjob: "0 8 * * 4,0" # Every Thursday(4) and Sunday(0) at 8:00 UTC + ignore: + # For all System.* and Microsoft.Extensions/Bcl.* packages, ignore all major version updates + - dependency-name: "System.*" + update-types: ["version-update:semver-major"] + - dependency-name: "Microsoft.Extensions.*" + update-types: ["version-update:semver-major"] + - dependency-name: "Microsoft.Bcl.*" + update-types: ["version-update:semver-major"] + - dependency-name: "Moq" + labels: + - ".NET" + - "dependencies" + + # Maintain dependencies for pip + - package-ecosystem: "pip" + directory: "python/" + schedule: + interval: "weekly" + day: "monday" + labels: + - "python" + - "dependencies" + + # Maintain dependencies for github-actions + - package-ecosystem: "github-actions" + # Workflow files stored in the + # default location of `.github/workflows` + directory: "/" + schedule: + interval: "weekly" + day: "sunday" diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000000..33c245efe4 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,23 @@ +### Motivation and Context + + + +### Description + + + +### Contribution Checklist + + + +- [ ] The code builds clean without any errors or warnings +- [ ] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/agent-framework/blob/main/CONTRIBUTING.md) +- [ ] All unit tests pass, and I have added new tests where possible +- [ ] I didn't break anyone :smile: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000000..06ee8d8d4c --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,69 @@ +# CodeQL is the code analysis engine developed by GitHub to automate security checks. +# The results are shown as code scanning alerts in GitHub. For more details, visit: +# https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql + +name: "CodeQL" + +on: + workflow_dispatch: + push: + # TODO: Add "feature*" back in again, once we determine the cause of the ongoing CodeQL failures. + branches: ["main", "experimental*", "*-development"] + schedule: + - cron: "17 11 * * 2" + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: ["csharp", "python"] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Use only 'java' to analyze code written in Java, Kotlin or both + # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + persist-credentials: false + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + 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. + + # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + # Autobuild attempts to build any compiled languages (C/C++, C#, Go, 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@v3 + + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}"