Skip to content

fix: Set user permissions #23

fix: Set user permissions

fix: Set user permissions #23

Workflow file for this run

name: CI

Check failure on line 1 in .github/workflows/ci.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/ci.yml

Invalid workflow file

(Line: 32, Col: 13): Unrecognized named-value: 'env'. Located at position 1 within expression: env.HOME
on:
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-24.04
services:
# Docker without TLS (plain TCP) !DEPRECATED! with next docker release
docker-no-tls:
image: docker:29.1.1-dind
env:
DOCKER_TLS_CERTDIR: ""
ports:
- 2375:2375
options: >-
--privileged
# Docker with TLS (secure TCP)
docker-tls:
image: docker:29.1.1-dind
env:
DOCKER_TLS_CERTDIR: /certs
ports:
- 2376:2376
options: >-
--privileged
volumes:
- ${{ env.HOME }}/certs:/certs
strategy:
matrix:
include:
- sdk: 8.x
tfm: net8.0
- sdk: 9.x
tfm: net9.0
- sdk: 10.x
tfm: net10.0
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Setup .NET Core
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ matrix.sdk }}
- name: Build
run: dotnet build -c Release --framework ${{ matrix.tfm }}
- name: Pack client cert, key, ca for .NET Docker client
run: |
sudo chown -R $USER:$USER $HOME/certs
openssl pkcs12 -export \
-out "$HOME/certs/client.pfx" \
-inkey "$HOME/certs/client/key.pem" \
-in "$HOME/certs/client/cert.pem" \
-certfile "$HOME/certs/client/ca.pem" \
-passout pass:
- name: Wait for Docker (no TLS) to be healthy
run: |
for i in {1..10}; do
if docker --host=tcp://localhost:2375 version; then
echo "Docker (no TLS) is ready!"
exit 0
fi
echo "Waiting for Docker (no TLS) to be ready..."
sleep 3
done
echo "Docker (no TLS) did not become ready in time."
exit 1
- name: Wait for Docker (with TLS) to be healthy
run: |
for i in {1..10}; do
if docker --host=tcp://localhost:2376 --tlsverify \
--tlscacert="$HOME/certs/client/ca.pem" \
--tlscert="$HOME/certs/client/cert.pem" \
--tlskey="$HOME/certs/client/key.pem" version; then
echo "Docker (with TLS) is ready!"
exit 0
fi
echo "Waiting for Docker (with TLS) to be ready..."
sleep 3
done
echo "Docker (with TLS) did not become ready in time."
exit 1
- name: Test
run: dotnet test -c Release --framework ${{ matrix.tfm }} --no-build --logger console