mirror of
https://github.com/kernelkit/infix.git
synced 2026-07-22 01:13:00 +02:00
112 lines
3.2 KiB
YAML
112 lines
3.2 KiB
YAML
name: Test Infix
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
infix_repo:
|
|
description: 'Repo to checkout (for spin overrides)'
|
|
required: false
|
|
default: kernelkit/infix
|
|
type: string
|
|
|
|
workflow_call:
|
|
inputs:
|
|
target:
|
|
required: true
|
|
type: string
|
|
name:
|
|
required: true
|
|
type: string
|
|
flavor:
|
|
required: false
|
|
type: string
|
|
default: ''
|
|
infix_repo:
|
|
required: false
|
|
type: string
|
|
default: kernelkit/infix
|
|
ninepm-conf:
|
|
required: false
|
|
type: string
|
|
default: ''
|
|
|
|
env:
|
|
FLV: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.flavor || inputs.flavor }}
|
|
INFIX_REPO: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.infix_repo || inputs.infix_repo }}
|
|
NINEPM_CONF: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.ninepm-conf || inputs.ninepm-conf }}
|
|
|
|
jobs:
|
|
test:
|
|
name: Regression Test ${{ inputs.name }} ${{ inputs.target }}
|
|
runs-on: [ self-hosted, regression ]
|
|
steps:
|
|
- name: Checkout infix repo
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: ${{ env.INFIX_REPO }}
|
|
ref: ${{ github.ref }}
|
|
clean: true
|
|
fetch-depth: 0
|
|
submodules: recursive
|
|
|
|
- name: Set Build Variables
|
|
id: vars
|
|
run: |
|
|
if [ -n "${{ needs.build.outputs.build_id }}" ]; then
|
|
echo "INFIX_BUILD_ID=${{ needs.build.outputs.build_id }}" \
|
|
>>$GITHUB_ENV
|
|
fi
|
|
|
|
echo "flv=$FLV" >> $GITHUB_OUTPUT
|
|
|
|
- name: Configure ${{ inputs.target }}${{ steps.vars.outputs.flv }}
|
|
run: |
|
|
make ${{ inputs.target }}${{ steps.vars.outputs.flv }}_defconfig
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
pattern: "artifact-*"
|
|
merge-multiple: true
|
|
|
|
- name: Restore x86-64${{ steps.vars.outputs.flv }} output/
|
|
run: |
|
|
target=${{ inputs.target }}
|
|
name=${{ inputs.name }}
|
|
|
|
ls -l
|
|
mkdir -p output
|
|
mv ${name}-${target}.tar.gz output/
|
|
cd output/
|
|
tar xf ${name}-${target}.tar.gz
|
|
ln -s ${name}-${target} images
|
|
|
|
- name: Regression Test x86_64${{ steps.vars.outputs.flv }}
|
|
run: |
|
|
if [ -n "$NINEPM_CONF" ]; then
|
|
export NINEPM_PROJ_CONFIG="${GITHUB_WORKSPACE}/$NINEPM_CONF"
|
|
echo "DEBUG: NINEPM_PROJ_CONFIG is '$NINEPM_PROJ_CONFIG'"
|
|
fi
|
|
make test
|
|
|
|
- name: Publish Test Result for x86_64${{ steps.vars.outputs.flv }}
|
|
# Ensure this runs even if Regression Test fails
|
|
if: always()
|
|
run: cat test/.log/last/result-gh.md >> $GITHUB_STEP_SUMMARY
|
|
|
|
- name: Generate Test Report for x86_64${{ steps.vars.outputs.flv }}
|
|
# Ensure this runs even if Regression Test fails
|
|
if: always()
|
|
run: |
|
|
asciidoctor-pdf \
|
|
--theme test/9pm/report/theme.yml \
|
|
-a pdf-fontsdir=test/9pm/report/fonts \
|
|
test/.log/last/report.adoc \
|
|
-o test/.log/last/report.pdf
|
|
|
|
- name: Upload Test Report as Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: test-report
|
|
path: test/.log/last/report.pdf
|
|
|