Mercurial > crates > systemd-socket
annotate .github/workflows/rust.yml @ 25:8e20daee41ed
Set CLOEXEC flag on the descriptors
The received systemd descriptors don't have `O_CLOEXEC` set because they
are received over `exec`. Thus if the process executes a child the child
gets polluted with the descriptors.
To prevent this, we set `O_CLOEXEC` during initialization. However this
also required restructuring of the code because `libsystemd` doesn't
provide temporary access to the descriptors - only permanent one. Thus
we have to "validate" the descriptors eagerly. We still store the
invalid ones as errors to make sure the errors get reported accurately.
author | Martin Habovstiak <martin.habovstiak@gmail.com> |
---|---|
date | Fri, 28 Feb 2025 21:11:19 +0100 |
parents | 27456533853e |
children | fbb9e1206e3c |
rev | line source |
---|---|
5
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
1 name: Rust |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
2 |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
3 on: |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
4 push: |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
5 branches: [ master ] |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
6 pull_request: |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
7 branches: [ master ] |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
8 workflow_dispatch: |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
9 |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
10 env: |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
11 CARGO_TERM_COLOR: always |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
12 |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
13 jobs: |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
14 build: |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
15 |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
16 runs-on: ${{ matrix.os }} |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
17 strategy: |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
18 matrix: |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
19 os: [ubuntu-latest, windows-latest, macOS-latest] |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
20 |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
21 steps: |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
22 - uses: actions/checkout@v2 |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
23 - name: Build |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
24 run: cargo build --verbose |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
25 - name: Run tests |
27456533853e
Attempt to setup CI using GitHub Actions
Martin Habovštiak <martin.habovstiak@gmail.com>
parents:
diff
changeset
|
26 run: cargo test --all-features --verbose |