name: Release milestone description: Creates a release and tag out of a given milestone inputs: milestone: description: Milestone for this release required: true github_token: description: Secret GitHub token required: true runs: using: composite steps: - name: Setup node uses: actions/setup-node@v3 with: node-version: '16' - name: Close milestone uses: Akkjon/close-milestone@v2.0.1 with: milestone_name: ${{ env.MILESTONE }} env: MILESTONE: ${{ inputs.milestone }} GITHUB_TOKEN: ${{ inputs.github_token }} - name: Create provisionary tag shell: bash env: MILESTONE: ${{ inputs.milestone }} GITHUB_TOKEN: ${{ inputs.github_token }} run: | git config user.name "GitHub Actions Bot" git config user.email "<>" git tag --message "" "$MILESTONE" git push origin "$MILESTONE" - name: Update changelog shell: bash env: MILESTONE: ${{ inputs.milestone }} GITHUB_TOKEN: ${{ inputs.github_token }} GREN_GITHUB_TOKEN: ${{ inputs.github_token }} run: | echo -n "$MILESTONE" > layouts/partials/version.txt npx github-release-notes@0.17.1 changelog --generate --override --tags=all git add * git commit --message "Ship tag $MILESTONE" git push origin main - name: Create final tag shell: bash env: MILESTONE: ${{ inputs.milestone }} GITHUB_TOKEN: ${{ inputs.github_token }} run: | git tag --force --message "" "$MILESTONE" git push --force origin "$MILESTONE" - name: Publish release shell: bash env: MILESTONE: ${{ inputs.milestone }} GREN_GITHUB_TOKEN: ${{ inputs.github_token }} run: | npx github-release-notes@0.17.1 release --tags "$MILESTONE" - name: Update version number to mark non-release version shell: bash env: MILESTONE: ${{ inputs.milestone }} GITHUB_TOKEN: ${{ inputs.github_token }} GREN_GITHUB_TOKEN: ${{ inputs.github_token }} run: | echo -n "$MILESTONE+tip" > layouts/partials/version.txt git add * git commit --message "Mark non-release version" git push origin main - name: Generate next version number id: semvers uses: WyriHaximus/github-action-next-semvers@v1.1.0 with: version: ${{ env.MILESTONE }} env: MILESTONE: ${{ inputs.milestone }} GITHUB_TOKEN: ${{ inputs.github_token }} - name: Create next patch milestone uses: WyriHaximus/github-action-create-milestone@v1.1.0 with: title: ${{ steps.semvers.outputs.patch }} env: MILESTONE: ${{ inputs.milestone }} GITHUB_TOKEN: ${{ inputs.github_token }}