https://github.com/ievangelist/actions-toolkit-csharp
The unofficial GitHub ToolKit for developing GitHub Actions with C#
https://github.com/ievangelist/actions-toolkit-csharp
csharp docker dotnet github-actions
Last synced: 30 days ago
JSON representation
The unofficial GitHub ToolKit for developing GitHub Actions with C#
- Host: GitHub
- URL: https://github.com/ievangelist/actions-toolkit-csharp
- Owner: IEvangelist
- License: mit
- Created: 2022-11-22T05:00:47.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-05-21T01:02:38.000Z (about 1 month ago)
- Last Synced: 2026-05-25T01:54:00.642Z (about 1 month ago)
- Topics: csharp, docker, dotnet, github-actions
- Language: C#
- Homepage: https://davidpine.dev/posts/github-actions-sdk/
- Size: 371 KB
- Stars: 66
- Watchers: 0
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README

# GitHub Actions Workflow .NET SDK
[](https://github.com/IEvangelist/actions-toolkit-csharp/actions/workflows/build-and-test.yml)
[](https://github.com/IEvangelist/actions-toolkit-csharp/actions/workflows/codeql-analysis.yml)
[](https://github.com/IEvangelist/actions-toolkit-csharp/actions/workflows/publish.yml)
[](https://www.nuget.org/packages/ActionsToolkit.Core)
[](#contributors-)
The .NET equivalent of the official GitHub [actions/toolkit](https://github.com/actions/toolkit) repository, and is currently a work in progress. While there isn't currently 100% feature complete compatibility between these two repositories, that is the eventual goal.
> [!IMPORTANT]
> This repository is in the middle of a rename and feature-parity initiative ([#5][issue-5]).
> NuGet package IDs are moving from `GitHub.Actions.*` to `ActionsToolkit.*`, and all ten
> upstream `@actions/toolkit` packages will ship together as **v1.0.0** of `ActionsToolkit.*`
> once each row in [PACKAGES.md](PACKAGES.md) is fully ✅. Native AOT correctness is verified per
> package via dedicated `tests/.Aot.Tests` projects.
[issue-5]: https://github.com/IEvangelist/actions-toolkit-csharp/issues/5
## Blog
[🔗 Hello from the GitHub Actions: Core .NET SDK](https://davidpine.net/blog/github-actions-sdk)
## GitHub Actions .NET Toolkit
The GitHub Actions .NET ToolKit provides a set of packages to make creating actions easier.
## Packages
:heavy_check_mark: [`ActionsToolkit.Core`](src/ActionsToolkit.Core)
Provides functions for inputs, outputs, results, logging, secrets and variables. Read more [here](src/ActionsToolkit.Core)
```
dotnet add package ActionsToolkit.Core
```
For more information, see [📦 ActionsToolkit.Core](https://www.nuget.org/packages/ActionsToolkit.Core).
:ice_cream: [`ActionsToolkit.Glob`](src/ActionsToolkit.Glob)
Provides functions to search for files matching glob patterns. Read more [here](src/ActionsToolkit.Glob)
```
dotnet add package ActionsToolkit.Glob
```
For more information, see [📦 ActionsToolkit.Glob](https://www.nuget.org/packages/ActionsToolkit.Glob).
:pencil2: [`ActionsToolkit.IO`](src/ActionsToolkit.IO)
Provides disk i/o functions like cp, mv, rmRF, which etc. Read more [here](src/ActionsToolkit.IO)
```bash
dotnet add package ActionsToolkit.IO
```
For more information, see [📦 ActionsToolkit.IO](https://www.nuget.org/packages/ActionsToolkit.IO).
:rocket: [`ActionsToolkit.Exec`](src/ActionsToolkit.Exec)
Provides functions to exec command-line tools and process their output. Read more [here](src/ActionsToolkit.Exec)
```bash
dotnet add package ActionsToolkit.Exec
```
For more information, see [📦 ActionsToolkit.Exec](https://www.nuget.org/packages/ActionsToolkit.Exec).
:octocat: [`ActionsToolkit.Octokit`](src/ActionsToolkit.Octokit)
Provides an Octokit client hydrated with the context that the current action is being run in. Read more [here](src/ActionsToolkit.Octokit)
```bash
dotnet add package ActionsToolkit.Octokit
```
For more information, see [📦 ActionsToolkit.Octokit](https://www.nuget.org/packages/ActionsToolkit.Octokit).
:package: [`ActionsToolkit.ToolCache`](src/ActionsToolkit.ToolCache)
Provides functions for downloading, extracting, and caching tools (such as language runtimes) on the runner — the .NET equivalent of `@actions/tool-cache`. Read more [here](src/ActionsToolkit.ToolCache).
```bash
dotnet add package ActionsToolkit.ToolCache
```
For more information, see [📦 ActionsToolkit.ToolCache](https://www.nuget.org/packages/ActionsToolkit.ToolCache).
:lock: [`ActionsToolkit.Attest`](src/ActionsToolkit.Attest)
Provides functions for generating signed artifact attestations — Sigstore keyless signing of in-toto statements (including SLSA-style provenance) and persistence to GitHub's attestations REST endpoint. Read more [here](src/ActionsToolkit.Attest).
```bash
dotnet add package ActionsToolkit.Attest
```
For more information, see [📦 ActionsToolkit.Attest](https://www.nuget.org/packages/ActionsToolkit.Attest).
:floppy_disk: [`ActionsToolkit.Cache`](src/ActionsToolkit.Cache)
Provides functions for saving and restoring caches against the GitHub Actions cache service — the .NET equivalent of `@actions/cache`. Tar+zstd archive pipeline (managed via `System.Formats.Tar` + `ZstdSharp.Port`), Twirp+signed-URL transport for the V2 cache backend, and AOT-clean source-gen JSON. Read more [here](src/ActionsToolkit.Cache).
```bash
dotnet add package ActionsToolkit.Cache
```
For more information, see [📦 ActionsToolkit.Cache](https://www.nuget.org/packages/ActionsToolkit.Cache).
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

Chet Husk
💻

js6pak
💻 ⚠️

David Gardiner
💻

Fredrik Høisæther Rasch
💻 🤔
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!