You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.5 KiB
92 lines
2.5 KiB
name: Javascript Formatting |
|
|
|
# This action works with pull requests and pushes |
|
on: |
|
push: |
|
paths: |
|
- web/** |
|
pull_request_target: |
|
paths: |
|
- web/** |
|
|
|
jobs: |
|
formatting: |
|
name: Javascript code formatting |
|
runs-on: ubuntu-latest |
|
defaults: |
|
run: |
|
working-directory: ./web |
|
|
|
steps: |
|
- id: skip_check |
|
uses: fkirc/skip-duplicate-actions@v5 |
|
with: |
|
concurrent_skipping: 'same_content_newer' |
|
|
|
- name: Checkout |
|
uses: actions/checkout@v3 |
|
with: |
|
# Make sure the actual branch is checked out when running on pull requests |
|
ref: ${{ github.event.pull_request.head.ref }} |
|
repository: ${{ github.event.pull_request.head.repo.full_name }} |
|
fetch-depth: 0 |
|
|
|
- name: Get changed files |
|
id: changed-files |
|
uses: tj-actions/changed-files@v37 |
|
with: |
|
files_yaml: | |
|
src: |
|
- '**.js' |
|
- '**.ts' |
|
- '**.tsx' |
|
- '**.jsx' |
|
- '**.css' |
|
- '**.md' |
|
|
|
- name: Install Dependencies |
|
run: npm install |
|
|
|
- name: Lint |
|
if: steps.changed-files.outputs.any_changed == 'true' |
|
run: npx eslint --fix ${{ steps.changed-files.outputs.all_changed_files }} |
|
|
|
- name: Prettier |
|
if: steps.changed-files.outputs.any_changed == 'true' |
|
run: npx prettier --write ${{ steps.changed-files.outputs.all_changed_files }} |
|
|
|
- name: Commit changes |
|
if: steps.changed-files.outputs.any_changed == 'true' |
|
uses: EndBug/add-and-commit@v9 |
|
with: |
|
author_name: Owncast |
|
author_email: owncast@owncast.online |
|
message: 'Javascript formatting autofixes' |
|
pull: '--rebase --autostash' |
|
|
|
unused-code: |
|
name: Test for unused code |
|
runs-on: ubuntu-latest |
|
defaults: |
|
run: |
|
working-directory: ./web |
|
|
|
steps: |
|
- id: skip_check |
|
uses: fkirc/skip-duplicate-actions@v5 |
|
with: |
|
concurrent_skipping: 'same_content_newer' |
|
|
|
- name: Checkout |
|
uses: actions/checkout@v3 |
|
with: |
|
# Make sure the actual branch is checked out when running on pull requests |
|
ref: ${{ github.event.pull_request.head.ref }} |
|
repository: ${{ github.event.pull_request.head.repo.full_name }} |
|
fetch-depth: 0 |
|
|
|
- name: Install Dependencies |
|
run: npm install |
|
|
|
- name: Check for unused JS code and dependencies |
|
run: npx knip --include dependencies,files,exports
|
|
|