Go to file
2024-03-20 16:35:49 +07:00
.github/workflows Revert "Bump jdk" 2024-03-20 16:35:49 +07:00
CODEOWNERS Provide code owners 2022-02-03 12:59:39 +03:00
LICENSE Initial commit 2022-01-19 15:15:31 +03:00
README.md fix README.md (#3) 2022-02-24 12:13:55 +07:00
renovate.json fix README.md (#3) 2022-02-24 12:13:55 +07:00

java-workflow

В репозитории хранятся общие описания для сборок java/kotlin проектов. Сборка наших проектов бывает разной, в зависимости от типа собираемого проекта:

  • Service - Maven сборка сервиса с деплоем docker image в docker hub
  • Thrift - собираем thrift протокол и деплоим в maven central
  • Library - собираем библиотеку и деплоим в maven central
  • Swag - собираем openapi, деплоим в maven central и публикуем в github pages

Чтобы начать использовать java-workflow в своем репозитории - добавьте в директорию /.github/workflows/ файлы build.yml и deploy.yml, файлов описания workflow не обязательно должно быть два, вы можете самостоятельно описать workflow с использованием java-workflow. Ниже приведен пример для service типа проекта. Аналогично и для других типов, изменяется только название файла и передаваемые параметры.

build.yml

name: Build Maven Artifact

on:
  pull_request:
    branches:
      - '*'

jobs:
  build:
    uses: valitydev/java-workflow/.github/workflows/maven-service-build.yml@v1

deploy.yml

name: Deploy Docker Image

on:
  push:
    branches:
      - 'master'

jobs:
  build-and-deploy:
    uses: valitydev/java-workflow/.github/workflows/maven-service-deploy.yml@v1
    secrets:
      github-token: ${{ secrets.GITHUB_TOKEN }}
      mm-webhook-url: ${{ secrets.MATTERMOST_WEBHOOK_URL }}

Service

build.yml

uses: valitydev/java-workflow/.github/workflows/maven-service-build.yml@v1

deploy.yml

uses: valitydev/java-workflow/.github/workflows/maven-service-deploy.yml@v1
secrets:
  github-token: ${{ secrets.GITHUB_TOKEN }}
  mm-webhook-url: ${{ secrets.MATTERMOST_WEBHOOK_URL }}

Thrift

build.yml

uses: valitydev/java-workflow/.github/workflows/maven-thrift-build.yml@v1

deploy.yml

uses: valitydev/java-workflow/.github/workflows/maven-thrift-deploy.yml@v1
secrets:
  server-username: ${{ secrets.OSSRH_USERNAME }}
  server-password: ${{ secrets.OSSRH_TOKEN }}
  deploy-secret-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
  deploy-secret-key-password: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
  mm-webhook-url: ${{ secrets.MATTERMOST_WEBHOOK_URL }}

erlang-build-verify.yml

uses: valitydev/java-workflow/.github/workflows/erlang-thrift-build.yml@v1

Library

build.yml

uses: valitydev/java-workflow/.github/workflows/maven-library-build.yml@v1

deploy.yml

uses: valitydev/java-workflow/.github/workflows/maven-library-deploy.yml@v1
secrets:
  server-username: ${{ secrets.OSSRH_USERNAME }}
  server-password: ${{ secrets.OSSRH_TOKEN }}
  deploy-secret-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
  deploy-secret-key-password: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
  mm-webhook-url: ${{ secrets.MATTERMOST_WEBHOOK_URL }}

Swag

build.yml

uses: valitydev/java-workflow/.github/workflows/maven-swag-build.yml@v1

deploy.yml

uses: valitydev/java-workflow/.github/workflows/maven-swag-deploy.yml@v1
secrets:
  server-username: ${{ secrets.OSSRH_USERNAME }}
  server-password: ${{ secrets.OSSRH_TOKEN }}
  deploy-secret-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
  deploy-secret-key-password: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
  github-token: ${{ secrets.GITHUB_TOKEN }}
  mm-webhook-url: ${{ secrets.MATTERMOST_WEBHOOK_URL }}