Merge branch 'automatic-release-only-on-tags' into ensure-decompilation-tasks-use-toolchain

# Conflicts:
#	.github/workflows/release-packages.yml
This commit is contained in:
Telan committed 2021-11-21 20:56:20 +02:00
commit 76dcb6109e
5 files changed
+78 -54

No files matched your search

+3 -1
View File
@@ -1,11 +1,13 @@
# 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 pull request
name: Build and test
on:
pull_request:
branches: [ master, main ]
push:
branches: [ master, main ]
jobs:
build:
@@ -1,29 +1,37 @@
# This workflow only meant for the source mod you shouldn't bring it into your own project
name: Release packages
name: Release starter and migration packages
on:
push:
branches: [ master, main ]
tags:
- '*'
jobs:
zip-packages:
zip-and-release-packages:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set release version
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- 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 ".github/workflows/toolchain-compatibility.yml" \
\
-x "*docs/*" \
@@ -33,26 +41,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 ".github/workflows/toolchain-compatibility.yml" \
\
-x "*docs/*" \
@@ -62,12 +61,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 }}"
automatic_release_tag: "latest-migration"
prerelease: true
title: "Latest migration package"
files: "migration.zip"
automatic_release_tag: "${{ env.RELEASE_VERSION }}-packages"
prerelease: false
title: "${{ env.RELEASE_VERSION }} 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-packages"
prerelease: false
title: "Latest starter and migration packages"
files: packages/*
+42 -29
View File
@@ -1,41 +1,54 @@
# 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:
branches: [ master, main ]
tags:
- '*'
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: "latest"
prerelease: true
title: "Latest Development Build"
files: build/libs/*.jar
- name: Set release version
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- 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: "${{ env.RELEASE_VERSION }}"
prerelease: false
title: "${{ env.RELEASE_VERSION }}"
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
+2 -1
View File
@@ -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.)
@@ -40,6 +40,7 @@ We also have described guidelines for existing mod [migration](docs/migration.md
- Git Tags integration for versioning
- GitHub CI
- [Jitpack](https://jitpack.io) CI
- Releasing your artifacts on new tags pushed. Push git tag named after version (e.g. 1.0.0) which will trigger a release of artifacts with according names.
### Files
- [`build.gradle`](https://github.com/SinTh0r4s/ExampleMod1.7.10/blob/main/build.gradle): This is the core script of the build process. You should not need to tamper with it, unless you are trying to accomplish something out of the ordinary. __Do not touch this file! You will make a future update near impossible if you do so!__
+1 -1
View File
@@ -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.