Files
InfiniteAPI/.github/workflows/publish-release.yml
T
Claude 16699781c7 fix(ci): add GITHUB_TOKEN authentication for git operations
Yarn 4 converts HTTPS URLs to SSH internally. Added token-based
authentication using GITHUB_TOKEN to allow accessing public GitHub
repositories without SSH keys.

https://claude.ai/code/session_01QPt4WssG6jjEciQKdVpFtK
2026-02-02 17:47:08 +00:00

102 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@v3
id: yarn-cache
with:
path: .yarn/cache
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