12 Commits

Author SHA1 Message Date
0bba91486e Fix ci
Some checks failed
Build / build-windows (push) Has been cancelled
Build / build-linux (push) Has been cancelled
2024-08-07 20:10:49 +03:00
207717491c Fix docker build
Some checks failed
Build / build-linux (push) Failing after 31s
Build / build-windows (push) Has been cancelled
2024-08-05 17:18:15 +03:00
f185c31a17 Fix docker build 2024-08-05 17:14:00 +03:00
aeacc15439 Fix docker build 2024-08-05 17:07:38 +03:00
ccf54bc279 Fix docker build 2024-08-05 16:51:59 +03:00
AB
e07f173b7c Fix CI
Some checks are pending
Build / build-windows (push) Waiting to run
Build / build-linux (push) Waiting to run
2024-08-04 23:34:19 +03:00
AB
bcd869273d Fix CI 2024-08-04 23:17:56 +03:00
AB
1ee12fa0c0 Fix CI 2024-08-04 23:14:59 +03:00
76dab182cf pin docker ubuntu version 2024-08-04 23:05:07 +03:00
bacdf559c4 Fix /markov in private chats 2023-07-24 14:38:19 +03:00
82a81fffb6 Rebuild new docker 2023-07-01 04:28:04 +03:00
392669703d Update README.md 2022-12-16 12:29:50 +02:00
5 changed files with 48 additions and 58 deletions

View File

