Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .claude/skills/prepare-release/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ prepare the repository and open the PR.

4. **Confirm clean tree** — `git status --short`; if dirty, ask how to proceed.

5. **Branch** — `git checkout -b release/v<version>`.
5. **Branch from up-to-date `main`** — `git checkout main && git pull` then
`git checkout -b release/v<version>`. The repo uses GitHub Flow; release
branches always cut from `main`.

6. **Update the library project's NuGet packages** to latest (`src/OpenTelemetryExtension.Configuration/OpenTelemetryExtension.Configuration.csproj` only — leave Sample/Tests packages alone), then `dotnet restore OpenTelemetryExtension.slnx`.

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: "CI"

on:
push:
branches: [ develop, main ]
branches: [ main ]
pull_request:
branches: [ develop, main ]
branches: [ main ]

permissions:
contents: read
Expand Down
16 changes: 12 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,18 @@ OpenTelemetryExtension.slnx # Solution file (repo root)

## Branches & CI

- `develop` is the default working branch; `main` receives release PRs only.
- `ci.yml` runs on push/PR to `develop` and `main` (Windows runner): build,
unit tests with `--filter "Category=Unit"`, coverage via Coverlet +
ReportGenerator, upload to Coveralls.
The repository follows **GitHub Flow**: `main` is the only long-lived branch and
is always releasable.

- Branch off `main` for every change — `feature/*` for new functionality,
`fix/*` for bug fixes — then open a PR back to `main`. Do not commit directly
to `main`.
- `release/vX.Y.Z` branches are the same mechanism but carry **only** release
mechanics (version bump, dependency updates, release notes) — no code changes.
They are created by the `prepare-release` skill, not by contributors.
- `ci.yml` runs on push to `main` and on every PR targeting `main` (Windows
runner): build, unit tests with `--filter "Category=Unit"`, coverage via
Coverlet + ReportGenerator, upload to Coveralls.
- `deploy-nuget.yml` is **manual only** (`workflow_dispatch`, Linux runner): it
builds *only* the library and unit-test projects (the WPF sample cannot build
on Linux), runs the unit tests, packs, publishes to NuGet.org and GitHub
Expand Down
3 changes: 2 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ duplicate its content here.

- Quick start: `dotnet build OpenTelemetryExtension.slnx -c Release`, then
`dotnet test src/OpenTelemetryExtension.Configuration.Tests -c Release --filter "Category=Unit"`.
- Day-to-day work happens on `develop`; release PRs target `main`.
- GitHub Flow: branch off `main` (`feature/*` or `fix/*`) → PR → `main`; never
commit straight to `main`. Release branches (`release/*`) are skill-managed.
- Use the `/prepare-release` skill (`.claude/skills/prepare-release/`) for the
entire release workflow — never bump `<Version>` or publish manually.
5 changes: 3 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,14 @@ For anything beyond a small fix, please [open an issue](https://github.com/thors

## Workflow

1. Fork the repository and create a branch from `develop`.
1. Fork the repository and create a branch from `main` — use `feature/<name>`
for new functionality or `fix/<name>` for bug fixes.
2. Make your changes.
3. Add or update tests — every public API change needs test coverage.
4. When you add or change a feature, run the **unit tests**; if you have the
telemetry stack running, run the **integration tests** too (see
[Integration tests](#integration-tests)).
5. Open a pull request against `develop`.
5. Open a pull request against `main`.

## Build & Test

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[![OpenTelemetryExtension.Configuration](https://raw.githubusercontent.com/thorstenalpers/OpenTelemetryExtension.Configuration/main/assets/banner.png)](https://github.com/thorstenalpers/OpenTelemetryExtension.Configuration)

[![CI](https://img.shields.io/github/actions/workflow/status/thorstenalpers/OpenTelemetryExtension.Configuration/ci.yml?branch=develop&style=flat-square&logo=githubactions&logoColor=white&label=CI)](https://github.com/thorstenalpers/OpenTelemetryExtension.Configuration/actions/workflows/ci.yml)
[![Coverage](https://img.shields.io/coverallsCoverage/github/thorstenalpers/OpenTelemetryExtension.Configuration?branch=develop&style=flat-square&logo=coveralls&label=coverage)](https://coveralls.io/github/thorstenalpers/OpenTelemetryExtension.Configuration?branch=develop)
[![CI](https://img.shields.io/github/actions/workflow/status/thorstenalpers/OpenTelemetryExtension.Configuration/ci.yml?branch=main&style=flat-square&logo=githubactions&logoColor=white&label=CI)](https://github.com/thorstenalpers/OpenTelemetryExtension.Configuration/actions/workflows/ci.yml)
[![Coverage](https://img.shields.io/coverallsCoverage/github/thorstenalpers/OpenTelemetryExtension.Configuration?branch=main&style=flat-square&logo=coveralls&label=coverage)](https://coveralls.io/github/thorstenalpers/OpenTelemetryExtension.Configuration?branch=main)
[![NuGet](https://img.shields.io/nuget/v/OpenTelemetryExtension.Configuration?style=flat-square&logo=nuget&logoColor=white&label=nuget)](https://www.nuget.org/packages/OpenTelemetryExtension.Configuration)
[![Downloads](https://img.shields.io/nuget/dt/OpenTelemetryExtension.Configuration?style=flat-square&logo=nuget&logoColor=white&label=downloads)](https://www.nuget.org/packages/OpenTelemetryExtension.Configuration)
[![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](./LICENSE)
Expand Down
Loading