Fix Sticky Header Obscuring Window-Size Player #2
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: Build & Test PR | |
on: | |
pull_request: | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v4 | |
- name: Cache pnpm modules | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-pnpm-modules | |
with: | |
path: ~/.pnpm-store | |
key: pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
pnpm- | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v4 | |
with: | |
run_install: true | |
- name: Find version | |
run: | | |
npm run env | grep npm_package_version >> $GITHUB_ENV | |
- run: | | |
echo Workflow triggered by event ${{ github.event_name }} | |
- name: Build | |
run: npm run build:all # does not run tests | |
- name: Archive extension | |
uses: actions/upload-artifact@v4 | |
with: | |
name: enhancer_for_nebula-${{ env.npm_package_version }} | |
path: | | |
extension-dist/ | |
if-no-files-found: error | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v4 | |
- name: Cache pnpm modules | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-pnpm-modules | |
with: | |
path: ~/.pnpm-store | |
key: pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
pnpm- | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v4 | |
with: | |
run_install: true | |
- name: Find version | |
run: | | |
npm run env | grep npm_package_version >> $GITHUB_ENV | |
- name: Get build files | |
uses: actions/download-artifact@v4 | |
with: | |
name: enhancer_for_nebula-${{ env.npm_package_version }} | |
path: | | |
extension-dist/ | |
- name: Clear jest cache | |
run: npx jest --clear-cache | |
- name: Run all tests | |
run: npm run test:pr -- --ci | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v4 | |
- name: Cache pnpm modules | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-pnpm-modules | |
with: | |
path: ~/.pnpm-store | |
key: pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
pnpm- | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v4 | |
with: | |
run_install: true | |
- name: Find version | |
run: | | |
npm run env | grep npm_package_version >> $GITHUB_ENV | |
- name: Install grep and find | |
run: sudo apt-get install grep findutils | |
- name: Create non-minified files | |
run: npm run build:all -- --environment NO_MINIFY | |
env: | |
YT_API_KEY: ${{ secrets.YOUTUBE_KEY }} | |
- name: Verify no debug artifacts | |
run: chmod +x .github/verify-artifacts.sh && .github/verify-artifacts.sh | |
shell: bash | |
- name: Run addon linter on non-minified | |
run: npm run lint:ext | |
- name: Get build files | |
uses: actions/download-artifact@v4 | |
with: | |
name: enhancer_for_nebula-${{ env.npm_package_version }} | |
path: | | |
extension-dist/ | |
- name: Verify directory structure | |
run: chmod +x .github/verify-dirs.sh && .github/verify-dirs.sh | |
shell: bash | |
- name: Run linters | |
run: npm run lint |