Skip to content

STK: Snapshot 09-25-24 16:01 from Sierra 5.21.5-241-g354b4bbc #1408

STK: Snapshot 09-25-24 16:01 from Sierra 5.21.5-241-g354b4bbc

STK: Snapshot 09-25-24 16:01 from Sierra 5.21.5-241-g354b4bbc #1408

Workflow file for this run

name: Check packages with clang-format
on: [pull_request]
permissions:
contents: read
pull-requests: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: DoozyX/clang-format-lint-action@c71d0bf4e21876ebec3e5647491186f8797fde31 # v0.18.2
with:
source: './packages/muelu ./packages/tempus ./packages/teko ./packages/xpetra'
exclude: './packages/tempus/examples'
extensions: 'cpp,hpp'
clangFormatVersion: 14
inplace: true
- run: git diff HEAD > format_patch.txt
- run: if [ "$(cat format_patch.txt)" == "" ] ; then rm format_patch.txt ; else cat format_patch.txt; fi
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
id: upload-artf
if: ${{ hashFiles('format_patch.txt') != '' }}
with:
name: clang format patch
path: format_patch.txt
- name: Artifact ID test
run: |
echo "Artifact ID is ${{ steps.upload-artf.outputs.artifact-id }}"
echo "Link: ${{ steps.upload-artf.outputs.artifact-url }}"
# This does not work for PRs from forks.
- name: Post artifact in issue comment
uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2.8.2
if: ${{ (hashFiles('format_patch.txt') != '') && (github.event.pull_request.head.repo.full_name == github.repository) }}
with:
message: |
Your PR updated files that did not respect package clang formatting settings. Please apply the patch found [here](${{ steps.upload-artf.outputs.artifact-url }})
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
if: ${{ hashFiles('format_patch.txt') != '' }}
with:
script: |
core.setFailed('Your PR updated files that did not respect package clang formatting settings. Please download and apply the formatting patch! It is located at the bottom of the summary tab for this workflow and at this link: ${{ steps.upload-artf.outputs.artifact-url }}')