Skip to content

Merge pull request #748 from 0xsequence/improve-progressive-load-of-p… #273

Merge pull request #748 from 0xsequence/improve-progressive-load-of-p…

Merge pull request #748 from 0xsequence/improve-progressive-load-of-p… #273

name: Publish Pre-release
on:
workflow_dispatch:
push:
branches:
- master
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/install-dependencies
- name: Build SDK
run: pnpm run build
- name: Publish to pre-release branch
run: |
# Prepare tmp directory
mkdir -p /tmp/marketplace-sdk
cp -r sdk/dist /tmp/marketplace-sdk/
cp sdk/package.json /tmp/marketplace-sdk/
cp README.md /tmp/marketplace-sdk/
# Replace catalog: references with actual versions
# The pnpm deploy command should handle this, but for some reason it's not working
# Get resolved versions from pnpm and replace all dependencies
cd ${{ github.workspace }}/sdk
pnpm list --json > /tmp/resolved-deps.json
# Replace all dependency versions with resolved versions
node -e "
const fs = require('fs');
// Read the resolved dependencies
const resolvedDeps = JSON.parse(fs.readFileSync('/tmp/resolved-deps.json', 'utf8'));
const resolved = resolvedDeps[0].dependencies || {};
const resolvedDev = resolvedDeps[0].devDependencies || {};
const resolvedPeer = resolvedDeps[0].peerDependencies || {};
const allResolved = { ...resolved, ...resolvedDev, ...resolvedPeer };
const pkgPath = '/tmp/marketplace-sdk/package.json';
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
// Replace all dependency versions with resolved versions
['dependencies', 'devDependencies', 'peerDependencies'].forEach(depType => {
if (pkg[depType]) {
Object.keys(pkg[depType]).forEach(dep => {
if (allResolved[dep]) {
pkg[depType][dep] = allResolved[dep].version;
}
});
}
});
fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\\n');
"
# Initialize git in tmp directory
cd /tmp/marketplace-sdk
git init
git checkout -b pre-release
# Configure git
git config user.name "github-actions"
git config user.email "[email protected]"
# Commit and push
git add .
git commit -m "Build: publish marketplace-sdk pre-release"
git remote add origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git
git push -f origin HEAD:pre-release