on: workflow_call: inputs: pr: required: false type: string parent_job_name: required: true type: string iso_name-38: required: true type: string iso_name-39: required: true type: string iso_name-40: required: true type: string jobs: load_vars: name: Load Variables uses: ./.github/workflows/build_vars.yml test-iso: name: Test ISO env: JOB_NAME: Test ISO runs-on: ubuntu-latest needs: - load_vars permissions: contents: read statuses: write continue-on-error: false strategy: fail-fast: false matrix: version: - 38 - 39 - 40 steps: - name: Checkout uses: actions/checkout@v4 with: submodules: recursive - name: Switch branch if: inputs.pr env: GITHUB_USER: ${{ github.actor }} GITHUB_TOKEN: ${{ github.token }} run: | sudo apt-get update sudo apt-get install -y hub hub pr checkout ${{ inputs.pr }} echo "sha=$(git rev-parse HEAD)" >> $GITHUB_ENV - name: Get Current Job Log URL if: inputs.pr && always() uses: Tiryoh/gha-jobid-action@v1 id: jobs with: github_token: ${{ secrets.GITHUB_TOKEN }} job_name: "${{ inputs.parent_job_name }} / ${{ env.JOB_NAME }} (${{ matrix.version }})" - name: Set status if: inputs.pr && always() uses: myrotvorets/set-commit-status-action@v2.0.1 with: token: ${{ secrets.GITHUB_TOKEN }} status: pending context: ${{ env.JOB_NAME }} (${{ matrix.version }}) sha: ${{ env.sha }} targetUrl: ${{ steps.jobs.outputs.html_url }} - name: Install test tools run: | sudo apt-get update sudo apt-get install -y make sudo make install-test-deps PACKAGE_MANAGER=apt-get - name: Download generated ISO uses: actions/download-artifact@v4 with: name: ${{ inputs[format('iso_name-{0}', matrix.version)] }} - name: Verify ISO run: | checkisomd5 ${{ inputs[format('iso_name-{0}', matrix.version)] }} sha256sum -c ${{ inputs[format('iso_name-{0}', matrix.version)] }}-CHECKSUM - name: Run ISO checks run: | mv ${{ inputs[format('iso_name-{0}', matrix.version)] }} deploy.iso make test-iso \ ARCH=${{ needs.load_vars.outputs.ARCH}} \ IMAGE_NAME=${{ needs.load_vars.outputs.IMAGE_NAME}} \ IMAGE_REPO=${{ needs.load_vars.outputs.IMAGE_REPO}} \ IMAGE_TAG=${{ matrix.version }} \ VERSION=${{ matrix.version }} \ VARIANT=${{ needs.load_vars.outputs.VARIANT }} \ FLATPAK_REMOTE_REFS_DIR=${{ needs.load_vars.outputs.FLATPAK_REMOTE_REFS_DIR }} \ SECURE_BOOT_KEY_URL=${{ needs.load_vars.outputs.SECURE_BOOT_KEY_URL }} \ ENROLLMENT_PASSWORD=${{ needs.load_vars.outputs.ENROLLMENT_PASSWORD }} - name: Set status if: inputs.pr && always() uses: myrotvorets/set-commit-status-action@v2.0.1 with: token: ${{ secrets.GITHUB_TOKEN }} status: ${{ job.status }} context: ${{ env.JOB_NAME }} (${{ matrix.version }}) sha: ${{ env.sha }} targetUrl: ${{ steps.jobs.outputs.html_url }}