mirror of
https://github.com/openimsdk/open-im-server.git
synced 2026-04-28 22:39:18 +08:00
Compare commits
5 Commits
v3.2.2
...
v3.1.1-alpha.1
| Author | SHA1 | Date | |
|---|---|---|---|
| b1bd1df2d5 | |||
| e9a65701c3 | |||
| 02717604ca | |||
| 88f6f51eff | |||
| cce47bddd7 |
@@ -1,5 +1,5 @@
|
||||
USER=root
|
||||
PASSWORD=openIM123
|
||||
MINIO_ENDPOINT=http://127.0.0.1:10005
|
||||
API_URL=http://127.0.0.1:10002/object/
|
||||
MINIO_ENDPOINT=http://116.30.3.14:10005
|
||||
API_URL=http://116.30.3.14:10002/object/
|
||||
DATA_DIR=./
|
||||
@@ -9,3 +9,37 @@ updates:
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "08:00"
|
||||
labels:
|
||||
- "dependencies"
|
||||
commit-message:
|
||||
prefix: "feat"
|
||||
include: "scope"
|
||||
groups:
|
||||
gomod-deps:
|
||||
patterns:
|
||||
- "*"
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "08:00"
|
||||
labels:
|
||||
- "dependencies"
|
||||
commit-message:
|
||||
prefix: "chore"
|
||||
include: "scope"
|
||||
groups:
|
||||
github-actions:
|
||||
patterns:
|
||||
- "*"
|
||||
- package-ecosystem: "docker"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "08:00"
|
||||
labels:
|
||||
- "dependencies"
|
||||
commit-message:
|
||||
prefix: "feat"
|
||||
include: "scope"
|
||||
@@ -18,30 +18,21 @@ on:
|
||||
pull_request:
|
||||
# types:
|
||||
# - closed
|
||||
issue_comment:
|
||||
types: [created]
|
||||
pull_request_review_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
create-pr:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event.pull_request.base.ref == 'main'
|
||||
if: github.event.pull_request.base.ref == 'main' && github.event.pull_request.merged == true
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup GitHub CLI
|
||||
run: |
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0
|
||||
sudo apt-add-repository https://cli.github.com/packages
|
||||
sudo apt-get update
|
||||
sudo apt-get install gh
|
||||
continue-on-error: true
|
||||
|
||||
# - name: Configure GitHub CLI
|
||||
# run: |
|
||||
# git config --global user.email "3293172751ysy@gmail.com"
|
||||
# git config --global user.name "kubbot"
|
||||
# echo "${{ secrets.BOT_GITHUB_TOKEN }}" | gh auth login --with-token
|
||||
- name: Create PR to release branch
|
||||
run: |
|
||||
ISSUEID=$(gh pr view ${{ github.event.pull_request.number }} --repo $OWNER/$REPO | grep -oP 'Fixes #\K\d+')
|
||||
@@ -56,10 +47,9 @@ jobs:
|
||||
|
||||
gh pr edit ${{ github.event.pull_request.number }} --repo $OWNER/$REPO --add-label "$LABELS" --add-assignee "$ASSIGNEES" --milestone "$MILESTONE"
|
||||
|
||||
git checkout -b bot/merge-to-release-$ISSUEID
|
||||
git push origin bot/merge-to-release-$ISSUEID
|
||||
gh pr create --base release --head bot/merge-to-release-$ISSUEID --title "Merge main to release" --body ""
|
||||
|
||||
# git checkout -b bot/merge-to-release-$ISSUEID
|
||||
# git push origin bot/merge-to-release-$ISSUEID
|
||||
# gh pr create --base release --head bot/merge-to-release-$ISSUEID --title "Merge main to release" --body ""
|
||||
# gh pr create --base main --head feat/auto-release-pr-624 --title "The bug is fixed" --body "$x" --repo OpenIMSDK/Open-IM-Server --reviewer "cubxxw"
|
||||
continue-on-error: true
|
||||
env:
|
||||
@@ -67,4 +57,4 @@ jobs:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
ISSUE: ${{ github.event.issue.html_url }}
|
||||
OWNER: ${{ github.repository_owner }}
|
||||
REPO: ${{ github.event.repository.name }}
|
||||
REPO: ${{ github.event.repository.name }}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
name: Create Tag
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
pull_request_review_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
create_tag:
|
||||
runs-on: ubuntu-latest
|
||||
if: startsWith(github.event.comment.body, '/create tag')
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Validate version number and get comment
|
||||
id: validate
|
||||
run: |
|
||||
COMMENT="${{ github.event.comment.body }}"
|
||||
VERSION=$(echo $COMMENT | cut -d ' ' -f 3)
|
||||
TAG_COMMENT=$(echo $COMMENT | cut -d '"' -f 2)
|
||||
if [[ $VERSION =~ ^v([0-9]+\.){2}[0-9]+$ ]]; then
|
||||
echo "version=$VERSION" >> $GITHUB_STATE
|
||||
echo "tag_comment=$TAG_COMMENT" >> $GITHUB_STATE
|
||||
else
|
||||
echo "Invalid version number."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Create a new tag
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
run: |
|
||||
source $GITHUB_STATE
|
||||
git tag -a $VERSION -m "$tag_comment"
|
||||
git push origin $VERSION
|
||||
echo "tag_created=$VERSION" >> $GITHUB_OUTPUT
|
||||
@@ -18,6 +18,7 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- release-v*
|
||||
paths:
|
||||
- "**.go"
|
||||
- "!**_test.go"
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
# shamelessly copied from https://github.com/sigstore/cosign/blob/main/.github/workflows/milestone.yaml
|
||||
|
||||
name: milestone
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [closed]
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
milestone:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
permissions:
|
||||
actions: none
|
||||
checks: none
|
||||
contents: read
|
||||
deployments: none
|
||||
issues: write
|
||||
packages: none
|
||||
pull-requests: write
|
||||
repository-projects: none
|
||||
security-events: none
|
||||
statuses: none
|
||||
|
||||
steps:
|
||||
- uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6
|
||||
with:
|
||||
script: |
|
||||
if (!context.payload.pull_request.merged) {
|
||||
console.log('PR was not merged, skipping.');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!!context.payload.pull_request.milestone) {
|
||||
console.log('PR has existing milestone, skipping.');
|
||||
return;
|
||||
}
|
||||
|
||||
milestones = await github.rest.issues.listMilestones({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
state: 'open',
|
||||
sort: 'due_on',
|
||||
direction: 'asc'
|
||||
})
|
||||
if (milestones.data.length === 0) {
|
||||
console.log('There are no milestones, skipping.');
|
||||
return;
|
||||
}
|
||||
|
||||
await github.rest.issues.update({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: context.payload.pull_request.number,
|
||||
milestone: milestones.data[0].number
|
||||
});
|
||||
@@ -33,4 +33,4 @@ jobs:
|
||||
with:
|
||||
project: OpenIM-V3.1
|
||||
column: In Progress
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
repo-token: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
+1
-1
@@ -114,7 +114,7 @@ linters-settings:
|
||||
max-blank-identifiers: 2
|
||||
dupl:
|
||||
# tokens count to trigger issue, 150 by default
|
||||
threshold: 100
|
||||
threshold: 200
|
||||
errcheck:
|
||||
# report about not checking of errors in type assertions: `a := b.(MyStruct)`;
|
||||
# default is false: such cases aren't reported by default.
|
||||
|
||||
+6
-3
@@ -447,8 +447,8 @@ milestones:
|
||||
# Repository for the milestone
|
||||
# Default is extracted from the origin remote URL
|
||||
repo:
|
||||
owner: user
|
||||
name: repo
|
||||
owner: OpenIMSDK
|
||||
name: Open-IM-Server
|
||||
|
||||
# Whether to close the milestone
|
||||
close: true
|
||||
@@ -479,6 +479,9 @@ checksum:
|
||||
algorithm: sha256
|
||||
|
||||
release:
|
||||
|
||||
prerelease: auto
|
||||
|
||||
footer: |
|
||||
|
||||
## Welcome to the {{ .Tag }} release of [chat](https://github.com/OpenIMSDK/chat)!🎉🎉!
|
||||
@@ -493,7 +496,7 @@ release:
|
||||
|
||||
This release is only possible thanks to **all** the support of some **awesome people**!
|
||||
|
||||
https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/conversions/version.md
|
||||
If you wish to use mirroring, read OpenIM's [image management policy](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/conversions/images.md)
|
||||
|
||||
**Want to be one of them 😘?**
|
||||
|
||||
|
||||
+8
-17
@@ -1,10 +1,6 @@
|
||||
# Build Stage
|
||||
FROM golang:1.20 AS builder
|
||||
|
||||
LABEL org.opencontainers.image.source=https://github.com/OpenIMSDK/Open-IM-Server
|
||||
LABEL org.opencontainers.image.description="OpenIM Server image"
|
||||
LABEL org.opencontainers.image.licenses="Apache 2.0"
|
||||
|
||||
# Set go mod installation source and proxy
|
||||
ARG GO111MODULE=on
|
||||
ARG GOPROXY=https://goproxy.cn,direct
|
||||
@@ -12,26 +8,21 @@ ENV GO111MODULE=$GO111MODULE
|
||||
ENV GOPROXY=$GOPROXY
|
||||
|
||||
# Set up the working directory
|
||||
WORKDIR /Open-IM-Server
|
||||
WORKDIR /openim/openim-server
|
||||
|
||||
# Copy all files to the container
|
||||
ADD . .
|
||||
|
||||
RUN /bin/sh -c "make clean"
|
||||
RUN /bin/sh -c "make build"
|
||||
|
||||
# Production Stage
|
||||
FROM alpine
|
||||
FROM ghcr.io/openim-sigs/openim-bash-image:latest
|
||||
|
||||
RUN echo "https://mirrors.aliyun.com/alpine/v3.4/main" > /etc/apk/repositories && \
|
||||
apk --no-cache add tzdata ca-certificates bash
|
||||
|
||||
# Set directory to map logs, config files, scripts, and SDK
|
||||
VOLUME ["/Open-IM-Server/logs", "/Open-IM-Server/config", "/Open-IM-Server/scripts", "/Open-IM-Server/db/sdk"]
|
||||
WORKDIR ${SERVER_WORKDIR}
|
||||
|
||||
# Copy scripts and binary files to the production image
|
||||
COPY --from=builder /Open-IM-Server/scripts /Open-IM-Server/scripts
|
||||
COPY --from=builder /Open-IM-Server/_output/bin/platforms/linux/amd64 /Open-IM-Server/_output/bin/platforms/linux/amd64
|
||||
COPY --from=builder ${OPENIM_SERVER_CMDDIR} /openim/openim-server/scripts
|
||||
COPY --from=builder ${SERVER_WORKDIR}/config /openim/openim-server/config
|
||||
COPY --from=builder ${SERVER_WORKDIR}/_output/bin/ /openim/openim-server/_output/bin/
|
||||
|
||||
WORKDIR /Open-IM-Server/scripts
|
||||
|
||||
CMD ["./docker_start_all.sh"]
|
||||
CMD ["sh","-c","${OPENIM_SERVER_CMDDIR}/docker_start_all.sh"]
|
||||
+7
-5
@@ -103,11 +103,9 @@ services:
|
||||
image: ghcr.io/openimsdk/openim-server:latest
|
||||
container_name: openim-server
|
||||
volumes:
|
||||
- ./logs:/Open-IM-Server/logs
|
||||
- ./config/config.yaml:/Open-IM-Server/config/config.yaml
|
||||
- ./config/notification.yaml:/Open-IM-Server/config/notification.yaml
|
||||
- ${DATA_DIR}/db/sdk:/Open-IM-Server/db/sdk
|
||||
- ./scripts:/Open-IM-Server/scripts
|
||||
- ./logs:/openim/openim-server/logs
|
||||
- ./config:/openim/openim-server/config
|
||||
- ./scripts:/openim/openim-server/scripts
|
||||
restart: always
|
||||
depends_on:
|
||||
- zookeeper
|
||||
@@ -126,6 +124,10 @@ services:
|
||||
openim_chat:
|
||||
image: ghcr.io/openimsdk/openim-chat:latest
|
||||
container_name: openim_chat
|
||||
volumes:
|
||||
- ./_output/openim/openim-chat/logs:/openim/openim-chat/logs
|
||||
- ./_output/openim/openim-chat/config:/openim/openim-chat/config
|
||||
- ./_output/openim/openim-chat/scripts:/openim/openim-chat/scripts
|
||||
restart: always
|
||||
depends_on:
|
||||
- mysql
|
||||
|
||||
@@ -22,11 +22,11 @@ OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
|
||||
|
||||
#fixme Put the shell scripts name here
|
||||
need_to_start_server_shell=(
|
||||
start_rpc_service.sh
|
||||
msg_gateway_start.sh
|
||||
push_start.sh
|
||||
msg_transfer_start.sh
|
||||
start_cron.sh
|
||||
${SCRIPTS_ROOT}/start_rpc_service.sh
|
||||
${SCRIPTS_ROOT}/msg_gateway_start.sh
|
||||
${SCRIPTS_ROOT}/push_start.sh
|
||||
${SCRIPTS_ROOT}/msg_transfer_start.sh
|
||||
${SCRIPTS_ROOT}/start_cron.sh
|
||||
)
|
||||
|
||||
#fixme The 10 second delay to start the project is for the docker-compose one-click to start openIM when the infrastructure dependencies are not started
|
||||
@@ -41,8 +41,7 @@ echo "==========================================================">>$OPENIM_ROOT/
|
||||
echo "==========================================================">>$OPENIM_ROOT/logs/openIM.log 2>&1 &
|
||||
echo "==========================================================">>$OPENIM_ROOT/logs/openIM.log 2>&1 &
|
||||
for i in ${need_to_start_server_shell[*]}; do
|
||||
chmod +x $i
|
||||
./$i
|
||||
$i
|
||||
done
|
||||
|
||||
sleep 15
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
demo_server_name="openim_chat_api"
|
||||
demo_server_binary_root="$BIN_DIR/"
|
||||
|
||||
|
||||
|
||||
#Global configuration file default dir
|
||||
config_path="../.docker-compose_cfg/config.yaml"
|
||||
|
||||
@@ -18,6 +16,7 @@ service_source_root=(
|
||||
../cmd/openim-rpc/admin/
|
||||
../cmd/openim-rpc/chat/
|
||||
)
|
||||
|
||||
#service filename
|
||||
service_names=(
|
||||
#api service filename
|
||||
|
||||
+43
-40
@@ -13,50 +13,53 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
function style-info() {
|
||||
COLOR_SUFFIX="\033[0m" # End all colors and special effects
|
||||
|
||||
COLOR_SUFFIX="\033[0m" # End all colors and special effects
|
||||
BLACK_PREFIX="\033[30m" # Black prefix
|
||||
RED_PREFIX="\033[31m" # Red prefix
|
||||
GREEN_PREFIX="\033[32m" # Green prefix
|
||||
YELLOW_PREFIX="\033[33m" # Yellow prefix
|
||||
BLUE_PREFIX="\033[34m" # Blue prefix
|
||||
PURPLE_PREFIX="\033[35m" # Purple prefix
|
||||
SKY_BLUE_PREFIX="\033[36m" # Sky blue prefix
|
||||
WHITE_PREFIX="\033[37m" # White prefix
|
||||
BOLD_PREFIX="\033[1m" # Bold prefix
|
||||
UNDERLINE_PREFIX="\033[4m" # Underline prefix
|
||||
ITALIC_PREFIX="\033[3m" # Italic prefix
|
||||
|
||||
BLACK_PREFIX="\033[30m" # Black prefix
|
||||
RED_PREFIX="\033[31m" # Red prefix
|
||||
GREEN_PREFIX="\033[32m" # Green prefix
|
||||
YELLOW_PREFIX="\033[33m" # Yellow prefix
|
||||
BLUE_PREFIX="\033[34m" # Blue prefix
|
||||
PURPLE_PREFIX="\033[35m" # Purple prefix
|
||||
SKY_BLUE_PREFIX="\033[36m" # Sky blue prefix
|
||||
WHITE_PREFIX="\033[37m" # White prefix
|
||||
BOLD_PREFIX="\033[1m" # Bold prefix
|
||||
UNDERLINE_PREFIX="\033[4m" # Underline prefix
|
||||
ITALIC_PREFIX="\033[3m" # Italic prefix
|
||||
CYAN_PREFIX="033[0;36m" # Cyan prefix
|
||||
|
||||
CYAN_PREFIX="033[0;36m" # Cyan prefix
|
||||
BACKGROUND_BLACK="\033[40m" # Black background
|
||||
BACKGROUND_RED="\033[41m" # Red background
|
||||
BACKGROUND_GREEN="\033[42m" # Green background
|
||||
BACKGROUND_YELLOW="\033[43m" # Yellow background
|
||||
BACKGROUND_BLUE="\033[44m" # Blue background
|
||||
BACKGROUND_PURPLE="\033[45m" # Purple background
|
||||
BACKGROUND_SKY_BLUE="\033[46m" # Sky blue background
|
||||
BACKGROUND_WHITE="\033[47m" # White background
|
||||
|
||||
BACKGROUND_BLACK="\033[40m" # Black background
|
||||
BACKGROUND_RED="\033[41m" # Red background
|
||||
BACKGROUND_GREEN="\033[42m" # Green background
|
||||
BACKGROUND_YELLOW="\033[43m" # Yellow background
|
||||
BACKGROUND_BLUE="\033[44m" # Blue background
|
||||
BACKGROUND_PURPLE="\033[45m" # Purple background
|
||||
BACKGROUND_SKY_BLUE="\033[46m" # Sky blue background
|
||||
BACKGROUND_WHITE="\033[47m" # White background
|
||||
BLINK="\033[5m" # Blinking effect
|
||||
INVERT="\033[7m" # Invert color
|
||||
HIDE="\033[8m" # Hide text
|
||||
|
||||
BLINK="\033[5m" # Blinking effect
|
||||
INVERT="\033[7m" # Invert color
|
||||
HIDE="\033[8m" # Hide text
|
||||
GRAY_PREFIX="\033[90m" # Gray prefix
|
||||
LIGHT_RED_PREFIX="\033[91m" # Light red prefix
|
||||
LIGHT_GREEN_PREFIX="\033[92m" # Light green prefix
|
||||
LIGHT_YELLOW_PREFIX="\033[93m" # Light yellow prefix
|
||||
LIGHT_BLUE_PREFIX="\033[94m" # Light blue prefix
|
||||
LIGHT_PURPLE_PREFIX="\033[95m" # Light purple prefix
|
||||
LIGHT_SKY_BLUE_PREFIX="\033[96m" # Light sky blue prefix
|
||||
LIGHT_WHITE_PREFIX="\033[97m" # Light white prefix
|
||||
|
||||
GRAY_PREFIX="\033[90m" # Gray prefix
|
||||
LIGHT_RED_PREFIX="\033[91m" # Light red prefix
|
||||
LIGHT_GREEN_PREFIX="\033[92m" # Light green prefix
|
||||
LIGHT_YELLOW_PREFIX="\033[93m" # Light yellow prefix
|
||||
LIGHT_BLUE_PREFIX="\033[94m" # Light blue prefix
|
||||
LIGHT_PURPLE_PREFIX="\033[95m" # Light purple prefix
|
||||
LIGHT_SKY_BLUE_PREFIX="\033[96m" # Light sky blue prefix
|
||||
LIGHT_WHITE_PREFIX="\033[97m" # Light white prefix
|
||||
BACKGROUND_GRAY="\033[100m" # Gray background
|
||||
BACKGROUND_LIGHT_RED="\033[101m" # Light red background
|
||||
BACKGROUND_LIGHT_GREEN="\033[102m" # Light green background
|
||||
BACKGROUND_LIGHT_YELLOW="\033[103m" # Light yellow background
|
||||
BACKGROUND_LIGHT_BLUE="\033[104m" # Light blue background
|
||||
BACKGROUND_LIGHT_PURPLE="\033[105m" # Light purple background
|
||||
BACKGROUND_LIGHT_SKY_BLUE="\033[106m" # Light sky blue background
|
||||
BACKGROUND_LIGHT_WHITE="\033[107m" # Light white background
|
||||
}
|
||||
|
||||
BACKGROUND_GRAY="\033[100m" # Gray background
|
||||
BACKGROUND_LIGHT_RED="\033[101m" # Light red background
|
||||
BACKGROUND_LIGHT_GREEN="\033[102m" # Light green background
|
||||
BACKGROUND_LIGHT_YELLOW="\033[103m" # Light yellow background
|
||||
BACKGROUND_LIGHT_BLUE="\033[104m" # Light blue background
|
||||
BACKGROUND_LIGHT_PURPLE="\033[105m" # Light purple background
|
||||
BACKGROUND_LIGHT_SKY_BLUE="\033[106m" # Light sky blue background
|
||||
BACKGROUND_LIGHT_WHITE="\033[107m" # Light white background
|
||||
style-info
|
||||
Reference in New Issue
Block a user