This repository has been archived by the owner on Aug 12, 2024. It is now read-only.
chore(deps): update dependency node-fetch to v3 - autoclosed #140
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 YouTube Music | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
env: | |
NODE_VERSION: "20.x" | |
jobs: | |
build: | |
name: Build YouTube Music | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ macos-latest, ubuntu-latest, windows-latest ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install pnpm | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
run_install: false | |
- name: Setup NodeJS | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: 'pnpm' | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Test | |
uses: coactions/setup-xvfb@v1 | |
env: | |
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 | |
with: | |
run: pnpm test | |
# Build and release if it's the main repository | |
- name: Build and release on Mac | |
if: startsWith(matrix.os, 'macOS') && github.repository == 'th-ch/youtube-music' | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
pnpm release:mac | |
- name: Build and release on Linux | |
if: startsWith(matrix.os, 'ubuntu') && github.repository == 'th-ch/youtube-music' | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
pnpm release:linux | |
- name: Build and release on Windows | |
if: startsWith(matrix.os, 'windows') && github.repository == 'th-ch/youtube-music' | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
pnpm release:win | |
# Only build without release if it is a fork | |
- name: Build on Mac | |
if: startsWith(matrix.os, 'macOS') && github.repository != 'th-ch/youtube-music' | |
run: | | |
pnpm build:mac | |
- name: Build on Linux | |
if: startsWith(matrix.os, 'ubuntu') && github.repository != 'th-ch/youtube-music' | |
run: | | |
pnpm build:linux | |
- name: Build on Windows | |
if: startsWith(matrix.os, 'windows') && github.repository != 'th-ch/youtube-music' | |
run: | | |
pnpm build:win | |
release: | |
runs-on: ubuntu-latest | |
name: Release YouTube Music | |
if: github.repository == 'th-ch/youtube-music' && github.ref == 'refs/heads/master' | |
needs: build | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup NodeJS | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: 'pnpm' | |
- name: Install pnpm | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
run_install: false | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Get version | |
run: | | |
echo "VERSION_TAG=v$(node -pe "require('./package.json').version")" >> $GITHUB_ENV | |
- name: Check if version already exists in tags | |
run: | | |
echo "VERSION_HASH=$(git rev-parse -q --verify 'refs/tags/${{ env.VERSION_TAG }}')" >> $GITHUB_ENV | |
echo "CHANGELOG_ANCHOR=$(echo $VERSION_TAG | sed -e 's/\.//g')" >> $GITHUB_ENV | |
- name: Fetch draft release | |
if: ${{ env.VERSION_HASH == '' }} | |
uses: cardinalby/git-get-release-action@v1 | |
id: get_draft_release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
latest: true | |
draft: true | |
searchLimit: 1 | |
- name: Publish Release (if it does not exist) | |
if: ${{ env.VERSION_HASH == '' }} | |
uses: irongut/EditRelease@v1.2.0 | |
with: | |
token: ${{ secrets.GH_TOKEN }} | |
id: ${{ steps.get_draft_release.outputs.id }} | |
draft: false | |
prerelease: false | |
replacename: true | |
name: ${{ env.VERSION_TAG }} | |
replacebody: true | |
body: | | |
See [changelog](https://github.com/th-ch/youtube-music/blob/master/changelog.md#${{ env.CHANGELOG_ANCHOR }}) for the list of updates and the full diff. | |
Thanks to all contributors! 🏅 | |
- name: Update changelog | |
if: ${{ env.VERSION_HASH == '' }} | |
run: | | |
pnpm changelog | |
- name: Commit changelog | |
if: ${{ env.VERSION_HASH == '' }} | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: Update changelog for ${{ env.VERSION_TAG }} | |
file_pattern: "changelog.md" | |
commit_user_name: CI | |
commit_user_email: th-ch@users.noreply.github.com |