[Build] Add workflows for automatic releases
This commit is contained in:
1 parent
34e282e091
commit
1544682cc4
10 files changed
+190
-27
No files matched your search
@@ -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
|
||||
|
||||
@@ -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) }}
|
||||
@@ -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
|
||||
Reference in new issue
Block a user