-
Notifications
You must be signed in to change notification settings - Fork 211
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: add github release ci action (#397)
- Loading branch information
1 parent
6ff42f4
commit abe7936
Showing
1 changed file
with
70 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
name: github-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: | ||
github-release: | ||
env: | ||
# Set this if you want a netlify example | ||
NETLIFY_BASE: 'https://muxjs.netlify.app/' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
# We neeed 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 ::set-output name=NVMRC::$(cat .nvmrc) | ||
shell: bash | ||
id: nvm | ||
|
||
- name: setup node | ||
uses: actions/setup-node@v2 | ||
with: | ||
node-version: '${{steps.nvm.outputs.NVMRC}}' | ||
cache: npm | ||
|
||
- name: npm install | ||
run: npm i --prefer-offline --no-audit | ||
|
||
- name: build | ||
run: npm run build-prod || npm run build --if-present | ||
|
||
- name: Check if this is a pre-release | ||
run: echo ::set-output name=IS_PRE_RELEASE::$(npx -p not-prerelease is-prerelease && echo "true" || echo "false") | ||
id: pre-release-check | ||
|
||
- name: truncate CHANGELOG.md so that we can get the current versions changes only | ||
run: truncate -s 0 CHANGELOG.md | ||
|
||
- name: Generate current release changelog | ||
run: npx -p @videojs/update-changelog vjs-update-changelog --run-on-prerelease | ||
|
||
- name: get dashed package version for netlify | ||
run: echo ::set-output name=VERSION::$(node -e "process.stdout.write(require('./package.json').version.split('.').join('-'))") | ||
id: get-version | ||
shell: bash | ||
if: env.NETLIFY_BASE != '' | ||
|
||
- name: add netlify preview to release notes | ||
run: | | ||
echo "" >> CHANGELOG.md | ||
echo "[netlify preview for this version](https://v${{steps.get-version.outputs.VERSION}}--${{env.NETLIFY_BASE}})" >> CHANGELOG.md | ||
if: env.NETLIFY_BASE != '' | ||
|
||
- name: Create Github release | ||
uses: softprops/action-gh-release@v1 | ||
with: | ||
body_path: CHANGELOG.md | ||
token: ${{github.token}} | ||
prerelease: ${{steps.pre-release-check.outputs.IS_PRE_RELEASE}} | ||
files: | | ||
dist/**/*.js | ||
dist/**/*.css |