Skip to content

Allow obsoletion of protected packages #1489

Allow obsoletion of protected packages

Allow obsoletion of protected packages #1489

Workflow file for this run

---
name: DNF 5 CI
on:
pull_request_target:
types: [opened, reopened, synchronize]
merge_group:
types: [checks_requested]
jobs:
package-build:
name: Package Build
runs-on: ubuntu-latest
container: ghcr.io/rpm-software-management/dnf-ci-host
strategy:
fail-fast: false # don't fail all matrix jobs if one of them fails
matrix:
compiler: ['', clang] # gcc is the default
steps:
- name: Check out ci-dnf-stack
uses: actions/checkout@v2
with:
repository: rpm-software-management/ci-dnf-stack
- name: Setup CI
id: setup-ci
uses: ./.github/actions/setup-ci
with:
copr-user: ${{secrets.COPR_USER}}
copr-api-token: ${{secrets.COPR_API_TOKEN}}
- name: Check out sources
uses: actions/checkout@v2
with:
path: gits/${{github.event.repository.name}}
ref: ${{github.event.pull_request.head.sha}} # check out the PR HEAD
fetch-depth: 0
- name: Rebase the pull request on target branch
run: |
pushd gits/${{github.event.repository.name}}
git config user.name github-actions
git config user.email [email protected]
echo "Rebasing \"`git log --oneline -1`\" on ${{github.event.pull_request.base.ref}}: \"`git log --oneline -1 origin/${{github.event.pull_request.base.ref}}`\""
git rebase origin/${{github.event.pull_request.base.ref}}
popd
- name: Build in Copr
run: |
CHROOTS="fedora-37-x86_64, fedora-38-x86_64, fedora-rawhide-x86_64"
PROJECT_NAME="CI-libdnf5-pr${{github.event.pull_request.number}}"
if [[ -n "${{matrix.compiler}}" ]]; then
PROJECT_NAME+="-${{matrix.compiler}}"
fi
rpm-gitoverlay --gitdir=gits build-overlay -s overlays/dnf5-unstable rpm --with "${{matrix.compiler}}" copr --owner "${{steps.setup-ci.outputs.copr-user}}" --project "$PROJECT_NAME" --chroots "$CHROOTS" --delete-project-after-days=7 --additional-repos="copr://rpmsoftwaremanagement/dnf-nightly copr://rpmsoftwaremanagement/dnf5-unstable"
copr-build:
name: Copr Build
runs-on: ubuntu-latest
container:
image: ghcr.io/rpm-software-management/dnf-ci-host
outputs:
package-urls: ${{steps.copr-build.outputs.package-urls}}
steps:
- name: Check out ci-dnf-stack
uses: actions/checkout@v2
with:
repository: rpm-software-management/ci-dnf-stack
- name: Setup CI
id: setup-ci
uses: ./.github/actions/setup-ci
with:
copr-user: ${{secrets.COPR_USER}}
copr-api-token: ${{secrets.COPR_API_TOKEN}}
- name: Check out sources
uses: actions/checkout@v2
with:
path: gits/${{github.event.repository.name}}
ref: ${{github.event.pull_request.head.sha}} # check out the PR HEAD
fetch-depth: 0
- name: Run Copr Build
id: copr-build
uses: ./.github/actions/copr-build
with:
copr-user: ${{steps.setup-ci.outputs.copr-user}}
overlay: dnf5-ci
integration-tests:
name: DNF Integration Tests
needs: copr-build
runs-on: ubuntu-latest
container:
image: ghcr.io/rpm-software-management/dnf-ci-host
options: --privileged
volumes:
# A workaround for an undeterministic "OCI not found" error, see
# https://github.com/containers/podman/issues/10321
- /var/lib/mycontainer:/var/lib/containers
strategy:
matrix:
extra-run-args: [--tags dnf5 --command dnf5, --tags dnf5daemon --command dnf5daemon-client]
steps:
- name: Check out ci-dnf-stack
uses: actions/checkout@v2
with:
repository: rpm-software-management/ci-dnf-stack
- name: Run Integration Tests
uses: ./.github/actions/integration-tests
with:
package-urls: ${{needs.copr-build.outputs.package-urls}}
extra-run-args: ${{matrix.extra-run-args}}