diff --git a/.github/workflows/continuous.yml b/.github/workflows/continuous.yml index 56a8d5056..a31da758d 100644 --- a/.github/workflows/continuous.yml +++ b/.github/workflows/continuous.yml @@ -74,10 +74,10 @@ jobs: uses: SimenB/github-actions-cpu-cores@v2 id: cpu-cores - # FindSIMD, MeshFEMCore, and Tight-Inclusion all compile with - # -march=native, which bakes the building runner's ISA into every cached - # object file. ccache hashes the literal flag string, not what it expands - # to, so restored objects are only safe on a runner with the same ISA. + # FindSIMD and Tight-Inclusion both compile with -march=native, which + # bakes the building runner's ISA into every cached object file. ccache + # hashes the literal flag string, not what it expands to, so restored + # objects are only safe on a runner with the same ISA. # The CPU model name has not been enough to guarantee that: EPYC 9V74 # runners restored each other's objects and crashed with SIGILL. On Linux # we also hash the flags the compiler expands -march=native to, which is diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index c39c230a6..f0cb92454 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -37,10 +37,10 @@ jobs: uses: SimenB/github-actions-cpu-cores@v2 id: cpu-cores - # FindSIMD, MeshFEMCore, and Tight-Inclusion all compile with - # -march=native, which bakes the building runner's ISA into every cached - # object file. ccache hashes the literal flag string, not what it expands - # to, so restored objects are only safe on a runner with the same ISA. + # FindSIMD and Tight-Inclusion both compile with -march=native, which + # bakes the building runner's ISA into every cached object file. ccache + # hashes the literal flag string, not what it expands to, so restored + # objects are only safe on a runner with the same ISA. # The CPU model name has not been enough to guarantee that: EPYC 9V74 # runners restored each other's objects and crashed with SIGILL. We also # hash the flags the compiler expands -march=native to, which is exactly diff --git a/.github/workflows/cuda.yml b/.github/workflows/cuda.yml index 8f96fcf14..a18e0351c 100644 --- a/.github/workflows/cuda.yml +++ b/.github/workflows/cuda.yml @@ -51,10 +51,10 @@ jobs: uses: SimenB/github-actions-cpu-cores@v2 id: cpu-cores - # FindSIMD, MeshFEMCore, and Tight-Inclusion all compile with - # -march=native, which bakes the building runner's ISA into every cached - # object file. ccache hashes the literal flag string, not what it expands - # to, so restored objects are only safe on a runner with the same ISA. + # FindSIMD and Tight-Inclusion both compile with -march=native, which + # bakes the building runner's ISA into every cached object file. ccache + # hashes the literal flag string, not what it expands to, so restored + # objects are only safe on a runner with the same ISA. # The CPU model name has not been enough to guarantee that: EPYC 9V74 # runners restored each other's objects and crashed with SIGILL. We also # hash the flags the compiler expands -march=native to, which is exactly diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 280f68c22..371650f53 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -90,12 +90,13 @@ jobs: done cd .. - # We build ipctk without ccache on purpose. Its dependencies compile with - # -march=native, and ccache hashes that flag string, not the CPU it expands - # to. A cached object could therefore be restored onto a runner that lacks - # some of its instructions, which crashed `import ipctk` with SIGILL when - # Sphinx started. The tradeoff is a cold build of about 5 minutes instead of - # about 1, which is fine because docs only build on pushes to main. + # We build ipctk without ccache on purpose. It compiles with -march=native + # (from FindSIMD, plus Tight-Inclusion's own flags), and ccache hashes that + # flag string, not the CPU it expands to. A cached object could therefore + # be restored onto a runner that lacks some of its instructions, which + # crashed `import ipctk` with SIGILL when Sphinx started. The tradeoff is a + # cold build of about 5 minutes instead of about 1, which is fine because + # docs only build on pushes to main. - name: Build ipctk run: pip install --verbose . diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 5f18ea154..c91bab426 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -64,10 +64,10 @@ jobs: choco install ccache "CACHE_PATH=${env:LOCALAPPDATA}\ccache" | Out-File -FilePath $env:GITHUB_ENV -Append - # FindSIMD, MeshFEMCore, and Tight-Inclusion all compile with - # -march=native, which bakes the building runner's ISA into every cached - # object file. ccache hashes the literal flag string, not what it expands - # to, so restored objects are only safe on a runner with the same ISA. + # FindSIMD and Tight-Inclusion both compile with -march=native, which + # bakes the building runner's ISA into every cached object file. ccache + # hashes the literal flag string, not what it expands to, so restored + # objects are only safe on a runner with the same ISA. # The CPU model name has not been enough to guarantee that: EPYC 9V74 # runners restored each other's objects and crashed with SIGILL. On Linux # we also hash the flags the compiler expands -march=native to, which is