Skip to content

Merge pull request #1724 from multiversx/development #748

Merge pull request #1724 from multiversx/development

Merge pull request #1724 from multiversx/development #748

Workflow file for this run

name: Publish sdk-dapp
on:
push:
branches: [main]
repository_dispatch:
types: publish-npm
workflow_dispatch:
permissions:
contents: write
jobs:
publish-npm:
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
steps:
- name: Fix permissions
run: |
sudo chown -R $USER:$USER ${{ github.workspace }}
sudo chmod -R 755 ${{ github.workspace }}
continue-on-error: true
- uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
clean: true
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
registry-url: 'https://registry.npmjs.org'
- name: Setup pnpm
run: npm install -g pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run tests
run: pnpm test
- name: Build project
run: pnpm build
- name: Get package info
id: package
uses: andreigiura/action-nodejs-package-info@v1.0.2
- name: Create GitHub Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: ${{ steps.package.outputs.is-prerelease == 'false' }}
run: |
RELEASE_TAG=v$(node -p "require('./package.json').version")
echo "Creating release for version: $RELEASE_TAG"
changelog_content=$(awk "/^## \[\[?${RELEASE_TAG#v}[^\]]*\]/{flag=1; next} /^## \[/{flag=0} flag" CHANGELOG.md)
cat > release_notes.md << EOF
## What's Changed
$changelog_content
EOF
# Create the release
gh release create "$RELEASE_TAG" \
--target=$GITHUB_SHA \
--title="$RELEASE_TAG" \
--notes-file release_notes.md
- name: Publish to npmjs next version
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
if: ${{ steps.package.outputs.is-prerelease == 'true'}}
run: echo ${{ steps.package.outputs.is-prerelease}} && npm publish --tag next
- name: Publish to npmjs
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
if: ${{ steps.package.outputs.is-prerelease == 'false' }}
run: npm publish