Skip to content

Update package.json #37

Update package.json

Update package.json #37

Workflow file for this run

name: Publish Release
on:
push:
tags:
- "v*"
permissions: write-all
jobs:
publish-release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Fetching tags
run: git fetch --tags -f || true
- name: Setup Node
uses: actions/setup-node@v3.6.0
with:
node-version: 20.x
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install Dependencies
run: yarn
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Set Package Name to @wkarts/baileys
run: npx json -I -f package.json -e "this.name='@wkarts/baileys'"
- name: Create .npmrc with custom registry
run: |
echo "registry=https://registry.npmjs.org" > ~/.npmrc
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ~/.npmrc
- name: Publish to Custom Registry
run: |
echo "Verificando conectividade com o registro..."
curl -I https://registry.npmjs.org
echo "Publicando pacote..."
npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Clean up .npmrc
run: rm ~/.npmrc
- name: Revert Package Name
run: npx json -I -f package.json -e "this.name='baileys'"
- name: Check if release exists
id: check_release
run: |
RELEASE_EXISTS=$(curl -s -H "Authorization: token ${{ secrets.PERSONAL_TOKEN }}" \
https://api.github.com/repos/${{ github.repository }}/releases/tags/${{ github.ref_name }} \
| jq -r '.message')
if [ "$RELEASE_EXISTS" == "Not Found" ]; then
echo "Release does not exist"
echo "release_exists=false" >> $GITHUB_ENV
else
echo "Release exists"
echo "release_exists=true" >> $GITHUB_ENV
fi
env:
GITHUB_TOKEN: ${{ secrets.PERSONAL_TOKEN }}
- name: Save release notes if exists
if: env.release_exists == 'true'
id: save_release_notes
run: |
RELEASE_NOTES=$(curl -s -H "Authorization: token ${{ secrets.PERSONAL_TOKEN }}" \
https://api.github.com/repos/${{ github.repository }}/releases/tags/${{ github.ref_name }} \
| jq -r '.body')
echo "release_notes<<EOF" >> $GITHUB_OUTPUT
echo "${RELEASE_NOTES}" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
env:
GITHUB_TOKEN: ${{ secrets.PERSONAL_TOKEN }}
- name: Delete existing release if exists
if: env.release_exists == 'true'
run: |
RELEASE_ID=$(curl -s -H "Authorization: token ${{ secrets.PERSONAL_TOKEN }}" \
https://api.github.com/repos/${{ github.repository }}/releases/tags/${{ github.ref_name }} \
| jq -r '.id')
curl -X DELETE -H "Authorization: token ${{ secrets.PERSONAL_TOKEN }}" \
https://api.github.com/repos/${{ github.repository }}/releases/$RELEASE_ID
env:
GITHUB_TOKEN: ${{ secrets.PERSONAL_TOKEN }}
- name: Generate Changelog
id: generate_changelog
run: |
changelog=$(npm run changelog:last --silent)
echo "changelog<<EOF" >> $GITHUB_OUTPUT
echo "${changelog}" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- name: Make Package
run: npm pack
- name: Rename Pack
run: mv *.tgz baileys.tgz
- name: Create Release
uses: meeDamian/github-release@2.0
env:
GITHUB_TOKEN: ${{ secrets.PERSONAL_TOKEN }}
with:
token: ${{ secrets.PERSONAL_TOKEN }}
tag: ${{ github.ref }}
commitish: ${{ github.sha }}
name: ${{ github.ref_name }}
body: |
${{ steps.generate_changelog.outputs.changelog }}
${{ steps.save_release_notes.outputs.release_notes }}
draft: false
prerelease: false
files: >
baileys.tgz
gzip: folders
allow_override: true