feat/icons (#21) #7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish to npm | |
on: | |
push: | |
branches: | |
- '**' | |
jobs: | |
publish: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Send Start Build Message | |
env: | |
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }} | |
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} | |
run: | | |
MSG="🚀 Началась сборка проекта *${{ github.repository }}*" | |
curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_TOKEN/sendMessage" -d "chat_id=$TELEGRAM_CHAT_ID" -d "text=$MSG" -d "parse_mode=Markdown" -d "message_thread_id=${{ secrets.MESSAGE_THREAD_ID }}" | |
- name: Clear npm cache | |
run: npm cache clean -f | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Set up Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: 20 | |
registry-url: 'https://registry.npmjs.org' | |
- name: Install dependencies | |
run: npm install | |
- name: Build project | |
run: npm run build | |
continue-on-error: true | |
- name: Check Build Status | |
run: | | |
if [ $? -eq 0 ]; then | |
echo "Build succeeded, proceeding to publish." | |
else | |
echo "Build failed, sending error message and exiting." | |
MSG="❌ Сборка проекта *${{ github.repository }}* не удалась" | |
curl -s -X POST "https://api.telegram.org/bot${{ secrets.TELEGRAM_TOKEN }}/sendMessage" -d "chat_id=${{ secrets.TELEGRAM_CHAT_ID }}" -d "text=$MSG" -d "parse_mode=Markdown" -d "message_thread_id=${{ secrets.MESSAGE_THREAD_ID }}" | |
exit 1 | |
fi | |
- name: Create npmrc file | |
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc | |
- name: Configure Git user | |
run: | | |
git config --global user.email ${{ secrets.USER_EMAIL }} | |
git config --global user.name ${{ secrets.USER_NAME }} | |
- name: Stage files | |
run: git add . | |
- name: Commit changes | |
run: git commit -m "Preparing to publish to npm" || echo "No changes to commit" | |
- name: Bump version | |
run: npm version patch | |
- name: Publish to npm | |
run: npm publish --access public | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
- name: Send Publish Success Message | |
if: success() | |
env: | |
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }} | |
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} | |
run: | | |
MSG="✅ Пакет *${{ github.repository }}* успешно опубликован" | |
curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_TOKEN/sendMessage" -d "chat_id=$TELEGRAM_CHAT_ID" -d "text=$MSG" -d "parse_mode=Markdown" -d "message_thread_id=${{ secrets.MESSAGE_THREAD_ID }}" | |
- name: Send Publish Error Message | |
if: failure() | |
env: | |
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }} | |
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} | |
run: | | |
MSG="❌ Ошибка при публикации пакета *${{ github.repository }}*" | |
curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_TOKEN/sendMessage" -d "chat_id=$TELEGRAM_CHAT_ID" -d "text=$MSG" -d "parse_mode=Markdown" -d "message_thread_id=${{ secrets.MESSAGE_THREAD_ID }}" |