name: release on: push: tags: - 'v*.*.*' jobs: build: name: Create release runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 with: fetch-depth: 0 # get all commits, branches and tags (required for the changelog) - name: Setup Node uses: actions/setup-node@v2 with: node-version: '16' - name: Build artifacts run: | npm install npm run build npm run package - name: Build changelog id: github_changelog run: | changelog=$(git log $(git tag | tail -2 | head -1)..HEAD --no-merges --oneline) changelog="${changelog//'%'/'%25'}" changelog="${changelog//$'\n'/'%0A'}" changelog="${changelog//$'\r'/'%0D'}" echo "##[set-output name=changelog;]${changelog}" - name: Create release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GH_PAT }} with: tag_name: ${{ github.ref }} release_name: ${{ github.ref }} body: ${{ steps.github_changelog.outputs.changelog }} draft: false prerelease: false - name: Upload release artifacts uses: alexellis/upload-assets@0.2.2 env: GITHUB_TOKEN: ${{ secrets.GH_PAT }} with: asset_paths: '["./bin/*.zip"]'