ci: use -Cinstrument-coverage
instead of -Zprofile
#1120
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: [push, pull_request] | |
name: External-testsuites | |
jobs: | |
gnu-tests: | |
name: Run GNU findutils tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout findutils | |
uses: actions/checkout@v4 | |
with: | |
path: findutils | |
- name: Checkout GNU findutils | |
uses: actions/checkout@v4 | |
with: | |
repository: gnu-mirror-unofficial/findutils | |
path: findutils.gnu | |
ref: 5768a03ddfb5e18b1682e339d6cdd24ff721c510 | |
submodules: true | |
- name: Install `rust` toolchain | |
run: | | |
## Install `rust` toolchain | |
rustup toolchain install stable --no-self-update -c rustfmt --profile minimal | |
rustup default stable | |
- name: Install dependencies | |
shell: bash | |
run: | | |
# Enable sources & install dependencies | |
sudo find /etc/apt/sources.list* -type f -exec sed -i 'p; s/^deb /deb-src /' '{}' + | |
sudo apt-get update | |
sudo apt-get build-dep findutils | |
- name: Run GNU tests | |
shell: bash | |
run: | | |
cd findutils | |
bash util/build-gnu.sh ||: | |
- name: Extract testing info | |
shell: bash | |
run: | | |
- name: Upload gnu-test-report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: gnu-test-report | |
path: | | |
findutils.gnu/find/testsuite/*.log | |
findutils.gnu/xargs/testsuite/*.log | |
findutils.gnu/tests/**/*.log | |
- name: Upload gnu-result | |
uses: actions/upload-artifact@v4 | |
with: | |
name: gnu-result | |
path: gnu-result.json | |
- name: Download the result | |
uses: dawidd6/action-download-artifact@v6 | |
with: | |
workflow: compat.yml | |
workflow_conclusion: completed | |
name: gnu-result | |
repo: uutils/findutils | |
branch: main | |
path: dl | |
- name: Download the log | |
uses: dawidd6/action-download-artifact@v6 | |
with: | |
workflow: compat.yml | |
workflow_conclusion: completed | |
name: gnu-test-report | |
repo: uutils/findutils | |
branch: main | |
path: dl | |
- name: Compare failing tests against master | |
shell: bash | |
run: | | |
./findutils/util/diff-gnu.sh ./dl ./findutils.gnu | |
- name: Compare against main results | |
shell: bash | |
run: | | |
mv dl/gnu-result.json latest-gnu-result.json | |
python findutils/util/compare_gnu_result.py | |
bfs-tests: | |
name: Run BFS tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout findutils | |
uses: actions/checkout@v4 | |
with: | |
path: findutils | |
- name: Checkout BFS | |
uses: actions/checkout@v4 | |
with: | |
repository: tavianator/bfs | |
path: bfs | |
ref: "4.0" | |
- name: Install `rust` toolchain | |
run: | | |
## Install `rust` toolchain | |
rustup toolchain install stable --no-self-update -c rustfmt --profile minimal | |
rustup default stable | |
- name: Install dependencies | |
shell: bash | |
run: | | |
# Enable sources & install dependencies | |
sudo find /etc/apt/sources.list* -type f -exec sed -i 'p; s/^deb /deb-src /' '{}' + | |
sudo apt-get update | |
sudo apt-get build-dep bfs | |
- name: Run BFS tests | |
shell: bash | |
run: | | |
cd findutils | |
bash util/build-bfs.sh ||: | |
- name: Upload bfs-test-report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: bfs-test-report | |
path: bfs/tests.log | |
- name: Upload bfs-result | |
uses: actions/upload-artifact@v4 | |
with: | |
name: bfs-result | |
path: bfs-result.json | |
- name: Download the result | |
uses: dawidd6/action-download-artifact@v6 | |
with: | |
workflow: compat.yml | |
workflow_conclusion: completed | |
name: bfs-result | |
repo: uutils/findutils | |
branch: main | |
path: dl | |
- name: Download the log | |
uses: dawidd6/action-download-artifact@v6 | |
with: | |
workflow: compat.yml | |
workflow_conclusion: completed | |
name: bfs-test-report | |
repo: uutils/findutils | |
branch: main | |
path: dl | |
- name: Compare failing tests against main | |
shell: bash | |
run: | | |
./findutils/util/diff-bfs.sh dl/tests.log bfs/tests.log | |
- name: Compare against main results | |
shell: bash | |
run: | | |
mv dl/bfs-result.json latest-bfs-result.json | |
python findutils/util/compare_bfs_result.py | |
upload-annotations: | |
name: Upload annotations | |
runs-on: ubuntu-latest | |
needs: [gnu-tests, bfs-tests] | |
if: ${{ github.event_name == 'pull_request' }} | |
steps: | |
- name: List Annotations | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
let runs = await github.rest.checks.listForRef({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
ref: '${{ github.event.pull_request.head.sha }}' | |
}); | |
let names = ['Run GNU findutils tests', 'Run BFS tests']; | |
let results = []; | |
runs.data.check_runs.filter(check => names.includes(check.name)).forEach(run => results.push(run)); | |
let annotations = { data: [], pull_request_number: '${{ github.event.number }}' }; | |
for (let result of results) { | |
let run = await github.rest.checks.listAnnotations({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
check_run_id: result.id | |
}); | |
run.data.forEach(data => { | |
annotations.data.push({ | |
run: result.name, | |
annotation: data | |
}); | |
}); | |
} | |
// Remove duplicate items. | |
annotations.data = annotations.data.filter((value, index, self) => | |
self.findIndex(v => v.annotation.message === value.annotation.message) === index); | |
let fs = require('fs'); | |
fs.writeFileSync('${{ github.workspace }}/annotations.json', JSON.stringify(annotations)); | |
- name: Upload annotations | |
uses: actions/upload-artifact@v4 | |
with: | |
name: comment | |
path: annotations.json |