build-release.yml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. name: Release
  2. on:
  3. push:
  4. branches:
  5. - main # or whatever branch you want to use
  6. jobs:
  7. release:
  8. runs-on: ubuntu-latest
  9. steps:
  10. - name: Checkout repository
  11. uses: actions/checkout@v2
  12. - name: Check for changes in package.json
  13. run: |
  14. git diff --cached --diff-filter=d package.json || {
  15. echo "No changes to package.json"
  16. exit 1
  17. }
  18. - name: Get version number from package.json
  19. id: get_version
  20. run: |
  21. VERSION=$(jq -r '.version' package.json)
  22. echo "::set-output name=version::$VERSION"
  23. - name: Create GitHub release
  24. uses: actions/github-script@v5
  25. with:
  26. github-token: ${{ secrets.GITHUB_TOKEN }}
  27. script: |
  28. const release = await github.rest.repos.createRelease({
  29. owner: context.repo.owner,
  30. repo: context.repo.repo,
  31. tag_name: `v${{ steps.get_version.outputs.version }}`,
  32. name: `v${{ steps.get_version.outputs.version }}`,
  33. body: 'Automatically created new release',
  34. })
  35. console.log(`Created release ${release.data.html_url}`)
  36. - name: Upload package to GitHub release
  37. uses: actions/upload-artifact@v3
  38. with:
  39. name: package
  40. path: .
  41. env:
  42. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}