Files
InfiniteAPI/.github/workflows/publish-release.yml
Claude 1fa321c0a2 fix(ci): correct Yarn 4 cache paths and add auto-merge for version PRs
- Fixed cache paths for Yarn 4 (node_modules + .yarn/install-state.gz)
- Updated all workflows to use actions/cache@v4
- Added auto-merge for WhatsApp version update PRs

https://claude.ai/code/session_01QPt4WssG6jjEciQKdVpFtK
2026-02-02 18:20:03 +00:00

104 lines
3.0 KiB
YAML

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
registry-url: 'https://registry.npmjs.org'
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Enable Corepack and Set Yarn Version
run: |
corepack enable
corepack prepare yarn@4.x --activate
- name: Configure Git for HTTPS
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Force git to use HTTPS instead of SSH for GitHub repositories
git config --global url."https://github.com/".insteadOf "ssh://git@github.com/"
git config --global url."https://github.com/".insteadOf "git@github.com:"
# Configure git to use GITHUB_TOKEN for authentication
git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/".insteadOf "https://github.com/"
- name: Restore Yarn Cache
uses: actions/cache@v4
id: yarn-cache
with:
path: |
node_modules
.yarn/install-state.gz
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install Dependencies
run: yarn install --immutable
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Publish in NPM (as `baileys`)
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Publish in NPM (whiskeysockets scope)
run: |
npx json -I -f package.json -e "this.name='@whiskeysockets/baileys'"
npm publish --access public --//registry.npmjs.org/:_authToken=$NPM_TOKEN
npx json -I -f package.json -e "this.name='baileys'"
env:
NPM_TOKEN: ${{ secrets.NPM_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: yarn pack
- name: Rename Pack
run: mv *.tgz baileys.tgz
- name: Create Release
uses: meeDamian/github-release@2.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref }}
commitish: ${{ github.sha }}
name: ${{ github.ref_name }}
body: ${{ steps.generate_changelog.outputs.changelog }}
draft: false
prerelease: false
files: >
baileys.tgz
gzip: folders
allow_override: true