name: Build on: workflow_call: inputs: jobtype: required: true type: string subtype: required: true type: string runtype: required: true type: string jobs: build: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - name: package install run: ./ci_prereq.sh - name: build env: JOBTYPE: ${{ inputs.jobtype }} SUBTYPE: ${{ inputs.subtype }} RUNTYPE: ${{ inputs.runtype }} run: ./ci_build.sh - name: cache binaries uses: actions/cache@v4 env: cache-name: test-binaries with: path: ~/cache key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- - name: Enable KVM group perms run: | echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm - name: test id: test env: JOBTYPE: ${{ inputs.jobtype }} SUBTYPE: ${{ inputs.subtype }} RUNTYPE: ${{ inputs.runtype }} run: ./ci_test.sh - name: upload failure logs if: ${{ always() && (steps.test.outcome == 'failure') }} uses: actions/upload-artifact@v4 with: name: failure-logs path: test_*