123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- name: AutoDeploy
- on:
- push:
- branches:
- - 'dev'
- - 'master'
- jobs:
- build:
- name: "Сборка и публикация версии 🔨"
- runs-on: ubuntu-latest
- permissions:
- contents: write
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- - name: Setup Node.js
- uses: actions/setup-node@v3
- with:
- node-version: '21'
- - name: Install pnpm
- run: npm -g i pnpm
- - name: Install dependencies
- run: pnpm i
- - name: Install semantic-release packages
- run: pnpm i @semantic-release/changelog @semantic-release/git @semantic-release/github
- - name: Build web assets
- run: pnpm nuxt generate
- env:
- API_URL: ${{ secrets.API_URL }}
- SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
- SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
- SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
- SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
- - name: Add Capacitor Android project
- run: pnpm cap add android
- - name: Sync Capacitor project
- run: npx cap sync
- - name: Set up Java
- uses: actions/setup-java@v4
- with:
- distribution: 'zulu'
- java-version: '21'
- - name: Set up Android SDK
- uses: android-actions/setup-android@v3
- - name: Accept Android SDK licenses
- run: |
- yes | sdkmanager --licenses
- - name: Setup Gradle
- uses: gradle/actions/setup-gradle@v4
- - name: Build Android APK
- working-directory: android
- run: ./gradlew assembleDebug
- - name: Publishing release
- run: npx semantic-release
- env:
- GH_TOKEN: ${{ secrets.GH_TOKEN }}
- deploy_dev:
- name: "Уведомление в Telegram 🔔"
- runs-on: ubuntu-latest
- needs: build
- steps:
- - uses: actions/checkout@v4
- - name: Escape bad symbols in variables
- id: escape_vars
- run: |
- escaped_message=$(echo "${{ github.event.head_commit.message }}" | perl -pe 's/([&~\`\*\_\[\]()#\+\-\=\|\{\}\.\!])/\\\\$1/g')
- escaped_actor=$(echo "${{ github.actor }}" | perl -pe 's/([&~\`\*\_\[\]()#\+\-\=\|\{\}\.\!])/\\\\$1/g')
- escaped_branch=$(echo "${{ github.ref_name }}" | perl -pe 's/([&~\`\*\_\[\]()#\+\-\=\|\{\}\.\!])/\\\\$1/g')
- echo "escaped_message=$escaped_message" >> $GITHUB_ENV
- echo "escaped_actor=$escaped_actor" >> $GITHUB_ENV
- echo "escaped_branch=$escaped_branch" >> $GITHUB_ENV
- - name: Send Telegram Message
- run: |
- curl \
- --data-urlencode 'chat_id=${{ secrets.TELEGRAM_CHAT_ID }}' \
- --data-urlencode 'message_thread_id=${{ secrets.TELEGRAM_MESSAGE_THREAD_ID }}' \
- --data-urlencode 'link_preview_options={"url":"${{ github.event.head_commit.url }}"}' \
- --data-urlencode 'parse_mode=markdownv2' \
- --data-urlencode $'text=🔨 *Frontend deploy* 🔨\n\n>${{ env.escaped_message }}\n_by [${{ env.escaped_actor }}](https://github.com/${{ env.escaped_actor }})_ at `${{ env.escaped_branch }}`\n\n[commit link](${{ github.event.head_commit.url }})' \
- curl "https://api.telegram.org/bot${{ secrets.TELEGRAM_TOKEN }}/sendMessage"
|