diff --git a/.github/codecov.yml b/.github/codecov.yml new file mode 100644 index 0000000..767f153 --- /dev/null +++ b/.github/codecov.yml @@ -0,0 +1,14 @@ +ignore: + - "benchviewer/*" + - "mnt/bench/tests/*" + +coverage: + range: 60..90 + precision: 1 + status: + project: + default: + threshold: 0.5% + patch: + default: + threshold: 1% diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..9d9b862 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,25 @@ +# 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: + - package-ecosystem: "pip" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" + day: "friday" + time: "06:00" + timezone: "Europe/Berlin" + assignees: + - "simon1hofmann" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + day: "friday" + time: "06:00" + timezone: "Europe/Berlin" + assignees: + - "simon1hofmann" diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000..e18650c --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,49 @@ +name-template: "MNTBench $RESOLVED_VERSION Release" +tag-template: "v$RESOLVED_VERSION" +categories: + - title: "🚀 Features and Enhancements" + labels: + - "feature" + - "usability" + - title: "🐛 Bug Fixes" + labels: + - "bug" + - title: "📄 Documentation" + labels: + - "documentation" + - title: "🤖 CI" + labels: + - "continuous integration" + - title: "📦 Packaging" + labels: + - "packaging" + - title: "⬆️ Dependencies" + collapse-after: 5 + labels: + - "dependencies" + - "submodules" + - "github_actions" +change-template: "- $TITLE @$AUTHOR (#$NUMBER)" +change-title-escapes: '\<*_&' +version-resolver: + major: + labels: + - "major" + minor: + labels: + - "minor" + patch: + labels: + - "patch" + default: patch +autolabeler: + - label: "dependencies" + title: + - "/update pre-commit hooks/i" + +template: | + ## What Changed 👀 + + $CHANGES + + **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..d4388f9 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,44 @@ +name: "CodeQL" + +on: + push: + branches: ["main"] + pull_request: + schedule: + - cron: "7 3 * * 5" + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [javascript, python] + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + queries: +security-and-quality + + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: "/language:${{ matrix.language }}" diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml new file mode 100644 index 0000000..d2984e8 --- /dev/null +++ b/.github/workflows/mypy.yml @@ -0,0 +1,25 @@ +name: mypy + +on: + pull_request: + push: + branches: + - main + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + lint: + runs-on: ubuntu-latest + name: Run my[py] linter + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: "3.10" + - uses: pre-commit/action@v3.0.0 + with: + extra_args: mypy --all-files diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml new file mode 100644 index 0000000..566753d --- /dev/null +++ b/.github/workflows/release-drafter.yml @@ -0,0 +1,24 @@ +name: Release Drafter + +on: + push: + branches: + - main + pull_request: + types: [opened, reopened, synchronize] + pull_request_target: + types: [opened, reopened, synchronize] + +permissions: + contents: read + +jobs: + update_release_draft: + permissions: + contents: write + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}