From bfc4741fca11c544baf00850c0c7935f31b87b91 Mon Sep 17 00:00:00 2001 From: Dmytro Nikulin Date: Wed, 22 Jul 2026 10:55:12 +0300 Subject: [PATCH 1/2] #28 first version --- .github/CODEOWNERS | 2 ++ .github/ISSUE_TEMPLATE/bug_report.md | 36 +++++++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 23 ++++++++++++++++ .github/copilot/copilot-instructions.md | 27 +++++++++++++++++++ .github/workflows/ci.yml | 30 +++++++++++++++++++++ .github/workflows/copilot-review.yml | 30 +++++++++++++++++++++ 6 files changed, 148 insertions(+) create mode 100644 .github/CODEOWNERS create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/copilot/copilot-instructions.md create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/copilot-review.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..5c7d528 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +# Replace with real usernames or teams in your organization. +* @dimanikulin/dimanikulin diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..a3f743d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,36 @@ +--- +name: Bug report +about: Report a reproducible bug in the project +title: "[BUG] " +labels: bug +assignees: "" +--- + +## Description + +A clear and concise description of the bug. + +## Steps to reproduce + +1. Go to '...' +2. Run '...' +3. See error + +## Expected behavior + +Describe what you expected to happen. + +## Actual behavior + +Describe what actually happened. + +## Environment + +- OS: +- Compiler: +- CMake version: +- Commit/branch: + +## Logs or screenshots + +Add any relevant output, stack traces, or screenshots. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..550b34b --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,23 @@ +## Summary + +Describe what this PR changes and why. + +## Type of change + +- [ ] Bug fix +- [ ] New feature +- [ ] Refactor +- [ ] Documentation update +- [ ] CI/workflow update + +## Checklist + +- [ ] Code compiles locally +- [ ] Relevant tests added or updated +- [ ] Existing tests pass +- [ ] Documentation updated where needed +- [ ] No unrelated changes included + +## Validation + +List the commands or steps used to verify this change. diff --git a/.github/copilot/copilot-instructions.md b/.github/copilot/copilot-instructions.md new file mode 100644 index 0000000..acb642b --- /dev/null +++ b/.github/copilot/copilot-instructions.md @@ -0,0 +1,27 @@ +# Copilot Instructions + +This repository is a C++ CMake template project. + +## Project focus + +- Keep changes small, explicit, and testable. +- Preserve existing public interfaces unless the task asks for API changes. +- Prefer portable C++ and cross-platform CMake. + +## Coding rules + +- Follow the existing formatting style in the file being edited. +- Avoid broad refactors in bug-fix pull requests. +- Add or update unit tests in `tests/` when behavior changes. +- Keep includes minimal and avoid unused dependencies. + +## Build and test expectations + +- Configure with CMake and build with standard targets. +- Run unit tests via CTest when tests are affected. +- Keep warnings low and do not introduce obvious analyzer issues. + +## Documentation + +- Update README or code comments when behavior or usage changes. +- Keep docs concise and aligned with implementation. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..074b822 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,30 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + build-and-test: + name: Build and test (${{ matrix.os }}) + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest] + build_type: [Release] + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Configure CMake + run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} + + - name: Build + run: cmake --build build --config ${{ matrix.build_type }} + + - name: Run tests + run: ctest --test-dir build --build-config ${{ matrix.build_type }} --output-on-failure diff --git a/.github/workflows/copilot-review.yml b/.github/workflows/copilot-review.yml new file mode 100644 index 0000000..78bb082 --- /dev/null +++ b/.github/workflows/copilot-review.yml @@ -0,0 +1,30 @@ +name: Copilot Review + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + +permissions: + contents: read + pull-requests: write + +jobs: + copilot-review: + if: github.event.pull_request.draft == false + runs-on: ubuntu-latest + steps: + - name: Post Copilot review marker + uses: actions/github-script@v7 + with: + script: | + const body = [ + 'Copilot review workflow is enabled for this pull request.', + '', + 'Use this workflow as an integration point for automated review tooling.' + ].join('\n'); + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + body + }); From 55fa6e5673d2254b280404030d8561ceee8afde7 Mon Sep 17 00:00:00 2001 From: Dmytro Nikulin Date: Wed, 22 Jul 2026 11:18:34 +0300 Subject: [PATCH 2/2] #28 remove unwanted file --- .github/workflows/ci.yml | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 074b822..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: CI - -on: - push: - branches: [main] - pull_request: - branches: [main] - -jobs: - build-and-test: - name: Build and test (${{ matrix.os }}) - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest] - build_type: [Release] - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Configure CMake - run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} - - - name: Build - run: cmake --build build --config ${{ matrix.build_type }} - - - name: Run tests - run: ctest --test-dir build --build-config ${{ matrix.build_type }} --output-on-failure