mirror of
https://github.com/GTNewHorizons/Postea.git
synced 2026-11-12 00:17:47 +00:00
ci: refine release structure to work both for example mod and any derivative
This commit is contained in:
1 parent
0fdac33782
commit
a02e17bc9e
4 files changed
+68
-53
No files matched your search
@@ -1,29 +1,35 @@
|
||||
# This workflow only meant for the source mod you shouldn't bring it into your own project
|
||||
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
|
||||
|
||||
name: Release packages
|
||||
name: Release starter and migration packages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master, main ]
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
zip-packages:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Prepare release folder
|
||||
run: |
|
||||
mkdir packages
|
||||
|
||||
- name: Zip starter
|
||||
uses: montudor/action-zip@v1
|
||||
with:
|
||||
args: >
|
||||
zip -r starter.zip . \
|
||||
zip -r packages/starter.zip . \
|
||||
\
|
||||
-x "*.git/*" \
|
||||
\
|
||||
-x ".github/scripts/update-version.sh" \
|
||||
-x ".github/workflows/buildscript-maintenance.yml" \
|
||||
-x ".github/workflows/package-release.yml" \
|
||||
-x ".github/workflows/release-packages.yml" \
|
||||
\
|
||||
-x "*docs/*" \
|
||||
-x "README.md" \
|
||||
@@ -32,26 +38,17 @@ jobs:
|
||||
-x "starter.zip" \
|
||||
-x "migration.zip"
|
||||
|
||||
- name: Publish starter package
|
||||
uses: "marvinpinto/action-automatic-releases@latest"
|
||||
with:
|
||||
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
automatic_release_tag: "latest-stater"
|
||||
prerelease: true
|
||||
title: "Latest starter package"
|
||||
files: "starter.zip"
|
||||
|
||||
- name: Zip migration
|
||||
uses: montudor/action-zip@v1
|
||||
with:
|
||||
args: >
|
||||
zip -r migration.zip . \
|
||||
zip -r packages/migration.zip . \
|
||||
\
|
||||
-x "*.git/*" \
|
||||
\
|
||||
-x ".github/scripts/update-version.sh" \
|
||||
-x ".github/workflows/buildscript-maintenance.yml" \
|
||||
-x ".github/workflows/package-release.yml" \
|
||||
-x ".github/workflows/release-packages.yml" \
|
||||
\
|
||||
-x "*docs/*" \
|
||||
-x "*src/*" \
|
||||
@@ -60,12 +57,21 @@ jobs:
|
||||
\
|
||||
-x "starter.zip" \
|
||||
-x "migration.zip"
|
||||
|
||||
- name: Publish migration package
|
||||
|
||||
- name: Release under current tag
|
||||
uses: "marvinpinto/action-automatic-releases@latest"
|
||||
with:
|
||||
repo_token: "${{ secrets.GITHUB_TOKEN }}-packages"
|
||||
automatic_release_tag: "${GITHUB_REF##*/}"
|
||||
prerelease: false
|
||||
title: "${GITHUB_REF##*/}: starter and migration packages"
|
||||
files: packages/*
|
||||
|
||||
- name: Update latest tag
|
||||
uses: "marvinpinto/action-automatic-releases@latest"
|
||||
with:
|
||||
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
automatic_release_tag: "latest-migration"
|
||||
prerelease: true
|
||||
title: "Latest migration package"
|
||||
files: "migration.zip"
|
||||
automatic_release_tag: "latest-packages"
|
||||
prerelease: false
|
||||
title: "Latest starter and migration packages"
|
||||
files: packages/*
|
||||
@@ -1,7 +1,7 @@
|
||||
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
|
||||
|
||||
name: Build and release main branch
|
||||
name: Release artifacts
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -12,31 +12,40 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up JDK 8
|
||||
uses: actions/setup-java@v2
|
||||
with:
|
||||
java-version: '8'
|
||||
distribution: 'adopt'
|
||||
cache: gradle
|
||||
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup the workspace
|
||||
run: ./gradlew setupCIWorkspace
|
||||
|
||||
- name: Build the mod
|
||||
run: ./gradlew build
|
||||
|
||||
- uses: "marvinpinto/action-automatic-releases@latest"
|
||||
with:
|
||||
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
automatic_release_tag: "${GITHUB_REF##*/}"
|
||||
prerelease: true
|
||||
title: "${GITHUB_REF##*/}"
|
||||
files: build/libs/*.jar
|
||||
|
||||
- name: Set up JDK 8
|
||||
uses: actions/setup-java@v2
|
||||
with:
|
||||
java-version: '8'
|
||||
distribution: 'adopt'
|
||||
cache: gradle
|
||||
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
|
||||
- name: Setup the workspace
|
||||
run: ./gradlew setupCIWorkspace
|
||||
|
||||
- name: Build the mod
|
||||
run: ./gradlew build
|
||||
|
||||
- name: Release under current tag
|
||||
uses: "marvinpinto/action-automatic-releases@latest"
|
||||
with:
|
||||
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
automatic_release_tag: "${GITHUB_REF##*/}"
|
||||
prerelease: false
|
||||
title: "${GITHUB_REF##*/}"
|
||||
files: build/libs/*.jar
|
||||
|
||||
- name: Update latest tag
|
||||
uses: "marvinpinto/action-automatic-releases@latest"
|
||||
with:
|
||||
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
automatic_release_tag: "latest"
|
||||
prerelease: false
|
||||
title: "Latest"
|
||||
files: build/libs/*.jar
|
||||
@@ -16,7 +16,7 @@ We all have been there! Check out our [FAQ](https://github.com/SinTh0r4s/Example
|
||||
### Getting started
|
||||
|
||||
Creating mod from scratch:
|
||||
1. Unzip [project starter](https://github.com/SinTh0r4s/ExampleMod1.7.10/releases/download/latest-starer/starter.zip) into project directory.
|
||||
1. Unzip [project starter](https://github.com/SinTh0r4s/ExampleMod1.7.10/releases/download/latest-packages/starter.zip) into project directory.
|
||||
2. Replace placeholders in LICENSE-template and rename it to LICENSE, or remove LICENSE-template and put any other license you like on your code. This is an permissive OSS project and we encourage you participate in OSS movement by having permissive license like one in template. You can find out pros and cons of OSS software in [this article](https://www.freecodecamp.org/news/what-is-great-about-developing-open-source-and-what-is-not/)
|
||||
3. Ensure your project is under VCS. For example initialise git repository by running `git init; git commit --message "initialized repository"`.
|
||||
4. Replace placeholders (edit values in gradle.properties, change example package and class names, etc.)
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ Migration for the typical mod which doesn't use anything special but Minecraft f
|
||||
For core plugin, Mixins, shadowing, access transformers, ASM or etc. you'll need to do some extra steps.
|
||||
If they are missing in this document - we will gladly receive your suggestions/contribution.
|
||||
|
||||
1. Copy and replace all files from [template](https://github.com/SinTh0r4s/ExampleMod1.7.10/releases/download/latest-migration/migration.zip) to your repository, but `build.gradle`
|
||||
1. Copy and replace all files from [template](https://github.com/SinTh0r4s/ExampleMod1.7.10/releases/download/latest-packages/migration.zip) to your repository, but `build.gradle`
|
||||
2. Copy all repositories from your `build.gradle(.kts)` to `repositories.gradle`
|
||||
3. Copy all dependencies from your `build.gradle(.kts)` to `dependecies.gradle`
|
||||
4. replace your `build.gradle(.kts)` with `build.gradle` from template. In case you have written some custom tasks/configurations not present in the template - move them into `addon.gradle`. It will automatically be integrated if present.
|
||||
|
||||
Reference in new issue
Block a user