mirror of
https://github.com/tenrok/axios.git
synced 2026-05-21 13:24:11 +03:00
56 lines
2.0 KiB
YAML
56 lines
2.0 KiB
YAML
name: Publish
|
|
on:
|
|
pull_request:
|
|
types:
|
|
- closed
|
|
branches:
|
|
- main
|
|
- 'v**'
|
|
workflow_dispatch:
|
|
jobs:
|
|
publish:
|
|
if: github.event_name == 'workflow_dispatch' || (github.event.pull_request.merged == true && github.event.pull_request.head.label == 'axios:release')
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: "Release PR info"
|
|
if: github.event_name != 'workflow_dispatch'
|
|
run: echo "PR ${{ github.event.number }}"
|
|
- uses: actions/checkout@v3
|
|
- name: git config
|
|
run: |
|
|
git config user.name "${GITHUB_ACTOR}"
|
|
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 16
|
|
registry-url: https://registry.npmjs.org/
|
|
- run: npm ci
|
|
- name: get-npm-version
|
|
id: package-version
|
|
uses: martinbeentjes/npm-get-version-action@main
|
|
- name: Extract release notes
|
|
id: extract-release-notes
|
|
uses: ffurrer2/extract-release-notes@v1
|
|
- name: Check versions
|
|
run: node ./bin/check-build-version.js
|
|
############# TAG RELEASE ##############
|
|
- name: "Push tag v${{ steps.package-version.outputs.current-version }}"
|
|
uses: rickstaa/action-create-tag@v1
|
|
id: tag_version
|
|
with:
|
|
tag: "v${{ steps.package-version.outputs.current-version }}"
|
|
############# GITHUB RELEASE ##############
|
|
- name: "Create a GitHub release v${{ steps.package-version.outputs.current-version }}"
|
|
uses: ncipollo/release-action@v1
|
|
with:
|
|
tag: "v${{ steps.package-version.outputs.current-version }}"
|
|
name: "Release v${{ steps.package-version.outputs.current-version }}"
|
|
body: |
|
|
## Release notes:
|
|
${{ steps.extract-release-notes.outputs.release_notes }}
|
|
############# NPM RELEASE ##############
|
|
- name: Publish the release to NPM
|
|
run: npm publish
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
|