Skip to content

Update test_run_qna.yaml #47

Update test_run_qna.yaml

Update test_run_qna.yaml #47

Workflow file for this run

---
name: test_run_qna
on:
push:
paths:
- ".github/workflows/test_run_qna.yaml"
- "CMD/bigfix_run_qna_win.bat"
- "bash/bigfix_run_qna_debian.sh"
- "bash/bigfix_run_qna_macos.sh"
- "bash/bigfix_run_qna_rhel_family.sh"
- "bash/bigfix_run_qna_ubuntu.sh"
branches:
- "**"
env:
relevance: ("Demo!", it) of ( (it as string) of operating system ; (it as string) of version of client ; elements of it ) of sets of pathnames of (files of it; folders of it) of folders ("/tmp";"/Windows/Temp")
# TODO: add OSes: Raspbian, Amazon Linux, SUSE Linux Enterprise, OpenSUSE Leap
# https://github.com/pguyot/arm-runner-action
jobs:
test_run_qna:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
[
macos-latest,
windows-latest,
windows-2019,
ubuntu-24.04,
ubuntu-22.04,
ubuntu-20.04,
]
steps:
- uses: actions/checkout@v4
# https://stackoverflow.com/questions/57946173/github-actions-run-step-on-specific-os
- name: run qna linux
if: runner.os == 'Linux'
# https://github.com/jgstew/tools/blob/master/bash/bigfix_run_qna_debian.sh
run: |
bash bash/bigfix_run_qna_ubuntu.sh '${{ env.relevance }}' > qna_output.txt
cat qna_output.txt
cat qna_output.txt | grep "A: " | sed 's/^.*: //' > qna_markdown.txt
echo "## Linux Ubuntu QNA:" >> $GITHUB_STEP_SUMMARY
echo "### Errors:" >> $GITHUB_STEP_SUMMARY
cat qna_output.txt | grep "E: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
echo "### Result Type:" >> $GITHUB_STEP_SUMMARY
cat qna_output.txt | grep "I: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
echo "### Time Taken:" >> $GITHUB_STEP_SUMMARY
cat qna_output.txt | grep "T: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
echo "### Answers:" >> $GITHUB_STEP_SUMMARY
echo 'Q: `${{ env.relevance }}`' >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
cat qna_markdown.txt >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
- name: run qna mac
if: runner.os == 'macOS'
# https://github.com/jgstew/tools/blob/master/bash/bigfix_run_qna_macos.sh
run: |
bash bash/bigfix_run_qna_macos.sh '${{ env.relevance }}' > qna_output.txt
cat qna_output.txt
cat qna_output.txt | grep "A: " | sed 's/^.*: //' > qna_markdown.txt
echo "## MacOS QNA:" >> $GITHUB_STEP_SUMMARY
echo "### Errors:" >> $GITHUB_STEP_SUMMARY
cat qna_output.txt | grep "E: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
echo "### Result Type:" >> $GITHUB_STEP_SUMMARY
cat qna_output.txt | grep "I: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
echo "### Time Taken:" >> $GITHUB_STEP_SUMMARY
cat qna_output.txt | grep "T: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
echo "### Answers:" >> $GITHUB_STEP_SUMMARY
echo 'Q: `${{ env.relevance }}`' >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
cat qna_markdown.txt >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
- name: run qna windows
if: runner.os == 'Windows'
# https://github.com/jgstew/tools/blob/master/CMD/bigfix_run_qna_win.bat
run: |
echo '${{ env.relevance }}' | CMD /C CMD\bigfix_run_qna_win.bat > qna_output.txt
cat qna_output.txt
cat qna_output.txt | Select-String -Pattern "A: (.+)" | % { $_.Matches } | % { "" + $_.Groups[1].Value } > qna_markdown.txt
echo "## Windows QNA:" | Out-File -FilePath $Env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
echo "### Errors:" | Out-File -FilePath $Env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
cat qna_output.txt | Select-String -Pattern "E: (.+)" | % { $_.Matches } | % { "" + $_.Groups[1].Value } | Out-File -FilePath $Env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
echo "### Result Type:" | Out-File -FilePath $Env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
cat qna_output.txt | Select-String -Pattern "I: (.+)" | % { $_.Matches } | % { "" + $_.Groups[1].Value } | Out-File -FilePath $Env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
echo "### Time Taken:" | Out-File -FilePath $Env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
cat qna_output.txt | Select-String -Pattern "T: (.+)" | % { $_.Matches } | % { "" + $_.Groups[1].Value } | Out-File -FilePath $Env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
echo "### Answers:" | Out-File -FilePath $Env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
echo 'Q: ``${{ env.relevance }}``' | Out-File -FilePath $Env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
echo "``````" | Out-File -FilePath $Env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
cat qna_markdown.txt | Out-File -FilePath $Env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
echo "``````" | Out-File -FilePath $Env:GITHUB_STEP_SUMMARY -Encoding utf8 -Append
test_run_qna_docker_rhel_family:
runs-on: ubuntu-latest
strategy:
matrix:
container-image:
[
"redhat/ubi8:latest",
"redhat/ubi9:latest",
"almalinux:latest",
"oraclelinux:9",
"rockylinux:9",
]
container:
image: ${{ matrix.container-image }}
steps:
- uses: actions/checkout@v4
# https://stackoverflow.com/questions/57946173/github-actions-run-step-on-specific-os
- name: install cpio
run: dnf --assumeyes install cpio
- name: run qna linux rhel
if: runner.os == 'Linux'
# https://github.com/jgstew/tools/blob/master/bash/bigfix_run_qna_debian.sh
run: |
bash bash/bigfix_run_qna_rhel_family.sh '${{ env.relevance }}' > qna_output.txt
cat qna_output.txt
cat qna_output.txt | grep "A: " | sed 's/^.*: //' > qna_markdown.txt
echo "## Linux RHEL Family QNA:" >> $GITHUB_STEP_SUMMARY
echo "### Errors:" >> $GITHUB_STEP_SUMMARY
cat qna_output.txt | grep "E: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
echo "### Result Type:" >> $GITHUB_STEP_SUMMARY
cat qna_output.txt | grep "I: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
echo "### Time Taken:" >> $GITHUB_STEP_SUMMARY
cat qna_output.txt | grep "T: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
echo "### Answers:" >> $GITHUB_STEP_SUMMARY
echo 'Q: `${{ env.relevance }}`' >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
cat qna_markdown.txt >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
test_run_qna_docker_debian:
runs-on: ubuntu-latest
strategy:
matrix:
container-image: ["debian:latest", "debian:11"]
container:
image: ${{ matrix.container-image }}
steps:
- uses: actions/checkout@v4
- name: install prereqs
run: |
apt-get -y update
apt-get install -y curl binutils
# https://stackoverflow.com/questions/57946173/github-actions-run-step-on-specific-os
- name: run qna linux debian
if: runner.os == 'Linux'
# https://github.com/jgstew/tools/blob/master/bash/bigfix_run_qna_debian.sh
run: |
bash bash/bigfix_run_qna_debian.sh '${{ env.relevance }}' > qna_output.txt
cat qna_output.txt
cat qna_output.txt | grep "A: " | sed 's/^.*: //' > qna_markdown.txt
echo "## Linux Debian QNA:" >> $GITHUB_STEP_SUMMARY
echo "### Errors:" >> $GITHUB_STEP_SUMMARY
cat qna_output.txt | grep "E: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
echo "### Result Type:" >> $GITHUB_STEP_SUMMARY
cat qna_output.txt | grep "I: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
echo "### Time Taken:" >> $GITHUB_STEP_SUMMARY
cat qna_output.txt | grep "T: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
echo "### Answers:" >> $GITHUB_STEP_SUMMARY
echo 'Q: `${{ env.relevance }}`' >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
cat qna_markdown.txt >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
# test_run_qna_docker_suse_family:
# runs-on: ubuntu-latest
# strategy:
# matrix:
# container-image: ["opensuse/tumbleweed:latest"]
# container:
# image: ${{ matrix.container-image }}
# steps:
# - name: install prereqs
# # https://software.opensuse.org/download.html?project=Base%3ASystem&package=tar
# run: |
# zypper --no-gpg-checks --gpg-auto-import-keys --non-interactive addrepo https://download.opensuse.org/repositories/Base:System/openSUSE_Tumbleweed/Base:System.repo
# zypper install --no-confirm tar
# - uses: actions/checkout@v4
# # https://stackoverflow.com/questions/57946173/github-actions-run-step-on-specific-os
# - name: run qna linux suse
# if: runner.os == 'Linux'
# # https://github.com/jgstew/tools/blob/master/bash/bigfix_run_qna_debian.sh
# run: |
# bash bash/bigfix_run_qna_suse_family.sh '${{ env.relevance }}' > qna_output.txt
# cat qna_output.txt
# cat qna_output.txt | grep "A: " | sed 's/^.*: //' > qna_markdown.txt
# echo "## Linux SUSE QNA:" >> $GITHUB_STEP_SUMMARY
# echo "### Errors:" >> $GITHUB_STEP_SUMMARY
# cat qna_output.txt | grep "E: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
# echo "### Result Type:" >> $GITHUB_STEP_SUMMARY
# cat qna_output.txt | grep "I: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
# echo "### Time Taken:" >> $GITHUB_STEP_SUMMARY
# cat qna_output.txt | grep "T: " | sed 's/^.*: //' >> $GITHUB_STEP_SUMMARY
# echo "### Answers:" >> $GITHUB_STEP_SUMMARY
# echo 'Q: `${{ env.relevance }}`' >> $GITHUB_STEP_SUMMARY
# echo '```' >> $GITHUB_STEP_SUMMARY
# cat qna_markdown.txt >> $GITHUB_STEP_SUMMARY
# echo '```' >> $GITHUB_STEP_SUMMARY
# References:
# - https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary
# - https://stackoverflow.com/questions/61326842/powershell-how-to-capture-a-string-of-text-after-a-certain-pattern-but-without-i
# - https://stackoverflow.com/questions/10358547/how-to-grep-for-contents-after-pattern
# - https://www.jamescroft.co.uk/setting-github-actions-environment-variables-in-powershell/