Files
InfiniteAPI/.github/workflows/publish-release.yml
T
Claude 72c49352a3 fix(ci): configure git to use HTTPS for GitHub dependencies
Fixes "Permission denied (publickey)" error when Yarn tries to fetch
libsignal dependency via SSH in GitHub Actions.

Added git config to force HTTPS instead of SSH for all GitHub URLs
in all workflows that run yarn install.

https://claude.ai/code/session_01QPt4WssG6jjEciQKdVpFtK
2026-02-02 16:45:41 +00:00

99 lines
2.8 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
run: |
# Force git to use HTTPS instead of SSH for GitHub repositories
# This fixes "Permission denied (publickey)" errors in CI
git config --global url."https://github.com/".insteadOf "ssh://git@github.com/"
git config --global url."https://github.com/".insteadOf "git@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