@ -11,26 +11,15 @@ jobs:
build-linux: build-linux:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v4
- name: Build - name: Build
run: cargo build --verbose --release run: cargo build --verbose --release
- name: Upload Linux binary - name: Upload Linux binary
uses: actions/upload-artifact@v1 uses: actions/upload-artifact@v4
with: with:
name: desubot name: desubot
path: ./target/release/desubot path: ./target/release/desubot
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Build
run: cargo build --verbose --release
- name: Upload Windows binary
uses: actions/upload-artifact@v1
with:
name: desubot.exe
path: ./target/release/desubot.exe
build-push-docker: build-push-docker:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -42,42 +31,45 @@ jobs:
echo ::set-output name=SOURCE_TAG::${GITHUB_REF#refs/tags/} echo ::set-output name=SOURCE_TAG::${GITHUB_REF#refs/tags/}
- -
name: Set up QEMU name: Set up QEMU
uses: docker/setup-qemu-action@v1 uses: docker/setup-qemu-action@v3
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v3
- -
name: Login to DockerHub name: Login to DockerHub
uses: docker/login-action@v1 uses: docker/login-action@v3
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- -
name: Build and push name: Build and push
id: docker_build_latest id: docker_build_latest
uses: docker/build-push-action@v2 uses: docker/build-push-action@v6
with: with:
push: true push: true
tags: ultradesu/desubot:latest tags: ultradesu/desubot:latest
- -
name: Build and push name: Build and push
id: docker_build_tag id: docker_build_tag
uses: docker/build-push-action@v2 uses: docker/build-push-action@v6
with: with:
push: true push: true
tags: ultradesu/desubot:${{ steps.branch_name.outputs.SOURCE_TAG }} tags: ultradesu/desubot:${{ steps.branch_name.outputs.SOURCE_TAG }}
publish: publish:
name: Publish release name: Publish release
needs: [build-windows, build-linux] needs: [build-linux]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
# - name: Checkout
# uses: actions/checkout@v4
- name: Get the version (git tag) - name: Get the version (git tag)
id: get_version id: get_version
run: | run: |
echo ${GITHUB_REF/refs\/tags\/v/} echo ${GITHUB_REF/refs\/tags\/v/}
echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/v/} echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/v/}
echo ::set-output name=FULL_TAG::${GITHUB_REF/refs\/tags\//} echo ::set-output name=FULL_TAG::${GITHUB_REF/refs\/tags\//}
- name: Get the repo data (git tag) - name: Get the repo data (git tag)
id: get_repo_data id: get_repo_data
run: | run: |
@ -85,40 +77,25 @@ jobs:
echo ::set-output name=AUTHOR::$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $1}') echo ::set-output name=AUTHOR::$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $1}')
echo ::set-output name=REPO_NAME::$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}') echo ::set-output name=REPO_NAME::$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}')
shell: bash shell: bash
- name: Create Release
id: create_release - name: Prepare release downloading
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- name: Upload binary assets
run: | run: |
mkdir artifacts mkdir artifacts
- name: Download Linux binary - name: Download Linux binary
uses: actions/download-artifact@v1 uses: actions/download-artifact@v4
with: with:
name: desubot name: desubot
path: ./artifacts/ path: ./artifacts/
- name: Download Windows binary
uses: actions/download-artifact@v1
with:
name: desubot.exe
path: ./artifacts/
- name: Upload binary assets
run: |
wget https://github.com/aktau/github-release/releases/download/v0.7.2/linux-amd64-github-release.tar.bz2
tar xjf linux-amd64-github-release.tar.bz2
export GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
for artifact in ./artifacts/*; do
./bin/linux/amd64/github-release upload \
-u ${{ steps.get_repo_data.outputs.AUTHOR }} \
-r ${{ steps.get_repo_data.outputs.REPO_NAME }} \
--tag ${{ steps.get_version.outputs.FULL_TAG }} \
--name ${artifact} \
--file ${artifact}
done
- name: Build
run: echo ${{ github.sha }} > Release.txt
- name: Test
run: cat Release.txt
- name: Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: './artifacts/*'

View File

@ -1,6 +1,6 @@
[package] [package]
name = "desubot" name = "desubot"
version = "0.5.9" version = "0.5.11"
authors = ["AB <ab@hexor.ru>"] authors = ["AB <ab@hexor.ru>"]
edition = "2018" edition = "2018"

View File

@ -1,11 +1,11 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
FROM rust:latest AS builder FROM rust:bookworm AS builder
WORKDIR /desubot WORKDIR /desubot
ADD ./ /desubot/ ADD ./ /desubot/
RUN cargo build --release RUN cargo build --release
FROM ubuntu:latest FROM debian:bookworm
WORKDIR /storage WORKDIR /storage
COPY --from=builder /desubot/target/release/desubot /usr/bin/ COPY --from=builder /desubot/target/release/desubot /usr/bin/
COPY mystem /usr/bin/ COPY mystem /usr/bin/

View File

@ -13,7 +13,10 @@ Telegram bot with light group statistic and heavy spy features.
== Important == == Important ==
* Desubot uses MyStem by Yandex for word stemming and assume that mystem binary is available in PATH. * Desubot uses MyStem by Yandex for word stemming and assume that mystem binary is available in PATH.
* ubuntu deps: libssl-dev libsqlite3-dev cmake libfreetype-dev * ubuntu deps: libssl-dev libsqlite3-dev cmake libfreetype-dev pkg-config
[Docker Hub](https://hub.docker.com/repository/docker/ultradesu/desubot/general)
![image](https://user-images.githubusercontent.com/4666566/150677613-32bdedf9-4b4c-4ec5-99cd-3d0221e56fb5.png) ![image](https://user-images.githubusercontent.com/4666566/150677613-32bdedf9-4b4c-4ec5-99cd-3d0221e56fb5.png)

View File

@ -140,13 +140,23 @@ pub async fn handler(
.await? .await?
} }
"/markov" => { "/markov" => {
if title != "PRIVATE" {
Markov { Markov {
data: "".to_string(), data: "".to_string(),
} }
.exec(&api, &message) .exec(&api, &message)
.await? .await?
} else {
let _ = api
.send(
message
.text_reply("Allowed in groups only")
.parse_mode(ParseMode::Html),
)
.await?;
} }
s if s == "/scheme" || s == "/schema" => { }
"/scheme" | "/schema" => {
Scheme { Scheme {
data: "".to_string(), data: "".to_string(),
} }