Skip to content

Commit

Permalink
Update .github to 8.19.0
Browse files Browse the repository at this point in the history
  • Loading branch information
edwinbradford committed Oct 14, 2024
1 parent 1bb0c45 commit ad4abc1
Show file tree
Hide file tree
Showing 8 changed files with 249 additions and 22 deletions.
78 changes: 78 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: General issue
description: Report a general issue with Video.js
labels: "needs: triage"
body:
- type: markdown
attributes:
value: |
Thank you for using Video.js and contributing by opening an issue. Before you start, please check this list:
* If you are not reporting a bug, but want to ask a general question, use [discussions](https://github.com/videojs/video.js/discussions) instead.
* Check the [FAQ](https://videojs.com/guides/faqs) and [troubleshooting guides](https://videojs.com/guides/troubleshooting).
* If there is an existing open issue for exactly the same problem, comment there instead.
* However, be careful not to comment on old and closed issues. Your new comment is unlikely to be noticed.
* Take care to make sure it is really the exact same issue. Conflating tangentially related issues is counterproductive. If in doubt, open as a new issue.
* Add useful new information, such as a new reproducible case to help narrow down the issue.
* If the issue is with a specific plugin, it's generally better to open an issue on the plugin repository instead.
* Please do take the time to give detailed information, and include a test case. A detailed issue with actionable information will get a better response than a vague anecdote.
- type: textarea
id: description
attributes:
label: Description
description: |
Please give a detailed description of the issue.
What did you expect to happen, and what happened?
validations:
required: true
- type: input
id: testcase
validations:
required: true
attributes:
label: Reduced test case
description: |
Please add a URL to a [reduced test case](https://stackoverflow.com/help/minimal-reproducible-example) where the issue can be observed. We have a [starter template](https://codepen.io/gkatsev/pen/GwZegv?editors=1000#0) on Codepen.
**Without a test case** it's unlikely your issue can be actioned.
For a playback problem, including the stream URL is _essential._
placeholder: https://
- type: textarea
id: str
attributes:
label: Steps to reproduce
description: Detailed steps to reproduce the issue.
value: |
1.
2.
3.
validations:
required: true
- type: textarea
id: errors
attributes:
label: Errors
description: If there is an error displayed in the player or in the console, please include them here.
- type: input
id: version
attributes:
label: What version of Video.js are you using?
description: Please include all relevant versions. If not using the latest version, explain why not in the description above.
placeholder: e.g. vX.Y.Z
validations:
required: true
- type: input
id: plugins
attributes:
label: Video.js plugins used.
- type: input
id: browser
attributes:
label: What browser(s) including version(s) does this occur with?
placeholder: e.g. Chrome 100
validations:
required: true
- type: input
id: os
attributes:
label: What OS(es) and version(s) does this occur with?
placeholder: e.g. Windows 11
validations:
required: true
2 changes: 2 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,6 @@ Please list the specific changes involved in this pull request.
* [ ] Unit Tests updated or fixed
* [ ] Docs/guides updated
* [ ] Example created ([starter template on JSBin](https://codepen.io/gkatsev/pen/GwZegv?editors=1000#0))
* [ ] Has no DOM changes which impact accessiblilty or trigger warnings (e.g. Chrome issues tab)
* [ ] Has no changes to JSDoc which cause `npm run docs:api` to error
* [ ] Reviewed by Two Core Contributors
13 changes: 13 additions & 0 deletions .github/actions/pr-titles.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
const core = require('@actions/core');
const github = require('@actions/github');

(async function run() {
const title = github.context.payload.pull_request?.title;
const titleRegex = /^(chore|ci|docs|feat|fix|refactor|revert|test)(\(.+\))?!?: (.+)/;

if (!!title.match(titleRegex)) {
core.info('Pull request title is OK');
} else {
core.setFailed('Please use conventional commit style for the PR title so the merged change appears in the changelog. See https://www.conventionalcommits.org/.');
}
})();
2 changes: 2 additions & 0 deletions .github/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,5 @@ newPRWelcomeComment: |
firstPRMergeComment: >
Congrats on merging your first pull request! 🎉🎉🎉
# Prevent issues being created without using the template
blank_issues_enabled: false
39 changes: 17 additions & 22 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ on: [push, pull_request]
jobs:
should-skip:
continue-on-error: true
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
should-skip-job: ${{steps.skip-check.outputs.should_skip}}
steps:
- id: skip-check
uses: fkirc/skip-duplicate-actions@v2.1.0
uses: fkirc/skip-duplicate-actions@v5.3.1
with:
github_token: ${{github.token}}

Expand All @@ -21,47 +21,36 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-18.04]
os: [ubuntu-latest]
test-type: [unit, coverage]
env:
BROWSER_STACK_USERNAME: ${{secrets.BROWSER_STACK_USERNAME}}
BROWSER_STACK_ACCESS_KEY: ${{secrets.BROWSER_STACK_ACCESS_KEY}}
CI_TEST_TYPE: ${{matrix.test-type}}
runs-on: ${{matrix.os}}
steps:
- name: checkout code
uses: actions/checkout@v2

- name: Cache dependencies
uses: actions/cache@v2
with:
path: |
~/.npm
**/node_modules
key: ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
restore-keys: |
${{runner.os}}-npm-
${{runner.os}}-
uses: actions/checkout@v4

- name: read node version from .nvmrc
run: echo ::set-output name=NVMRC::$(cat .nvmrc)
run: echo "NVMRC=$(cat .nvmrc)" >> $GITHUB_OUTPUT
shell: bash
id: nvm

- name: update apt cache on linux w/o browserstack
run: sudo apt-get update
if: ${{startsWith(matrix.os, 'ubuntu') && !env.BROWSER_STACK_USERNAME}}

- name: install ffmpeg/pulseaudio for firefox on linux w/o browserstack
run: sudo apt-get install ffmpeg pulseaudio
if: ${{startsWith(matrix.os, 'ubuntu') && !env.BROWSER_STACK_USERNAME}}

- name: start pulseaudio for firefox on linux w/o browserstack
run: pulseaudio -D
if: ${{startsWith(matrix.os, 'ubuntu') && !env.BROWSER_STACK_USERNAME}}

- name: setup node
uses: actions/setup-node@v1
uses: actions/setup-node@v4
with:
node-version: '${{steps.nvm.outputs.NVMRC}}'
cache: npm

# turn off the default setup-node problem watchers...
- run: echo "::remove-matcher owner=eslint-compact::"
Expand All @@ -72,6 +61,12 @@ jobs:
run: npm i --prefer-offline --no-audit

- name: run npm test
uses: GabrielBB/xvfb-action@v1
run: npm run test

- name: coverage
uses: codecov/codecov-action@v4
with:
run: npm run test
token: ${{secrets.CODECOV_TOKEN}}
files: './test/dist/coverage/coverage-final.json'
fail_ci_if_error: true
if: ${{startsWith(env.CI_TEST_TYPE, 'coverage')}}
22 changes: 22 additions & 0 deletions .github/workflows/lock.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: 'Lock Threads'

on:
schedule:
- cron: '0 1 * * 1,4'
workflow_dispatch:

permissions:
issues: write

concurrency:
group: lock

jobs:
action:
if: ${{ github.repository_owner == 'videojs' }}
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v4
with:
issue-inactive-days: '60'
process-only: 'issues'
22 changes: 22 additions & 0 deletions .github/workflows/pr-titles.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: PR title check

on:
pull_request:
types: [opened, reopened, edited, synchronize]
branches: [main]

concurrency:
group: ${{ github.workflow }}-${{ github.event.number }}
cancel-in-progress: true

jobs:
pr-title-lint:
name: Should follow conventional commit spec
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm i @actions/core @actions/github
- run: node .github/actions/pr-titles.js
93 changes: 93 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: release
on:
push:
tags:
# match semver versions
- "v[0-9]+.[0-9]+.[0-9]+"
# match semver pre-releases
- "v[0-9]+.[0-9]+.[0-9]+-*"
jobs:
release:
env:
NETLIFY_BASE: 'videojs-preview.netlify.app'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
# We need to fetch the entire history as conventional-changelog needs
# access to any number of git commits to build the changelog.
with:
fetch-depth: 0

- name: read node version from .nvmrc
run: echo "NVMRC=$(cat .nvmrc)" >> $GITHUB_OUTPUT
shell: bash
id: nvm

- name: setup node
uses: actions/setup-node@v3
with:
node-version: '${{steps.nvm.outputs.NVMRC}}'
cache: npm
# this line is required for the setup-node action to be able to run the npm publish below.
registry-url: 'https://registry.npmjs.org'

- name: npm install
run: npm i --prefer-offline --no-audit

# publish runs build for us via a prepublishOnly script
- name: npm release
run: npm publish --tag next
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: get current changelog
run: node -e "console.log(require('./build/current-changelog.js')())" > CHANGELOG-LATEST.md

- name: get dashed package version for netlify
run: echo "VERSION=$(node -e "process.stdout.write(require('./package.json').version.split('.').join('-'))")" >> $GITHUB_OUTPUT
id: get-version
shell: bash
if: env.NETLIFY_BASE != ''

- name: add netlify preview to release notes
run: |
echo "" >> CHANGELOG-LATEST.md
echo "[netlify preview for this version](https://v${{steps.get-version.outputs.VERSION}}--${{env.NETLIFY_BASE}})" >> CHANGELOG-LATEST.md
if: env.NETLIFY_BASE != ''

- name: Create Github release
uses: softprops/action-gh-release@v1
with:
body_path: CHANGELOG-LATEST.md
token: ${{github.token}}
prerelease: true
files: dist/*.zip
discussion_category_name: Releases

deploy:
needs: release
runs-on: ubuntu-latest
environment: Deploy
env:
VJS_VERSION: ${{ github.event.head_commit.message }}
S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
S3_ACCESS: ${{ secrets.AWS_S3_ACCESS }}
S3_KEY: ${{ secrets.AWS_S3_KEY }}
steps:
- name: setup node
uses: actions/setup-node@v3

- name: npm install video.js
run: npm install "video.js@$VJS_VERSION"

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_S3_SECRET }}
aws-region: us-east-1

- name: Copy files to the CDN with the AWS CLI
run: |
aws s3 cp node_modules/video.js/dist s3://${S3_BUCKET}/${S3_KEY}/${VJS_VERSION}/ --acl ${S3_ACCESS} --recursive

0 comments on commit ad4abc1

Please sign in to comment.