Skip to content

Run fstests

Run fstests #72

# SPDX-License-Identifier: GPL-2.0
#
# Run kdevops filesystem testing.
name: Run fstests
# A repository must have a .github/workflows/*.yml with a workflow_dispatch
# on the "Default branch" in order to make it available for other branches.
# Each branch can have custom input options.
#
# For XFS we disable the push option for the default branch, but you can add
# it for your branches or repositories where you do intent to want to trigger
# an automatic action right away.
#
on:
# push:
# branches:
# - '**'
pull_request:
branches:
- '**'
workflow_dispatch: # Add this for manual triggering of the workflow
inputs:
defconfig:
description: "Select defconfig"
required: false
default: "all profiles"
type: choice
options:
- "all profiles"
- "xfs_crc"
- "xfs_crc_logdev"
- "xfs_crc_rtdev"
- "xfs_crc_rtdev_extsize_28k"
- "xfs_crc_rtdev_extsize_64k"
- "xfs_reflink"
- "xfs_reflink_normapbt"
- "xfs_reflink_stripe_len"
- "xfs_reflink_nrext64"
- "xfs_reflink_logdev"
- "xfs_reflink_rtdev"
- "xfs_reflink_1024"
- "xfs_reflink_2k"
- "xfs_reflink_4k"
- "xfs_reflink_lbs"
- "xfs_reflink_8k_4ks"
- "xfs_reflink_16k_4ks"
- "xfs_reflink_32k_4ks"
- "xfs_reflink_64k_4ks"
- "xfs_reflink_dir_bsize_8k"
- "xfs_nocrc"
- "xfs_nocrc_512"
- "xfs_nocrc_1k"
- "xfs_nocrc_4k"
- "xfs_nocrc_lbs"
- "xfs-nocrc-8k-4ks"
- "xfs_nocrc_16k_4ks"
- "xfs_nocrc_32k_4ks"
- "xfs_nocrc_64k_4ks"
soak:
description: "Select soak duration"
required: false
default: "No soak"
type: choice
options:
- "No soak"
- "Low - 30 minutes"
- "Mid - 1 hour"
- "High - 2.5 hours"
- "Pathological - 48 hours"
group:
description: "Which test group to use"
required: false
default: "auto"
type: choice
options:
- "auto"
- "all"
- "quick"
tests:
description: "Select additional test coverage"
required: false
default: "all"
type: choice
options:
- "all"
- "custom"
- "generic/001"
- "generic/002"
- "generic/003"
- "generic/004"
- "generic/005"
- "generic/006"
- "generic/007"
- "generic/008"
- "generic/009"
- "generic/010"
- "generic/011"
- "generic/012"
- "generic/013"
- "generic/014"
- "generic/015"
- "generic/016"
- "generic/017"
- "generic/018"
- "generic/019"
- "generic/020"
- "generic/021"
- "generic/022"
- "generic/023"
- "generic/024"
- "generic/025"
- "generic/026"
- "generic/027"
- "generic/028"
- "generic/029"
- "generic/030"
- "generic/031"
- "generic/032"
- "generic/033"
- "generic/034"
- "generic/035"
- "generic/036"
- "generic/037"
- "generic/038"
- "generic/039"
- "generic/040"
- "generic/041"
- "generic/042"
- "generic/043"
- "generic/044"
- "generic/045"
- "generic/046"
- "generic/047"
- "generic/048"
- "generic/049"
- "generic/050"
- "generic/051"
- "generic/052"
- "generic/053"
- "generic/054"
- "generic/055"
- "generic/056"
- "generic/057"
- "generic/058"
- "generic/059"
- "generic/060"
- "generic/061"
- "generic/062"
- "generic/063"
- "generic/064"
- "generic/065"
- "generic/066"
- "generic/067"
- "generic/068"
- "generic/069"
- "generic/070"
- "generic/071"
- "generic/072"
- "generic/073"
- "generic/074"
- "generic/075"
- "generic/076"
- "generic/077"
- "generic/078"
- "generic/079"
- "generic/080"
- "generic/081"
- "generic/082"
- "generic/083"
- "generic/084"
- "generic/085"
- "generic/086"
- "generic/087"
- "generic/088"
- "generic/089"
- "generic/090"
- "generic/091"
- "generic/092"
- "generic/093"
- "generic/094"
- "generic/095"
- "generic/096"
- "generic/097"
- "generic/098"
- "generic/099"
- "generic/100"
- "generic/101"
- "generic/102"
- "generic/103"
- "generic/104"
- "generic/105"
- "generic/106"
- "generic/107"
- "generic/108"
- "generic/109"
- "generic/110"
- "generic/111"
- "generic/112"
- "generic/113"
- "generic/114"
- "generic/115"
- "generic/116"
- "generic/117"
- "generic/118"
- "generic/119"
- "generic/120"
- "generic/121"
- "generic/122"
- "generic/123"
- "generic/124"
- "generic/125"
- "generic/126"
- "generic/127"
- "generic/128"
- "generic/129"
- "generic/130"
- "generic/131"
- "generic/132"
- "generic/133"
- "generic/134"
- "generic/135"
- "generic/136"
- "generic/137"
- "generic/138"
- "generic/139"
- "generic/140"
- "generic/141"
- "generic/142"
- "generic/143"
- "generic/144"
- "generic/145"
- "generic/146"
- "generic/147"
- "generic/148"
- "generic/149"
- "generic/150"
- "generic/151"
- "generic/152"
- "generic/153"
- "generic/154"
- "generic/155"
- "generic/156"
- "generic/157"
- "generic/158"
- "generic/159"
- "generic/160"
- "generic/161"
- "generic/162"
- "generic/163"
- "generic/164"
- "generic/165"
- "generic/166"
- "generic/167"
- "generic/168"
- "generic/169"
- "generic/170"
- "generic/171"
- "generic/172"
- "generic/173"
- "generic/174"
- "generic/175"
- "generic/176"
- "generic/177"
- "generic/178"
- "generic/179"
- "generic/180"
- "generic/181"
- "generic/182"
- "generic/183"
- "generic/184"
- "generic/185"
- "generic/186"
- "generic/187"
- "generic/188"
- "generic/189"
- "generic/190"
- "generic/191"
- "generic/192"
- "generic/193"
- "generic/194"
- "generic/195"
- "generic/196"
- "generic/197"
- "generic/198"
- "generic/199"
- "generic/200"
- "generic/201"
- "generic/202"
- "generic/203"
- "generic/204"
- "generic/205"
- "generic/206"
- "generic/207"
- "generic/208"
- "generic/209"
- "generic/210"
- "generic/211"
- "generic/212"
- "generic/213"
- "generic/214"
- "generic/215"
- "generic/216"
- "generic/217"
- "generic/218"
- "generic/219"
- "generic/220"
- "generic/221"
- "generic/222"
- "generic/223"
- "generic/224"
- "generic/225"
- "generic/226"
- "generic/227"
- "generic/228"
- "generic/229"
- "generic/230"
- "generic/231"
- "generic/232"
- "generic/233"
- "generic/234"
- "generic/235"
- "generic/236"
- "generic/237"
- "generic/238"
- "generic/239"
- "generic/240"
- "generic/241"
- "generic/242"
- "generic/243"
- "generic/244"
- "generic/245"
- "generic/246"
- "generic/247"
- "generic/248"
- "generic/249"
- "generic/250"
- "generic/251"
- "generic/252"
- "generic/253"
- "generic/254"
- "generic/255"
- "generic/256"
- "generic/257"
- "generic/258"
- "generic/259"
- "generic/260"
- "generic/261"
- "generic/262"
- "generic/263"
- "generic/264"
- "generic/265"
- "generic/266"
- "generic/267"
- "generic/268"
- "generic/269"
- "generic/270"
- "generic/271"
- "generic/272"
- "generic/273"
- "generic/274"
- "generic/275"
- "generic/276"
- "generic/277"
- "generic/278"
- "generic/279"
- "generic/280"
- "generic/281"
- "generic/282"
- "generic/283"
- "generic/284"
- "generic/285"
- "generic/286"
- "generic/287"
- "generic/288"
- "generic/289"
- "generic/290"
- "generic/291"
- "generic/292"
- "generic/293"
- "generic/294"
- "generic/295"
- "generic/296"
- "generic/297"
- "generic/298"
- "generic/299"
- "generic/300"
- "generic/301"
- "generic/302"
- "generic/303"
- "generic/304"
- "generic/305"
- "generic/306"
- "generic/307"
- "generic/308"
- "generic/309"
- "generic/310"
- "generic/311"
- "generic/312"
- "generic/313"
- "generic/314"
- "generic/315"
- "generic/316"
- "generic/317"
- "generic/318"
- "generic/319"
- "generic/320"
- "generic/321"
- "generic/322"
- "generic/323"
- "generic/324"
- "generic/325"
- "generic/326"
- "generic/327"
- "generic/328"
- "generic/329"
- "generic/330"
- "generic/331"
- "generic/332"
- "generic/333"
- "generic/334"
- "generic/335"
- "generic/336"
- "generic/337"
- "generic/338"
- "generic/339"
- "generic/340"
- "generic/341"
- "generic/342"
- "generic/343"
- "generic/344"
- "generic/345"
- "generic/346"
- "generic/347"
- "generic/348"
- "generic/349"
- "generic/350"
- "generic/351"
- "generic/352"
- "generic/353"
- "generic/354"
- "generic/355"
- "generic/356"
- "generic/357"
- "generic/358"
- "generic/359"
- "generic/360"
- "generic/361"
- "generic/362"
- "generic/363"
- "generic/364"
- "generic/371"
- "generic/372"
- "generic/373"
- "generic/374"
- "generic/375"
- "generic/376"
- "generic/377"
- "generic/378"
- "generic/379"
- "generic/380"
- "generic/381"
- "generic/382"
- "generic/383"
- "generic/384"
- "generic/385"
- "generic/386"
- "generic/387"
- "generic/388"
- "generic/389"
- "generic/390"
- "generic/391"
- "generic/392"
- "generic/393"
- "generic/394"
- "generic/395"
- "generic/396"
- "generic/397"
- "generic/398"
- "generic/399"
- "generic/400"
- "generic/401"
- "generic/402"
- "generic/403"
- "generic/404"
- "generic/405"
- "generic/406"
- "generic/407"
- "generic/408"
- "generic/409"
- "generic/410"
- "generic/411"
- "generic/412"
- "generic/413"
- "generic/414"
- "generic/415"
- "generic/416"
- "generic/417"
- "generic/418"
- "generic/419"
- "generic/420"
- "generic/421"
- "generic/422"
- "generic/423"
- "generic/424"
- "generic/425"
- "generic/426"
- "generic/427"
- "generic/428"
- "generic/429"
- "generic/430"
- "generic/431"
- "generic/432"
- "generic/433"
- "generic/434"
- "generic/435"
- "generic/436"
- "generic/437"
- "generic/438"
- "generic/439"
- "generic/440"
- "generic/441"
- "generic/442"
- "generic/443"
- "generic/444"
- "generic/445"
- "generic/446"
- "generic/447"
- "generic/448"
- "generic/449"
- "generic/450"
- "generic/451"
- "generic/452"
- "generic/453"
- "generic/454"
- "generic/455"
- "generic/456"
- "generic/457"
- "generic/458"
- "generic/459"
- "generic/460"
- "generic/461"
- "generic/462"
- "generic/463"
- "generic/464"
- "generic/465"
- "generic/466"
- "generic/467"
- "generic/468"
- "generic/469"
- "generic/470"
- "generic/471"
- "generic/472"
- "generic/473"
- "generic/474"
- "generic/475"
- "generic/476"
- "generic/477"
- "generic/478"
- "generic/479"
- "generic/480"
- "generic/481"
- "generic/482"
- "generic/483"
- "generic/484"
- "generic/485"
- "generic/486"
- "generic/487"
- "generic/488"
- "generic/489"
- "generic/490"
- "generic/491"
- "generic/492"
- "generic/493"
- "generic/494"
- "generic/495"
- "generic/496"
- "generic/497"
- "generic/498"
- "generic/499"
- "generic/500"
- "generic/501"
- "generic/502"
- "generic/503"
- "generic/504"
- "generic/505"
- "generic/506"
- "generic/507"
- "generic/508"
- "generic/509"
- "generic/510"
- "generic/511"
- "generic/512"
- "generic/513"
- "generic/514"
- "generic/515"
- "generic/516"
- "generic/517"
- "generic/518"
- "generic/519"
- "generic/520"
- "generic/521"
- "generic/522"
- "generic/523"
- "generic/524"
- "generic/525"
- "generic/526"
- "generic/527"
- "generic/528"
- "generic/529"
- "generic/530"
- "generic/531"
- "generic/532"
- "generic/533"
- "generic/534"
- "generic/535"
- "generic/536"
- "generic/537"
- "generic/538"
- "generic/539"
- "generic/540"
- "generic/541"
- "generic/542"
- "generic/543"
- "generic/544"
- "generic/545"
- "generic/546"
- "generic/547"
- "generic/548"
- "generic/549"
- "generic/550"
- "generic/551"
- "generic/552"
- "generic/553"
- "generic/554"
- "generic/555"
- "generic/556"
- "generic/557"
- "generic/558"
- "generic/559"
- "generic/560"
- "generic/561"
- "generic/562"
- "generic/563"
- "generic/564"
- "generic/565"
- "generic/566"
- "generic/567"
- "generic/568"
- "generic/569"
- "generic/570"
- "generic/571"
- "generic/572"
- "generic/573"
- "generic/574"
- "generic/575"
- "generic/576"
- "generic/577"
- "generic/578"
- "generic/579"
- "generic/580"
- "generic/581"
- "generic/582"
- "generic/583"
- "generic/584"
- "generic/585"
- "generic/586"
- "generic/587"
- "generic/588"
- "generic/589"
- "generic/590"
- "generic/591"
- "generic/592"
- "generic/593"
- "generic/594"
- "generic/595"
- "generic/596"
- "generic/597"
- "generic/598"
- "generic/599"
- "generic/600"
- "generic/601"
- "generic/602"
- "generic/603"
- "generic/604"
- "generic/605"
- "generic/606"
- "generic/607"
- "generic/608"
- "generic/609"
- "generic/610"
- "generic/611"
- "generic/612"
- "generic/613"
- "generic/614"
- "generic/615"
- "generic/616"
- "generic/617"
- "generic/618"
- "generic/619"
- "generic/620"
- "generic/621"
- "generic/622"
- "generic/623"
- "generic/624"
- "generic/625"
- "generic/626"
- "generic/627"
- "generic/628"
- "generic/629"
- "generic/630"
- "generic/631"
- "generic/632"
- "generic/633"
- "generic/634"
- "generic/635"
- "generic/636"
- "generic/637"
- "generic/638"
- "generic/639"
- "generic/640"
- "generic/641"
- "generic/642"
- "generic/643"
- "generic/644"
- "generic/645"
- "generic/646"
- "generic/647"
- "generic/648"
- "generic/649"
- "generic/650"
- "generic/651"
- "generic/652"
- "generic/653"
- "generic/654"
- "generic/655"
- "generic/656"
- "generic/657"
- "generic/658"
- "generic/659"
- "generic/660"
- "generic/661"
- "generic/662"
- "generic/663"
- "generic/664"
- "generic/665"
- "generic/666"
- "generic/667"
- "generic/668"
- "generic/669"
- "generic/670"
- "generic/671"
- "generic/672"
- "generic/673"
- "generic/674"
- "generic/675"
- "generic/676"
- "generic/677"
- "generic/678"
- "generic/679"
- "generic/680"
- "generic/681"
- "generic/682"
- "generic/683"
- "generic/684"
- "generic/685"
- "generic/686"
- "generic/687"
- "generic/688"
- "generic/689"
- "generic/690"
- "generic/691"
- "generic/692"
- "generic/693"
- "generic/694"
- "generic/695"
- "generic/696"
- "generic/697"
- "generic/698"
- "generic/699"
- "generic/700"
- "generic/701"
- "generic/702"
- "generic/703"
- "generic/704"
- "generic/705"
- "generic/706"
- "generic/707"
- "generic/708"
- "generic/709"
- "generic/710"
- "generic/711"
- "generic/712"
- "generic/713"
- "generic/714"
- "generic/715"
- "generic/716"
- "generic/717"
- "generic/718"
- "generic/719"
- "generic/720"
- "generic/721"
- "generic/722"
- "generic/723"
- "generic/724"
- "generic/725"
- "generic/726"
- "generic/727"
- "generic/728"
- "generic/729"
- "generic/730"
- "generic/731"
- "generic/732"
- "generic/733"
- "generic/734"
- "generic/735"
- "generic/736"
- "generic/737"
- "generic/738"
- "generic/739"
- "generic/740"
- "generic/741"
- "generic/742"
- "generic/743"
- "generic/744"
- "generic/745"
- "generic/746"
- "generic/747"
- "generic/748"
- "generic/749"
- "generic/750"
- "generic/751"
- "generic/752"
- "generic/753"
- "generic/754"
- "generic/755"
- "generic/756"
- "perf/001"
- "xfs/001"
- "xfs/002"
- "xfs/003"
- "xfs/004"
- "xfs/005"
- "xfs/006"
- "xfs/007"
- "xfs/008"
- "xfs/009"
- "xfs/010"
- "xfs/011"
- "xfs/012"
- "xfs/013"
- "xfs/014"
- "xfs/015"
- "xfs/016"
- "xfs/017"
- "xfs/018"
- "xfs/019"
- "xfs/020"
- "xfs/021"
- "xfs/022"
- "xfs/023"
- "xfs/024"
- "xfs/025"
- "xfs/026"
- "xfs/027"
- "xfs/028"
- "xfs/029"
- "xfs/030"
- "xfs/031"
- "xfs/032"
- "xfs/033"
- "xfs/034"
- "xfs/035"
- "xfs/036"
- "xfs/037"
- "xfs/038"
- "xfs/039"
- "xfs/040"
- "xfs/041"
- "xfs/042"
- "xfs/043"
- "xfs/044"
- "xfs/045"
- "xfs/046"
- "xfs/047"
- "xfs/048"
- "xfs/049"
- "xfs/050"
- "xfs/051"
- "xfs/052"
- "xfs/053"
- "xfs/054"
- "xfs/055"
- "xfs/056"
- "xfs/057"
- "xfs/058"
- "xfs/059"
- "xfs/060"
- "xfs/061"
- "xfs/062"
- "xfs/063"
- "xfs/064"
- "xfs/065"
- "xfs/066"
- "xfs/067"
- "xfs/068"
- "xfs/069"
- "xfs/070"
- "xfs/071"
- "xfs/072"
- "xfs/073"
- "xfs/074"
- "xfs/075"
- "xfs/076"
- "xfs/077"
- "xfs/078"
- "xfs/079"
- "xfs/080"
- "xfs/081"
- "xfs/082"
- "xfs/083"
- "xfs/084"
- "xfs/085"
- "xfs/086"
- "xfs/087"
- "xfs/088"
- "xfs/089"
- "xfs/090"
- "xfs/091"
- "xfs/092"
- "xfs/093"
- "xfs/094"
- "xfs/095"
- "xfs/096"
- "xfs/097"
- "xfs/098"
- "xfs/099"
- "xfs/100"
- "xfs/101"
- "xfs/102"
- "xfs/103"
- "xfs/104"
- "xfs/105"
- "xfs/106"
- "xfs/107"
- "xfs/108"
- "xfs/109"
- "xfs/110"
- "xfs/111"
- "xfs/112"
- "xfs/113"
- "xfs/114"
- "xfs/115"
- "xfs/116"
- "xfs/117"
- "xfs/118"
- "xfs/119"
- "xfs/120"
- "xfs/121"
- "xfs/122"
- "xfs/123"
- "xfs/124"
- "xfs/125"
- "xfs/126"
- "xfs/127"
- "xfs/128"
- "xfs/129"
- "xfs/130"
- "xfs/131"
- "xfs/132"
- "xfs/133"
- "xfs/134"
- "xfs/135"
- "xfs/136"
- "xfs/137"
- "xfs/138"
- "xfs/139"
- "xfs/140"
- "xfs/141"
- "xfs/142"
- "xfs/143"
- "xfs/144"
- "xfs/145"
- "xfs/146"
- "xfs/147"
- "xfs/148"
- "xfs/149"
- "xfs/150"
- "xfs/151"
- "xfs/152"
- "xfs/153"
- "xfs/154"
- "xfs/155"
- "xfs/156"
- "xfs/157"
- "xfs/158"
- "xfs/159"
- "xfs/160"
- "xfs/161"
- "xfs/162"
- "xfs/163"
- "xfs/164"
- "xfs/165"
- "xfs/166"
- "xfs/167"
- "xfs/168"
- "xfs/169"
- "xfs/170"
- "xfs/171"
- "xfs/172"
- "xfs/173"
- "xfs/174"
- "xfs/175"
- "xfs/176"
- "xfs/177"
- "xfs/178"
- "xfs/179"
- "xfs/180"
- "xfs/181"
- "xfs/182"
- "xfs/183"
- "xfs/184"
- "xfs/185"
- "xfs/186"
- "xfs/187"
- "xfs/188"
- "xfs/189"
- "xfs/190"
- "xfs/191"
- "xfs/192"
- "xfs/193"
- "xfs/194"
- "xfs/195"
- "xfs/196"
- "xfs/197"
- "xfs/198"
- "xfs/199"
- "xfs/200"
- "xfs/201"
- "xfs/202"
- "xfs/203"
- "xfs/204"
- "xfs/205"
- "xfs/206"
- "xfs/207"
- "xfs/208"
- "xfs/209"
- "xfs/210"
- "xfs/211"
- "xfs/212"
- "xfs/213"
- "xfs/214"
- "xfs/215"
- "xfs/216"
- "xfs/217"
- "xfs/218"
- "xfs/219"
- "xfs/220"
- "xfs/221"
- "xfs/222"
- "xfs/223"
- "xfs/224"
- "xfs/225"
- "xfs/226"
- "xfs/227"
- "xfs/228"
- "xfs/229"
- "xfs/230"
- "xfs/231"
- "xfs/232"
- "xfs/233"
- "xfs/234"
- "xfs/235"
- "xfs/236"
- "xfs/237"
- "xfs/238"
- "xfs/239"
- "xfs/240"
- "xfs/241"
- "xfs/242"
- "xfs/243"
- "xfs/244"
- "xfs/245"
- "xfs/246"
- "xfs/247"
- "xfs/248"
- "xfs/249"
- "xfs/250"
- "xfs/251"
- "xfs/252"
- "xfs/253"
- "xfs/254"
- "xfs/255"
- "xfs/256"
- "xfs/257"
- "xfs/258"
- "xfs/259"
- "xfs/260"
- "xfs/261"
- "xfs/262"
- "xfs/263"
- "xfs/264"
- "xfs/265"
- "xfs/266"
- "xfs/267"
- "xfs/268"
- "xfs/269"
- "xfs/270"
- "xfs/271"
- "xfs/272"
- "xfs/273"
- "xfs/274"
- "xfs/275"
- "xfs/276"
- "xfs/277"
- "xfs/278"
- "xfs/279"
- "xfs/280"
- "xfs/281"
- "xfs/282"
- "xfs/283"
- "xfs/284"
- "xfs/285"
- "xfs/286"
- "xfs/287"
- "xfs/288"
- "xfs/289"
- "xfs/290"
- "xfs/291"
- "xfs/292"
- "xfs/293"
- "xfs/294"
- "xfs/295"
- "xfs/296"
- "xfs/297"
- "xfs/298"
- "xfs/299"
- "xfs/300"
- "xfs/301"
- "xfs/302"
- "xfs/303"
- "xfs/304"
- "xfs/305"
- "xfs/306"
- "xfs/307"
- "xfs/308"
- "xfs/309"
- "xfs/310"
- "xfs/311"
- "xfs/312"
- "xfs/313"
- "xfs/314"
- "xfs/315"
- "xfs/316"
- "xfs/317"
- "xfs/318"
- "xfs/319"
- "xfs/320"
- "xfs/321"
- "xfs/322"
- "xfs/323"
- "xfs/324"
- "xfs/325"
- "xfs/326"
- "xfs/327"
- "xfs/328"
- "xfs/329"
- "xfs/330"
- "xfs/331"
- "xfs/332"
- "xfs/333"
- "xfs/334"
- "xfs/335"
- "xfs/336"
- "xfs/337"
- "xfs/338"
- "xfs/339"
- "xfs/340"
- "xfs/341"
- "xfs/342"
- "xfs/343"
- "xfs/344"
- "xfs/345"
- "xfs/346"
- "xfs/347"
- "xfs/348"
- "xfs/349"
- "xfs/350"
- "xfs/351"
- "xfs/352"
- "xfs/353"
- "xfs/354"
- "xfs/355"
- "xfs/356"
- "xfs/357"
- "xfs/358"
- "xfs/359"
- "xfs/360"
- "xfs/361"
- "xfs/362"
- "xfs/363"
- "xfs/364"
- "xfs/365"
- "xfs/366"
- "xfs/367"
- "xfs/368"
- "xfs/369"
- "xfs/370"
- "xfs/371"
- "xfs/372"
- "xfs/373"
- "xfs/374"
- "xfs/375"
- "xfs/376"
- "xfs/377"
- "xfs/378"
- "xfs/379"
- "xfs/380"
- "xfs/381"
- "xfs/382"
- "xfs/383"
- "xfs/384"
- "xfs/385"
- "xfs/386"
- "xfs/387"
- "xfs/388"
- "xfs/389"
- "xfs/390"
- "xfs/391"
- "xfs/392"
- "xfs/393"
- "xfs/394"
- "xfs/395"
- "xfs/396"
- "xfs/397"
- "xfs/398"
- "xfs/399"
- "xfs/400"
- "xfs/401"
- "xfs/402"
- "xfs/403"
- "xfs/404"
- "xfs/405"
- "xfs/406"
- "xfs/407"
- "xfs/408"
- "xfs/409"
- "xfs/410"
- "xfs/411"
- "xfs/412"
- "xfs/413"
- "xfs/414"
- "xfs/415"
- "xfs/416"
- "xfs/417"
- "xfs/418"
- "xfs/419"
- "xfs/420"
- "xfs/421"
- "xfs/422"
- "xfs/423"
- "xfs/424"
- "xfs/425"
- "xfs/426"
- "xfs/427"
- "xfs/428"
- "xfs/429"
- "xfs/430"
- "xfs/431"
- "xfs/432"
- "xfs/433"
- "xfs/434"
- "xfs/435"
- "xfs/436"
- "xfs/437"
- "xfs/438"
- "xfs/439"
- "xfs/440"
- "xfs/441"
- "xfs/442"
- "xfs/443"
- "xfs/444"
- "xfs/445"
- "xfs/446"
- "xfs/447"
- "xfs/448"
- "xfs/449"
- "xfs/450"
- "xfs/451"
- "xfs/452"
- "xfs/453"
- "xfs/454"
- "xfs/455"
- "xfs/456"
- "xfs/457"
- "xfs/458"
- "xfs/459"
- "xfs/460"
- "xfs/461"
- "xfs/462"
- "xfs/463"
- "xfs/464"
- "xfs/465"
- "xfs/466"
- "xfs/467"
- "xfs/468"
- "xfs/469"
- "xfs/470"
- "xfs/471"
- "xfs/472"
- "xfs/473"
- "xfs/474"
- "xfs/475"
- "xfs/476"
- "xfs/477"
- "xfs/478"
- "xfs/479"
- "xfs/480"
- "xfs/481"
- "xfs/482"
- "xfs/483"
- "xfs/484"
- "xfs/485"
- "xfs/486"
- "xfs/487"
- "xfs/488"
- "xfs/489"
- "xfs/490"
- "xfs/491"
- "xfs/492"
- "xfs/493"
- "xfs/494"
- "xfs/495"
- "xfs/496"
- "xfs/497"
- "xfs/498"
- "xfs/499"
- "xfs/500"
- "xfs/501"
- "xfs/502"
- "xfs/503"
- "xfs/504"
- "xfs/505"
- "xfs/506"
- "xfs/507"
- "xfs/508"
- "xfs/509"
- "xfs/510"
- "xfs/511"
- "xfs/512"
- "xfs/513"
- "xfs/514"
- "xfs/515"
- "xfs/516"
- "xfs/517"
- "xfs/518"
- "xfs/519"
- "xfs/520"
- "xfs/521"
- "xfs/522"
- "xfs/523"
- "xfs/524"
- "xfs/525"
- "xfs/526"
- "xfs/527"
- "xfs/528"
- "xfs/529"
- "xfs/530"
- "xfs/531"
- "xfs/532"
- "xfs/533"
- "xfs/534"
- "xfs/535"
- "xfs/536"
- "xfs/537"
- "xfs/538"
- "xfs/539"
- "xfs/540"
- "xfs/541"
- "xfs/542"
- "xfs/543"
- "xfs/544"
- "xfs/545"
- "xfs/546"
- "xfs/547"
- "xfs/548"
- "xfs/549"
- "xfs/550"
- "xfs/551"
- "xfs/552"
- "xfs/553"
- "xfs/554"
- "xfs/555"
- "xfs/556"
- "xfs/557"
- "xfs/558"
- "xfs/559"
- "xfs/560"
- "xfs/561"
- "xfs/562"
- "xfs/563"
- "xfs/564"
- "xfs/565"
- "xfs/566"
- "xfs/567"
- "xfs/568"
- "xfs/569"
- "xfs/570"
- "xfs/571"
- "xfs/572"
- "xfs/573"
- "xfs/574"
- "xfs/575"
- "xfs/576"
- "xfs/577"
- "xfs/578"
- "xfs/579"
- "xfs/580"
- "xfs/581"
- "xfs/582"
- "xfs/583"
- "xfs/584"
- "xfs/585"
- "xfs/586"
- "xfs/587"
- "xfs/588"
- "xfs/589"
- "xfs/590"
- "xfs/591"
- "xfs/592"
- "xfs/593"
- "xfs/594"
- "xfs/595"
- "xfs/596"
- "xfs/597"
- "xfs/598"
- "xfs/599"
- "xfs/600"
- "xfs/601"
- "xfs/602"
- "xfs/603"
- "xfs/604"
- "xfs/605"
- "xfs/606"
- "xfs/607"
- "xfs/608"
- "xfs/612"
- "xfs/613"
- "xfs/614"
- "xfs/615"
- "xfs/616"
- "xfs/617"
- "xfs/618"
- "xfs/619"
- "xfs/620"
- "xfs/621"
- "xfs/622"
- "xfs/623"
- "xfs/624"
- "xfs/625"
- "xfs/626"
- "xfs/627"
- "xfs/628"
- "xfs/708"
- "xfs/709"
- "xfs/710"
- "xfs/711"
- "xfs/712"
- "xfs/713"
- "xfs/714"
- "xfs/715"
- "xfs/716"
- "xfs/717"
- "xfs/718"
- "xfs/719"
- "xfs/720"
- "xfs/721"
- "xfs/722"
- "xfs/723"
- "xfs/724"
- "xfs/725"
- "xfs/726"
- "xfs/727"
- "xfs/728"
- "xfs/729"
- "xfs/730"
- "xfs/731"
- "xfs/732"
- "xfs/733"
- "xfs/734"
- "xfs/735"
- "xfs/736"
- "xfs/737"
- "xfs/738"
- "xfs/739"
- "xfs/740"
- "xfs/741"
- "xfs/742"
- "xfs/743"
- "xfs/744"
- "xfs/745"
- "xfs/746"
- "xfs/747"
- "xfs/748"
- "xfs/749"
- "xfs/750"
- "xfs/751"
- "xfs/752"
- "xfs/753"
- "xfs/754"
- "xfs/755"
- "xfs/756"
- "xfs/757"
- "xfs/758"
- "xfs/759"
- "xfs/760"
- "xfs/761"
- "xfs/762"
- "xfs/763"
- "xfs/764"
- "xfs/765"
- "xfs/766"
- "xfs/767"
- "xfs/768"
- "xfs/769"
- "xfs/770"
- "xfs/771"
- "xfs/772"
- "xfs/773"
- "xfs/774"
- "xfs/775"
- "xfs/776"
- "xfs/777"
- "xfs/778"
- "xfs/779"
- "xfs/780"
- "xfs/781"
- "xfs/782"
- "xfs/783"
- "xfs/784"
- "xfs/785"
- "xfs/786"
- "xfs/787"
- "xfs/788"
- "xfs/789"
- "xfs/790"
- "xfs/791"
- "xfs/792"
- "xfs/793"
- "xfs/794"
- "xfs/795"
- "xfs/796"
- "xfs/797"
- "xfs/798"
- "xfs/799"
- "xfs/800"
- "xfs/801"
- "xfs/802"
- "xfs/803"
- "xfs/804"
- "xfs/805"
- "xfs/806"
custom_tests:
description: "Enter custom test(s) (space or comma-separated: 'test1 test2' or 'test1,test2')"
required: false
type: string
default: ""
timeout_minutes:
description: "Timeout in minutes"
required: true
default: 43200 # 1 month
type: choice
options:
- 1440 # 1 day
- 2880 # 2 days
- 4320 # 3 days
- 5760 # 4 days
- 7200 # 5 days
jobs:
fstests_input_validation:
name: Process input parameters for fstests
runs-on: [self-hosted, Linux, X64]
timeout-minutes: ${{ fromJson(github.event.inputs.timeout_minutes || '7200') }}
outputs:
kdevops_test_timeout: ${{ steps.set_timeout.outputs.kdevops_test_timeout }}
group: ${{ steps.process_group.outputs.group }}
selected_tests: ${{ steps.process_tests.outputs.tests }}
kdevops_defconfig: ${{ steps.process_defconfig.outputs.defconfig }}
soak: ${{ steps.process_soak.outputs.soak }}
steps:
- name: Process timeout
id: set_timeout
run: |
MAX_TIMEOUT_ALLOWED_GITHUB_SELF_HOSTED="7200"
TIMEOUT="$MAX_TIMEOUT_ALLOWED_GITHUB_SELF_HOSTED"
# Note: Using curly braces for arithmetic comparison
REQUESTED_TIMEOUT="${{ fromJson((github.event.inputs && github.event.inputs.timeout_minutes) || '7200') }}"
if [[ -n "$REQUESTED_TIMEOUT" ]]; then
if [[ ${REQUESTED_TIMEOUT} -gt ${MAX_TIMEOUT_ALLOWED_GITHUB_SELF_HOSTED} ]]; then
echo "Requested timeout not allowed for github self-hosted runners."
echo "The max allowed today is $MAX_TIMEOUT_ALLOWED_GITHUB_SELF_HOSTED minutes, see:"
echo ""
echo "https://github.blog/changelog/2024-04-04-actions-jobs-executing-on-self-hosted-runners-will-now-timeout-in-5-days/"
echo ""
echo "We will use the max value"
else
TIMEOUT=$REQUESTED_TIMEOUT
fi
fi
echo "Setting timeout to $TIMEOUT minutes"
echo "kdevops_test_timeout=$TIMEOUT" >> $GITHUB_OUTPUT
- name: Process group selection
id: process_group
run: |
if [[ "${{ github.event.inputs.group }}" == "auto" ]] || [[ "${{ github.event.inputs.group }}" == "" ]]; then
echo "Default group: auto"
echo "group=auto" >> $GITHUB_OUTPUT
else
echo "group=${{ github.event.inputs.group }}" >> $GITHUB_OUTPUT
echo "Custom group selected: ${{ github.event.inputs.group }}"
fi
- name: Process test selection
id: process_tests
run: |
if [[ "${{ github.event.inputs.tests }}" == "custom" ]]; then
if [[ -n "${{ github.event.inputs.custom_tests }}" ]]; then
# Replace commas with spaces and collapse multiple spaces into single spaces
TESTS=$(echo "${{ github.event.inputs.custom_tests }}" | tr ',' ' ' | tr -s ' ')
# Trim leading and trailing whitespace
TESTS=$(echo "$TESTS" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
echo "tests=$TESTS" >> $GITHUB_OUTPUT
echo "Custom tests selected: $TESTS"
else
echo "No custom tests provided, falling back to all"
echo "tests=all" >> $GITHUB_OUTPUT
fi
elif [[ "${{ github.event.inputs.tests }}" == "" ||
"${{ github.event.inputs.tests }}" == "all" ]]; then
echo "Automated test so no specific test requested"
echo "tests=all" >> $GITHUB_OUTPUT
else
echo "Custom test: ${{ github.event.inputs.tests }}"
echo "tests=${{ github.event.inputs.tests }}" >> $GITHUB_OUTPUT
fi
- name: Process defconfig
id: process_defconfig
run: |
KDEVOPS_DEFCONFIG=$(basename ${{ github.repository }})
if [[ "${{ github.event.inputs.defconfig }}" == "all profiles" ]] || [[ "${{ github.event.inputs.defconfig }}" == "" ]]; then
KDEVOPS_DEFCONFIG=$(basename ${{ github.repository }})
else
KDEVOPS_DEFCONFIG="${{ github.event.inputs.defconfig }}"
fi
echo "defconfig=$KDEVOPS_DEFCONFIG" >> $GITHUB_OUTPUT
- name: Process soak
id: process_soak
run: |
if [[ "${{ github.event.inputs.soak }}" == "No soak" ]] || [[ "${{ github.event.inputs.soak }}" == "" ]]; then
echo "Using default soak, that is, we don't soak"
echo "soak=nosoak" >> $GITHUB_OUTPUT
elif [[ "${{ github.event.inputs.soak }}" == "Low - 30 minutes" ]]; then
echo "soak=1800" >> $GITHUB_OUTPUT
elif [[ "${{ github.event.inputs.soak }}" == "Mid - 1 hour" ]]; then
echo "soak=3600" >> $GITHUB_OUTPUT
elif [[ "${{ github.event.inputs.soak }}" == "High - 2.5 hours" ]]; then
echo "soak=9900" >> $GITHUB_OUTPUT
elif [[ "${{ github.event.inputs.soak }}" == "Pathological - 48 hours" ]]; then
echo "soak=172800" >> $GITHUB_OUTPUT
else
echo "This custom soak option not supported: ${{ github.event.inputs.soak }}"
exit 1
fi
initialize_kdevops:
needs: fstests_input_validation
name: Initialize kdevops environment
uses: ./.github/workflows/kdevops-init.yml
with:
kdevops_defconfig: ${{ needs.fstests_input_validation.outputs.kdevops_defconfig }}
selected_tests: ${{ needs.fstests_input_validation.outputs.tests }}
soak: ${{ needs.fstests_input_validation.outputs.soak }}
group: ${{ needs.fstests_input_validation.outputs.group }}
secrets: inherit
run_kdevops_fstests:
needs: [fstests_input_validation, initialize_kdevops]
name: Run CI tests
runs-on: [self-hosted, Linux, X64]
timeout-minutes: 43200
steps:
- name: Run CI tests
run: |
cd kdevops
if [[ "${{ needs.fstests_input_validation.outputs.selected_tests }}" == "all" ]]; then
echo "Running all the tests ..."
nohup stdbuf -oL bash -c 'make ci-test' > ci.log 2>&1 &
else
echo "Running selective tests: ${{ needs.fstests_input_validation.outputs.selected_tests }}"
nohup stdbuf -oL bash -c 'make fstests-baseline TESTS="${{ needs.fstests_input_validation.outputs.selected_tests }}"' > ci.log 2>&1 &
fi
echo $! > ci.pid
CI_WATCHDOG="./scripts/workflows/fstests/fstests_watchdog.py hosts baseline"
while kill -0 $(cat ci.pid) 2> /dev/null; do
$CI_WATCHDOG || echo watchdog barfed
sleep 60
done
make fstests-show-results > ci.commit_extra
if ! grep -E "failures, [1-9]|errors, [1-9]" ci.commit_extra; then
echo "ok" > ci.result
fi
cleanup-kdevops:
needs: run_kdevops_fstests
if: always()
uses: ./.github/workflows/kdevops-cleanup.yml
secrets: inherit