chore(deps): update dependency npm to v10.8.0 #6623
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
name: Javascript | |
# This action works with pull requests and pushes | |
on: | |
push: | |
paths: | |
- web/** | |
- '!**.md' | |
pull_request: | |
paths: | |
- web/** | |
- '!**.md' | |
jobs: | |
formatting: | |
name: 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' | |
cancel_others: 'true' | |
skip_after_successful_duplicate: 'true' | |
- name: Checkout | |
uses: actions/checkout@v4 | |
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 | |
persist-credentials: true | |
- name: Get changed files | |
id: changed-files-yaml | |
uses: tj-actions/changed-files@v44 | |
with: | |
path: 'web' | |
files_ignore: | | |
static/** | |
web/next.config.js | |
files_yaml: | | |
src: | |
- '**/*.{js,ts,tsx,jsx,css,md}' | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-node-modules-bundle-web-app | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('web/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: Install Dependencies | |
run: npm install | |
- name: Lint | |
if: steps.changed-files-yaml.outputs.src_any_changed == 'true' | |
run: npx eslint --fix ${{ steps.changed-files-yaml.outputs.src_all_changed_files }} | |
- name: Prettier | |
if: steps.changed-files-yaml.outputs.src_any_changed == 'true' | |
run: npx prettier --write ${{ steps.changed-files-yaml.outputs.src_all_changed_files }} | |
- name: Debug changed files output | |
run: 'pwd && echo "Changed files: ${{ steps.changed-files-yaml.outputs.src_all_changed_files }}"' | |
- name: Commit changes | |
if: steps.changed-files-yaml.outputs.src_any_changed == 'true' | |
uses: EndBug/add-and-commit@v9 | |
with: | |
author_name: Owncast | |
author_email: owncast@owncast.online | |
message: 'Javascript formatting autofixes' | |
add: ${{ steps.changed-files-yaml.outputs.src_all_changed_files }} | |
cwd: './web' # Ensure this is the correct relative directory | |
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' | |
cancel_others: 'true' | |
skip_after_successful_duplicate: 'true' | |
- name: Checkout | |
uses: actions/checkout@v4 | |
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: Cache node modules | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-node-modules-bundle-web-app | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('web/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: Install Dependencies | |
run: npm install | |
- name: Check for unused JS code and dependencies | |
run: npx knip --include dependencies,files,exports | |
# After any formatting and linting is complete we can run the build | |
# and bundle step. This both will verify that the build is successful as | |
# well as commiting the updated static files into the repository for use. | |
web-bundle: | |
name: Build and bundle web project | |
runs-on: ubuntu-latest | |
if: github.repository == 'owncast/owncast' | |
needs: [formatting, unused-code] | |
steps: | |
- id: skip_check | |
uses: fkirc/skip-duplicate-actions@v5 | |
with: | |
concurrent_skipping: 'same_content_newer' | |
cancel_others: 'true' | |
skip_after_successful_duplicate: 'true' | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-node-modules-bundle-web-app | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('web/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: Checkout | |
uses: actions/checkout@v4 | |
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: Bundle web app (next.js build) | |
run: build/web/bundleWeb.sh | |
- name: Rebase | |
if: ${{ github.ref == 'refs/heads/develop' }} | |
run: | | |
git add static/web | |
git pull --rebase --autostash | |
# Only commit built web project files on develop. | |
- name: Commit changes | |
if: ${{ github.ref == 'refs/heads/develop' }} | |
uses: EndBug/add-and-commit@v9 | |
with: | |
message: 'Bundle embedded web app' | |
add: 'static/web' | |
author_name: Owncast | |
author_email: owncast@owncast.online | |
- name: Push changes | |
if: ${{ github.ref == 'refs/heads/develop' }} | |
run: | | |
git pull --rebase --autostash | |
git push |