name: Write test failure comment on: workflow_run: workflows: [🧪 QGIS tests] types: - completed jobs: on-failure: strategy: matrix: qt-version: [ 5, 6 ] runs-on: ubuntu-latest steps: - name: 'Download artifact' uses: actions/github-script@v6 with: script: | let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ owner: context.repo.owner, repo: context.repo.repo, run_id: context.payload.workflow_run.id, }); let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => { return artifact.name == "test-results-qt${{ matrix.qt-version }}" })[0]; let download = await github.rest.actions.downloadArtifact({ owner: context.repo.owner, repo: context.repo.repo, artifact_id: matchArtifact.id, archive_format: 'zip', }); let fs = require('fs'); fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/test-results-qt${{ matrix.qt-version }}.zip`, Buffer.from(download.data)); - name: 'Unzip artifact' run: unzip test-results-qt${{ matrix.qt-version }}.zip - name: 'Post test report markdown summary as comment on PR' uses: actions/github-script@v6 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | let fs = require('fs'); let issue_number = Number(fs.readFileSync('./test-results-qt${{ matrix.qt-version }}.zip')); let body = String(fs.readFileSync('./summary.md')); await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: issue_number, body: body });