рдореИрдВ рдПрдХ рд╕рдВрдЧрдарди рдХреЗ рджрд╛рдпрд░реЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЬ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЧрд┐рдЯрд╣рдм рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдПрдирдкреАрдПрдо (рдЬреЛ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рдореЗрдВ рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо package.json
рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ, рдЖрд╡рд╢реНрдпрдХ publishConfig
рдЬреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реИ
"publishConfig": {
"registry": "https://npm.pkg.github.com"
},
рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рд▓рдбрд╝рд╛рдИ рдЪрд░рдгреЛрдВ рдмрджрд▓ NODE_AUTH_TOKEN
рдХреЗ рдмрдЬрд╛рдп NPM_TOKEN
рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рдбреЙрдХреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдПрдХ рд╢рд╛рдЦрд╛ рд╡рд┐рд▓рдп рдФрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореИрдВ рдирд┐рдореНрди рдЪреЗрддрд╛рд╡рдиреА рдорд┐рд▓ рдХреЛ рдЧрддрд┐ рдкреНрд░рджрд╛рди рдФрд░ рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ( рдЯреИрдЧ рдФрд░ рдЪреЗрдВрдЬрд▓реЙрдЧ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЧреБрд╕реНрд╕рд╛ рдХрд░рдиреЗ рдкрд░ рдпрд╣ рд╡рд┐рдлрд▓ рд░рди рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝реНрд▓реИрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ):
тЬФ success Wrote authentication token string to /home/runner/.npmrc
тЪа warning Error: Failed to replace env in config: ${NPM_TOKEN}
NPM_TOKEN
GitHub рдкрд░ рдореЗрд░реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдореЗрдВ рд╕реЗрдЯ рд╣реИред
рдпрд╣рд╛рдБ рдХреНрд░рд┐рдпрд╛ рд╕реЗрдЯрдЕрдк рд╣реИ:
name: Publish
on:
push:
branches: [main]
jobs:
release:
runs-on: ubuntu-latest
# this check needs to be in place to prevent a publish loop with auto and github actions
if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'skip ci')"
steps:
- uses: actions/checkout<strong i="19">@v2</strong>
with:
# Needed for branch protection override
token: ${{ secrets.GITHUB_TOKEN }}
- name: Prepare repository
run: git fetch --unshallow --tags
- name: Use Node.js 12.x
uses: actions/setup-node<strong i="20">@v1</strong>
with:
node-version: 12.x
- name: Cache node modules
uses: actions/cache<strong i="21">@v2</strong>
with:
path: node_modules
key: node-modules-${{ hashFiles('package-lock.json') }}
restore-keys: |
node-modules-${{ hashFiles('package-lock.json') }}
- name: Create release
env
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
npm ci
npm run build
npm run release
GitHub рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВред
рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрдиреЗ GitHub рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдЖрдк NPM рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд░реЗрдкреЛ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
@hipstersmoothie рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рд╕реЗ рдореИрдВрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХреНрд╢рди рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рддрдм рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЕрдкрдбреЗрдЯ рдХрд░ рджрд┐рдП рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рдЕрднреА рднреА рд╕рднреА рдЪрд░рдг рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВред рдореБрдЭреЗ рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЕрдкрдиреЗ рдиреЛрдб рд╕реЗрдЯрдЕрдк рдореЗрдВ рднреА рдЬреЛрдбрд╝рдирд╛ рдерд╛ (рдЖрдкрдХреЗ рдбреЗрдореЛ рд░реЗрдкреЛ рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛):
with:
node-version: 14.x
registry-url: 'https://npm.pkg.github.com'
scope: '<strong i="7">@whiteorg</strong>'
рдореИрдВ рдЕрднреА рднреА NPM_TOKEN рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рд░рд╣рд╕реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдпрд╣ рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХрд┐
- name: Create release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
рдЕрдВрдд рдореЗрдВ, рдЙрд╕ рд╕рднреА рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде рдореИрдВ рдПрдХ рдкреАрдЖрд░ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдФрд░ рдСрдЯреЛ рдХреЛ рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдерд╛, рдПрдХ рдирдпрд╛ рдкреИрдХреЗрдЬ рдЬрд╛рд░реА рдХрд░рдирд╛ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг/рдЪреЗрдВрдЬрд▓реЙрдЧ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВрдиреЗ рдЗрдзрд░-рдЙрдзрд░ рднрд╛рдЧрддреЗ рд╣реБрдП рд╢рд╛рдЦрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рдерд╛; рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рдПрдХ рдирдИ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдЬрд╣рд╛рдВ рд╣рд░ рдмрд╛рд░ рдСрдЯреЛ рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдореИрдВрдиреЗ рдПрдХ рдирдпрд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЧрд┐рдЯрд╣рдм рдЯреЛрдХрди рдЬреЛрдбрд╝рдХрд░ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ GITHUB_SECRET
рдмрдЬрд╛рдп рдЗрд╕реЗ рдПрдХ рд░рд╣рд╕реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдЬреИрд╕реЗ:
- uses: actions/checkout<strong i="17">@v2</strong>
with:
# Needed for branch protection override
token: ${{ secrets.GH_ADMIN_TOKEN }}
рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХреЛрдИ рдмреЗрд╣рддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЙрдХреНрд╕ рдХреЛ рдпрд╣рд╛рдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ: https://intuit.github.io/auto/docs/build-platforms/github-actions#running -with-branch-protection
рдореИрдВрдиреЗ рдЙрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдпрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк #1828 рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ?
рд╕рдореАрдХреНрд╖рд╛ рдХреА рдЧрдИ, рдХреБрдЫ рдЫреЛрдЯреЗ рд╕реБрдЭрд╛рд╡ рд▓реЗрдХрд┐рди рд╕рднреА рдЕрдЪреНрдЫреЗ рд▓рдЧрддреЗ рд╣реИрдВ рдЖрдк рд╕рднреА рдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж
:рд░реЙрдХреЗрдЯ: рдореБрджреНрджрд╛ v10.16.8
рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рд░реЙрдХреЗрдЯ: