diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml deleted file mode 100644 index b7af30a9..00000000 --- a/.github/workflows/lint.yaml +++ /dev/null @@ -1,31 +0,0 @@ -# Workflow derived from https://github.com/r-lib/actions/tree/master/examples -# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help -on: - push: - branches: [main, master] - pull_request: - branches: [main, master] - -name: lint - -jobs: - lint: - runs-on: ubuntu-latest - env: - GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} - steps: - - uses: actions/checkout@v3 - - - uses: r-lib/actions/setup-r@v2 - with: - use-public-rspm: true - install-r: false - - - uses: r-lib/actions/setup-r-dependencies@v2 - with: - extra-packages: any::lintr - needs: lint - - - name: Lint - run: lintr::lint_package() - shell: Rscript {0} \ No newline at end of file diff --git a/.github/workflows/lintr.yaml b/.github/workflows/lintr.yaml new file mode 100644 index 00000000..726d597d --- /dev/null +++ b/.github/workflows/lintr.yaml @@ -0,0 +1,71 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# lintr provides static code analysis for R. +# It checks for adherence to a given style, +# identifying syntax errors and possible semantic issues, +# then reports them to you so you can take action. +# More details at https://lintr.r-lib.org/ + +name: lintr + +on: + push: + branches: + - main + - master + workflow_dispatch: + pull_request: + # The branches below must be a subset of the branches above + branches: + - main + - master + schedule: + - cron: '12 08 * * 2' + +permissions: + contents: read + +jobs: + lintr: + name: Run lintr scanning + runs-on: ubuntu-latest + permissions: + contents: read # for checkout to fetch code + security-events: write # for github/codeql-action/upload-sarif to upload SARIF results + actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup R + uses: r-lib/actions/setup-r@v2 + with: + use-public-rspm: true + + - name: Setup lintr + uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: | + local::. + any::lintr + + - name: Run lintr + run: | + # Lintr package + out <- lintr::lint_package() + # Create SARIF report + lintr::sarif_output(out, "lintr-results.sarif") + # Display + out + shell: Rscript {0} + continue-on-error: true + + - name: Upload analysis results to GitHub + uses: github/codeql-action/upload-sarif@v2 + with: + sarif_file: lintr-results.sarif + wait-for-processing: true + \ No newline at end of file