Skip to content

workflows: Trigger anaconda test on bridge/storaged changes #9

workflows: Trigger anaconda test on bridge/storaged changes

workflows: Trigger anaconda test on bridge/storaged changes #9

# Anaconda's tests are "special" (require booting boot.iso, can't run in
# tmt/Testing Farm), so we need to run them in Cockpit's CI. But we still want
# to re-use the packit COPR, which is much easier to consume by Anaconda's
# tests than building cockpit in Anaconda.
# This workflow checks if the PR affects Anaconda (changes to the bridge or
# Storage page), polls the packit COPR until it has the current PR version
# available, and then test-triggers a "cockpit PR" scenario.
name: anaconda
on: pull_request
jobs:
trigger:
runs-on: ubuntu-22.04
# the default workflow token cannot read our org membership, for deciding who is allowed to trigger tests
environment: gh-cockpituous
container: registry.fedoraproject.org/fedora:rawhide
# this polls for a COPR build, which can take long
timeout-minutes: 120
steps:
- name: Install dependencies
run: |
dnf install -y git-core dnf-plugins-core || {
sleep 60
dnf install -y git-core dnf-plugins-core
}
- name: Clone repository
uses: actions/checkout@v3
with:
fetch-depth: 0
# https://github.blog/2022-04-12-git-security-vulnerability-announced/
- name: Pacify git's permission check
run: git config --global --add safe.directory /__w/cockpit/cockpit
- name: Check if PR affects Anaconda
id: affected
run: |
git log --exit-code --stat origin/${{ github.event.pull_request.base.ref }}..HEAD -- src/cockpit pkg/storaged \
>&2 || echo "changed=true" >> "$GITHUB_OUTPUT"
- name: Trigger anaconda run
if: steps.affected.outputs.changed
run: |
test/common/make-bots
mkdir -p ~/.config/cockpit-dev
echo '${{ secrets.COCKPITUOUS_TOKEN }}' > ~/.config/cockpit-dev/github-token
ls -l ~/.config/cockpit-dev/github-token
bots/tests-trigger ${{ github.event.number }} fedora-rawhide-boot/cockpit-pr-${{ github.event.number }}@rhinstaller/anaconda