Setup initial github workflows for CI/CD and Issue Templates

This commit is contained in:
Mark Pollack 2024-12-10 17:54:33 -05:00
commit df947ee9f3
5 changed files with 142 additions and 0 deletions

27
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View file

@ -0,0 +1,27 @@
---
name: Bug report
about: Create a bug report to help us improve the project
title: ''
labels: 'type: bug, status: waiting-for-triage'
assignees: ''
---
Please do a quick search on GitHub issues first, there might be already a duplicate issue for the one you are about to create.
If the bug is trivial, just go ahead and create the issue. Otherwise, please take a few moments and fill in the following sections:
**Bug description**
A clear and concise description of what the bug is about.
**Environment**
Please provide as many details as possible: Spring MCP version, Java version, which vector store you use if any, etc
**Steps to reproduce**
Steps to reproduce the issue.
**Expected behavior**
A clear and concise description of what you expected to happen.
**Minimal Complete Reproducible example**
Please provide a failing test or a minimal complete verifiable example that reproduces the issue.
Bug reports that are reproducible will take priority in resolution over reports that are not reproducible.

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View file

@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Questions and Community Support
url: https://stackoverflow.com/questions/tagged/spring-ai-mcp
about: Please ask and answer questions on StackOverflow with the spring-ai tag

View file

@ -0,0 +1,27 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: 'status: waiting-for-triage, type: feature'
assignees: ''
---
Please do a quick search on GitHub issues first, the feature you are about to request might have already been requested.
**Expected Behavior**
<!--- Tell us how it should work. Add a code example to explain what you think the feature should look like. This is optional, but it would help up understand your expectations. -->
**Current Behavior**
<!--- Explain the difference from current behavior and why do you need this feature (aka why it is not possible to implement the desired functionality with the current version) -->
**Context**
<!---
How has this issue affected you?
What are you trying to accomplish?
What other alternatives have you considered?
Are you aware of any workarounds?
-->

17
.github/ISSUE_TEMPLATE/miscellaneous.md vendored Normal file
View file

@ -0,0 +1,17 @@
---
name: Miscellaneous
about: Suggest an improvement for this project
title: ''
labels: 'status: waiting-for-triage'
assignees: ''
---
For anything other than bug reports and feature requests (performance, refactoring, etc),
just go ahead and file the issue. Please provide as many details as possible.
If you have a question or a support request, please open a new discussion on [GitHub Discussions](https://github.com/spring-projects-experimental/spring-ai-mcp/discussions)
or ask a question on [StackOverflow](https://stackoverflow.com/questions/tagged/spring-ai-mcp).
Please do **not** create issues on the [Issue Tracker](https://github.com/spring-projects-experimental/spring-ai-mcp/issues) for questions or support requests.
We would like to keep the issue tracker **exclusively** for bug reports and feature requests.

View file

@ -0,0 +1,66 @@
name: CI/CD build
on:
push:
branches: [ "main" ]
jobs:
build:
name: Build branch
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v4
- name: Free Disk Space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
with:
large-packages: false
docker-images: false
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: 'maven'
- name: Build with Maven and deploy to Artifactory
env:
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: |
mvn -s settings.xml -Pjavadoc --batch-mode --update-snapshots deploy
- name: Generate Java docs
run: mvn javadoc:aggregate
- name: Capture project version
run: echo PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version --quiet -DforceStdout) >> $GITHUB_ENV
# - name: Generate assembly
# working-directory: spring-ai-docs
# run: mvn assembly:single
# - name: Setup SSH key
# env:
# DOCS_SSH_KEY: ${{ secrets.DOCS_SSH_KEY }}
# DOCS_SSH_HOST_KEY: ${{ secrets.DOCS_SSH_HOST_KEY }}
# run: |
# mkdir "$HOME/.ssh"
# echo "$DOCS_SSH_KEY" > "$HOME/.ssh/key"
# chmod 600 "$HOME/.ssh/key"
# echo "$DOCS_SSH_HOST_KEY" > "$HOME/.ssh/known_hosts"
#
# - name: Deploy docs
# env:
# DOCS_HOST: ${{ secrets.DOCS_HOST }}
# DOCS_PATH: ${{ secrets.DOCS_PATH }}
# DOCS_USERNAME: ${{ secrets.DOCS_USERNAME }}
# working-directory: spring-ai-docs/target
# run: |
# unzip spring-ai-$PROJECT_VERSION-docs.zip
# ssh -i $HOME/.ssh/key $DOCS_USERNAME@$DOCS_HOST "cd $DOCS_PATH && mkdir -p $PROJECT_VERSION"
# scp -i $HOME/.ssh/key -r api $DOCS_USERNAME@$DOCS_HOST:$DOCS_PATH/$PROJECT_VERSION