16699781c7
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
75 lines
2.6 KiB
YAML
75 lines
2.6 KiB
YAML
name: Update WAProto
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '10 1 * * *'
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
update-proto:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Install Node
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 20.x
|
|
|
|
- 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: Install packages
|
|
run: |
|
|
yarn install --immutable
|
|
yarn --cwd proto-extract install --immutable
|
|
|
|
- name: Update WAProto.proto
|
|
id: wa_proto_info
|
|
run: |
|
|
yarn --cwd proto-extract start > wa-logs.txt
|
|
WA_VERSION=$(cat wa-logs.txt | perl -n -e'/Current version\: (.+)/ && print $1')
|
|
WA_JS_URL=$(cat wa-logs.txt | perl -n -e'/Found source JS URL\: (.+)/ && print $1')
|
|
echo "wa_version=$WA_VERSION" >> $GITHUB_OUTPUT
|
|
echo "wa_js_url=$WA_JS_URL" >> $GITHUB_OUTPUT
|
|
|
|
- name: GenerateStatics
|
|
run: yarn gen:protobuf
|
|
|
|
- name: Update baileys-version.json
|
|
run: |
|
|
WA_VERSION="${{steps.wa_proto_info.outputs.wa_version}}"
|
|
WA_NUMBERS=$(echo $WA_VERSION | sed "s/\./, /g")
|
|
echo -e "{\n\t\"version\": [$WA_NUMBERS]\n}" > src/Defaults/baileys-version.json
|
|
|
|
- name: Create Pull Request
|
|
uses: peter-evans/create-pull-request@v5
|
|
with:
|
|
commit-message: 'chore: updated proto/version to v${{steps.wa_proto_info.outputs.wa_version}}'
|
|
title: 'Whatsapp v${{steps.wa_proto_info.outputs.wa_version}} proto/version change'
|
|
branch: 'update-proto/stable'
|
|
delete-branch: true
|
|
labels: 'update-proto'
|
|
body: "Automated changes\nFound source JS URL: ${{steps.wa_proto_info.outputs.wa_js_url}}\nCurrent version: v${{steps.wa_proto_info.outputs.wa_version}}"
|
|
add-paths: |
|
|
WAProto/*
|
|
src/Defaults/baileys-version.json
|