1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- 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: Get next release version (dry-run)
- id: get_version
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- # Run dry-run and save output to file
- npx semantic-release --dry-run --no-ci | tee release.log
- # Extract version (now supports pre-releases like -dev.23, -beta.5, etc.)
- NEXT_VERSION=$(grep 'The next release version is' release.log \
- | sed -E 's/.* ([0-9]+\.[0-9]+\.[0-9]+[-.0-9a-zA-Z]*).*$/\1/')
-
- echo "APP_VERSION=$NEXT_VERSION" >> $GITHUB_ENV
- echo "Got version: $NEXT_VERSION"
- - name: Create .env file
- run: |
- echo "Writing..."
- echo "API_URL=https://hapticx.ru/api" >> .env
- echo "APP_VERSION=${APP_VERSION}" >> .env
- - name: Build android
- run: pnpm build:mobile
- - name: Upload APK artifact
- uses: actions/upload-artifact@v4
- with:
- name: "ktc-${{ env.APP_VERSION }}.apk"
- path: "${{ env.APP_VERSION }}.apk"
- if-no-files-found: 'error'
- retention-days: 1
- compression-level: 0
-
- - 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"
|