[Build] Add workflows for automatic releases

This commit is contained in:
SpaiR committed 2021-07-10 14:15:45 +03:00
1 parent 34e282e091
commit 1544682cc4
10 files changed
+190 -27

No files matched your search

+1 -1
View File
@@ -19,7 +19,7 @@ jobs:
- name: Build
uses: eskatos/gradle-command-action@v1
with:
arguments: build
arguments: buildAll
build-natives:
env:
FREETYPE_URL: https://download.savannah.gnu.org/releases/freetype/freetype-2.10.4.tar.gz
+53
View File
@@ -0,0 +1,53 @@
name: Publish to Maven
on: workflow_dispatch
jobs:
publish-modules:
strategy:
matrix:
module: [imgui-app, imgui-lwjgl3, imgui-binding]
name: Publish Module (${{ matrix.module }})
runs-on: ubuntu-latest
env:
NEXUS_UPD_ID: ${{ secrets.RELEASE_NEXUS_UPD_ID }}
NEXUS_UPD_PASS: ${{ secrets.RELEASE_NEXUS_UPD_PASS }}
SIGNING_KEY_ID: ${{ secrets.RELEASE_SIGNING_KEY_ID }}
SIGNING_KEY: ${{ secrets.RELEASE_SIGNING_KEY }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Set up Java 8
uses: actions/setup-java@v1
with:
java-version: 8
- name: Publish
uses: eskatos/gradle-command-action@v1
with:
arguments: ${{ format(':{0}:publishMavenJavaPublicationToMavenCentralRepository', matrix.module) }}
publish-natives:
strategy:
matrix:
type: [win, linux, mac]
freetype: [true, false]
name: Publish Native (type=${{ matrix.type }}, freetype=${{ matrix.freetype }})
runs-on: ubuntu-latest
env:
NEXUS_UPD_ID: ${{ secrets.RELEASE_NEXUS_UPD_ID }}
NEXUS_UPD_PASS: ${{ secrets.RELEASE_NEXUS_UPD_PASS }}
SIGNING_KEY_ID: ${{ secrets.RELEASE_SIGNING_KEY_ID }}
SIGNING_KEY: ${{ secrets.RELEASE_SIGNING_KEY }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Set up Java 8
uses: actions/setup-java@v1
with:
java-version: 8
- name: Publish
uses: eskatos/gradle-command-action@v1
with:
arguments: ${{ format(':imgui-binding-natives:publishMavenJavaPublicationToMavenCentralRepository -PdeployType={0} -Pfreetype={1}', matrix.type, matrix.freetype) }}
+60
View File
@@ -0,0 +1,60 @@
name: Release
on:
workflow_dispatch:
inputs:
version:
description: 'Version'
required: true
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Up Version
uses: eskatos/gradle-command-action@v1
with:
arguments: ${{ format('upVersion -Pnext={0}', github.event.inputs.version) }}
- name: Commit Version
uses: EndBug/add-and-commit@v7
with:
default_author: github_actions
message: ${{ format('v{0}', github.event.inputs.version) }}
- name: Push Tag
uses: mathieudutour/github-tag-action@v5.5
id: tag_version
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
custom_tag: ${{ github.event.inputs.version }}
- name: Build All
uses: eskatos/gradle-command-action@v1
with:
arguments: buildAll
- name: Generate changelog
id: changelog
uses: metcalfc/changelog-generator@v1.0.0
with:
myToken: ${{ secrets.GITHUB_TOKEN }}
- name: Release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body: ${{ steps.tag_version.outputs.changelog }} ${{ steps.changelog.outputs.changelog }}
tag_name: ${{ steps.tag_version.outputs.new_tag }}
draft: true
prerelease: false
files: |
imgui-app/build/libs/*.jar
imgui-binding/build/libs/*.jar
imgui-lwjgl3/build/libs/*.jar
bin/imgui-java64.dll
bin/libimgui-java64.dylib
bin/libimgui-java64.so