Merge pull request #748 from 0xsequence/improve-progressive-load-of-p… #273
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |