/
niceSOFT
/
shadow
Обзор
Документация
Войти
/
niceSOFT
/
shadow
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
.github/workflows/runner.yml
123 строки
3 KB
Iker Pedrosa
ci: run unit-tests in Ubuntu build
10 мар 2026, 16:13
10 мар 2026, 16:13
c193d61
Код
Авторство
О чём код?
name: CI on: push: branches: [ master ] pull_request: branches: [ master ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: jobs: build: strategy: matrix: os: [ubuntu-latest, ubuntu-22.04] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: debug run: | id which bash whoami env ps -ef pwd cat /proc/self/uid_map cat /proc/self/status systemd-detect-virt - name: Install dependencies id: dependencies uses: ./.github/actions/install-dependencies - name: configure run: | autoreconf -v -f --install ./autogen.sh --without-selinux --disable-man --with-yescrypt - run: make - run: make check - run: make install DESTDIR=${HOME}/rootfs - run: sudo make install - name: run tests in shell with tty # Run tests inside a pseudo-TTY because some parts expect one. shell: 'script -q -e -c "bash {0}"' run: | set -e cd tests trap 'cat testsuite.log' ERR sudo ./run_some trap - ERR # Make sure that 'make dist' makes a usable tarball with no missing files dist-build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install dependencies id: dependencies uses: ./.github/actions/install-dependencies - name: Test make dist run: | ./autogen.sh make dist f=shadow-*.tar.gz tar -zxf $f d=$(basename $f .tar.gz) cd $d ./configure --disable-logind make -j5 make check container-build: runs-on: ubuntu-latest name: "container-build (${{ matrix.os }}${{ matrix.privileged && ', privileged' || '' }})" strategy: fail-fast: false matrix: os: [alpine, debian, fedora, opensuse] privileged: [false, true] steps: - uses: actions/setup-python@v5 with: python-version: 3.11 - name: Checkout repository uses: actions/checkout@v3 - name: Install Ansible run: | sudo apt-get update sudo apt-get -y install ansible - name: "Build container (${{ matrix.privileged && 'privileged' || 'unprivileged'}})" run: | pushd share/ansible/ ${{ matrix.privileged && 'sudo' || '' }} ansible-playbook playbook.yml \ -i inventory.ini \ -e "distribution=${{ matrix.os }}" \ -e "privileged_mode=${{ matrix.privileged }}" popd - name: Store artifacts # Always upload logs to allow debugging even on failure. if: always() uses: actions/upload-artifact@v4 with: name: "${{ matrix.os }}-${{ matrix.privileged && 'privileged' || 'unprivileged'}}-build" path: | ./share/ansible/build-out/config.log ./share/ansible/build-out/config.h ./share/ansible/build-out/build.log ./share/ansible/build-out/test-suite.log ./tests/system/pytest.log ./tests/system/artifacts if-no-files-found: ignore