fedora-intune: minimal GNOME workstation with Intune and Defender
Build containers / Compute changes (pull_request) Successful in 2s
Build containers / fedora-cosmic (44) (pull_request) Failing after 26s
Build containers / fedora-cosmic (rawhide) (pull_request) Failing after 28s
Build containers / fedora-remote (44) (pull_request) Failing after 34s
Build containers / fedora-intune (44) (pull_request) Failing after 27s
Build containers / Prune old releases and tags (pull_request) Skipped

New image for testing Microsoft Intune enrollment and Linux compliance
policies: a minimal GNOME workstation (gnome-initial-setup, Ptyxis,
Files) with the Intune app, the Microsoft identity broker, Edge and
Defender for Endpoint (mdatp) from packages.microsoft.com (RHEL 10
builds, limited to those packages with includepkgs).

No Kanidm: the Intune app installs its own authselect profile with
pam_intune for the password compliance checks. Its %post cannot select
the profile or load the SELinux module during a compose, so both are
redone in postprocess.

build.sh now copies every *.yaml of an image, so manifests can be split
into more files than manifest.yaml and custom.yaml.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
MisthiosandClaude Opus 5.5 committed 2026-10-19 09:49:51 +00:00
1 parent 6a643c658d
commit fadf549b5d
13 files changed
+268 -7

No files matched your search

+25 -3
View File
@@ -18,6 +18,7 @@ jobs:
outputs:
cosmic: ${{ steps.changes.outputs.cosmic }}
remote: ${{ steps.changes.outputs.remote }}
intune: ${{ steps.changes.outputs.intune }}
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -40,6 +41,7 @@ jobs:
eval "$(printf '%s\n' "${changed}" | ./ci-changes.sh)"
echo "cosmic=${cosmic}" >> "$GITHUB_OUTPUT"
echo "remote=${remote}" >> "$GITHUB_OUTPUT"
echo "intune=${intune}" >> "$GITHUB_OUTPUT"
build-cosmic:
name: ${{ matrix.image }} (${{ matrix.distro }})
@@ -170,10 +172,30 @@ jobs:
steps: *build_steps
build-intune:
name: fedora-intune (44)
needs: changes
if: needs.changes.outputs.intune == 'true'
runs-on: job-v2
container:
image: "quay.io/fedora-ostree-desktops/buildroot:44"
options: "--security-opt=label=disable --privileged --user 0:0 --device=/dev/fuse --volume /:/run/host:rw"
env:
IMAGE: fedora-intune
DISTRO: "44"
ARCH: x86_64
REGISTRY: git.plabble.org/misthios
GITEA_URL: https://git.plabble.org
GITEA_REPO: Misthios/bootc-images
steps: *build_steps
prune:
name: Prune old releases and tags
runs-on: job-v2
needs: [changes, build-cosmic, build-remote]
needs: [changes, build-cosmic, build-remote, build-intune]
# Run even if some builds were skipped or failed.
if: ${{ always() && github.event_name != 'pull_request' }}
container:
@@ -191,7 +213,7 @@ jobs:
env:
RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
run: |
for image in fedora-cosmic fedora-remote; do
for image in fedora-cosmic fedora-remote fedora-intune; do
./prune-releases.sh "${image}"
done
- name: Prune old registry tags
@@ -203,6 +225,6 @@ jobs:
authfile=/tmp/prune-auth.json
echo "${REGISTRY_TOKEN}" | skopeo login -u "${REGISTRY_USERNAME}" \
--password-stdin --authfile "${authfile}" git.plabble.org
for image in fedora-cosmic fedora-remote; do
for image in fedora-cosmic fedora-remote fedora-intune; do
AUTHFILE="${authfile}" ./prune-registry.sh "${image}" Misthios 44 rawhide
done