SPEC: build minimal / container oriented SSSD #7442
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "ci" | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
container: quay.io/sssd/ci-client-devel:latest | |
permissions: | |
contents: read | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
id: dependencies | |
uses: ./.github/actions/install-dependencies | |
- name: Configure sssd | |
uses: ./.github/actions/configure | |
- name: make | |
shell: bash | |
working-directory: x86_64 | |
run: | | |
source ../contrib/fedora/bashrc_sssd | |
make CFLAGS+="$SSS_WARNINGS -Werror" | |
- name: make check | |
shell: bash | |
working-directory: x86_64 | |
run: | | |
source ../contrib/fedora/bashrc_sssd | |
make CFLAGS+="$SSS_WARNINGS -Werror" check | |
- name: make distcheck | |
shell: bash | |
working-directory: x86_64 | |
run: | | |
source ../contrib/fedora/bashrc_sssd | |
make distcheck | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: build | |
path: | | |
x86_64/config.log | |
x86_64/config.h | |
x86_64/test-suite.log | |
if-no-files-found: ignore | |
prepare: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
outputs: | |
matrix: ${{ steps.matrix.outputs.matrix }} | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Get matrix | |
id: matrix | |
run: ./contrib/ci/get-matrix.py --action | |
intgcheck: | |
needs: [prepare, build] | |
strategy: | |
fail-fast: false | |
matrix: | |
tag: ${{ fromJson(needs.prepare.outputs.matrix).intgcheck }} | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
path: sssd | |
- name: Setup containers | |
uses: SSSD/sssd-ci-containers/actions/setup@master | |
with: | |
path: sssd-ci-containers | |
tag: ${{ matrix.tag }} | |
limit: dns client | |
override: | | |
services: | |
client: | |
image: ${REGISTRY}/ci-client-devel:${TAG} | |
volumes: | |
- ../sssd:/sssd:rw | |
- name: Run integration tests | |
uses: SSSD/sssd-ci-containers/actions/exec@master | |
with: | |
working-directory: /sssd | |
script: ./contrib/ci/run --moderate | |
- name: Print logs | |
uses: next-actions/print-logs@master | |
if: always() | |
with: | |
working-directory: ./sssd/ci-build-debug | |
files: | | |
test-suite.log | |
ci-make-intgcheck.log | |
ci-make-distcheck.log | |
- name: Upload main artifacts | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
if-no-files-found: ignore | |
name: ${{ matrix.tag }}-intgcheck | |
path: | | |
./sssd/var/log/sssd/*.log | |
./sssd/ci-build-debug/ci-*.log | |
./sssd/ci-build-debug/config.log | |
./sssd/ci-build-debug/test-suite.log | |
./sssd/ci-build-debug/ci-mock-result/*.log | |
./sssd/ci-build-debug/src/tests/cwrap/test-suite.log | |
- name: Upload valgrind artifacts | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
if-no-files-found: ignore | |
name: ${{ matrix.tag }}-intgcheck-valgrind | |
path: | | |
./sssd/ci-build-debug/*.valgrind.log | |
result: | |
name: All tests are successful | |
if: ${{ always() }} | |
runs-on: ubuntu-latest | |
needs: [build, intgcheck] | |
steps: | |
- name: Fail on failure | |
if: | | |
needs.build.result != 'success' | |
|| needs.intgcheck.result != 'success' | |
run: exit 1 |