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
13 changes: 13 additions & 0 deletions docs/docs/getting-started/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,19 @@ Thank you for using Semaphore!
We continuously deploy changes that improve our product for our customers.
This page is updated on a weekly basis.

### Week of March 23 2026

**(Improved) Ubuntu 24.04 image update**

**(New)** New packages:

- .NET SDK: 10.0.104
- PowerShell: 7.6.0
- Edge: 146.0.3856.72
- EdgeDriver: 146.0.3856.72

To learn more about this image, check our [Ubuntu 24.04 page](https://docs.semaphoreci.com/reference/os-ubuntu-images/ubuntu-2404-image/).

### Week of February 9 2026

**(Improved) Ubuntu 24.04 image update**
Expand Down
7 changes: 7 additions & 0 deletions docs/docs/reference/os-ubuntu-images/ubuntu-2404-image.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ Following version control tools are pre-installed:
- Geckodriver 0.36.0
- Google Chrome 144.0.7559.59
- ChromeDriver 144.0.7559.59
- Microsoft Edge: 146.0.3856.72
- EdgeDriver: 146.0.3856.72
- Xvfb (X Virtual Framebuffer)
- Phantomjs 2.1.1

Expand Down Expand Up @@ -219,6 +221,11 @@ The default installed Ruby version is 3.4.8.

- 1.1.1

### Microsoft .NET SDK and PowerShell

- .NET SDK: 10.0.104
- PowerShell: 7.6.0

## See also

- [Installing packages on Ubuntu](../os-ubuntu)
Expand Down
125 changes: 125 additions & 0 deletions docs/docs/using-semaphore/languages/dotnet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
---
description: .NET Guide
sidebar_position: 9
---

# .NET

Semaphore Ubuntu images include the .NET SDK and PowerShell.

This page shows how to inspect installed versions, build .NET projects, and run tests.

## Check installed versions

Use the following commands to inspect available .NET and PowerShell versions:

```bash
dotnet --info
dotnet --list-sdks
dotnet --list-runtimes
pwsh --version
```

## Build a .NET project

The following example restores dependencies and builds a project in Release mode:

```yaml
version: v1.0
name: .NET pipeline
agent:
machine:
type: f1-standard-2
os_image: ubuntu2404
blocks:
- name: Build
task:
jobs:
- name: Build application
commands:
- checkout
- dotnet --info
- dotnet restore
- dotnet build --configuration Release --no-restore
```

## Run tests

Use `dotnet test` to execute your test suite:

```yaml
version: v1.0
name: .NET tests
agent:
machine:
type: f1-standard-2
os_image: ubuntu2404
blocks:
- name: Test
task:
jobs:
- name: Run tests
commands:
- checkout
- dotnet restore
- dotnet build --configuration Release --no-restore
- dotnet test --configuration Release --no-build
```

## Use PowerShell

PowerShell is available as `pwsh`.

Example:

```yaml
version: v1.0
name: .NET with PowerShell
agent:
machine:
type: f1-standard-2
os_image: ubuntu2404
blocks:
- name: Run PowerShell
task:
jobs:
- name: PowerShell script
commands:
- checkout
- pwsh -Command "Get-ChildItem"
- pwsh -File ./scripts/build.ps1
```

## Build and test in one pipeline

The following pipeline restores dependencies, builds the application, and runs tests:

```yaml
version: v1.0
name: .NET example
agent:
machine:
type: f1-standard-2
os_image: ubuntu2404
blocks:
- name: Build and test
task:
jobs:
- name: .NET
commands:
- checkout
- dotnet --info
- dotnet restore
- dotnet build --configuration Release --no-restore
- dotnet test --configuration Release --no-build
```

## Example using a solution file

If your repository contains a solution file, you can target it explicitly:

```bash
dotnet restore MyApp.sln
dotnet build MyApp.sln --configuration Release --no-restore
dotnet test MyApp.sln --configuration Release --no-build
```