feat: introduce Refined Architect

This commit is contained in:
raoulvdberge
2023-07-03 21:48:30 +02:00
parent 9d243e93e7
commit 27a9bedacf
17 changed files with 350 additions and 326 deletions

View File

@@ -1,44 +1,14 @@
name: Build
on:
push:
pull_request:
types: [ opened, synchronize, reopened ]
push:
branches:
- develop
- main
pull_request:
types: [ opened, synchronize, reopened ]
jobs:
build:
strategy:
matrix:
java: [
17
]
os: [ ubuntu-latest ]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Setup JDK ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- name: Cache Gradle packages
uses: actions/cache@v1
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle
- name: Make Gradle wrapper executable
if: ${{ runner.os != 'Windows' }}
run: chmod +x ./gradlew
- name: Build
run: ./gradlew build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload build artifacts
if: ${{ runner.os == 'Linux' && matrix.java == '17' }}
uses: actions/upload-artifact@v2
with:
name: Artifacts
path: build/libs/
build:
uses: refinedmods/refinedarchitect/.github/workflows/build.yml@v0.5.1
with:
mutation-testing: false
secrets: inherit

24
.github/workflows/draft-release.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: Draft release
on:
workflow_dispatch:
inputs:
release-type:
description: 'Release type'
required: true
default: 'minor'
type: choice
options:
- major
- minor
- patch
version-number-override:
description: 'Version number override'
required: false
type: string
jobs:
draft:
uses: refinedmods/refinedarchitect/.github/workflows/draft-release.yml@v0.5.1
with:
release-type: ${{ inputs.release-type }}
version-number-override: ${{ inputs.version-number-override }}
secrets: inherit

View File

@@ -0,0 +1,7 @@
name: Issue for unsupported version
on:
issues:
types: [ labeled, unlabeled, reopened ]
jobs:
unsupported-labeler:
uses: refinedmods/refinedarchitect/.github/workflows/issue-for-unsupported-version.yml@v0.5.1

16
.github/workflows/publish-release.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: Publish release
on:
pull_request:
branches:
- main
types:
- closed
jobs:
publish-release:
uses: refinedmods/refinedarchitect/.github/workflows/publish-release.yml@v0.5.1
secrets: inherit
with:
project-name: 'Refined Storage'
announce: true
mutation-testing: false
curseforge: true

View File

@@ -1,91 +0,0 @@
name: Release
on:
push:
tags:
- "v**"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Get tag name
uses: olegtarasov/get-tag@v2.1
id: tagName
- name: Validate semver
run: |
echo $GIT_TAG_NAME | grep -oP '^v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$'
- name: Checkout repository
uses: actions/checkout@v2
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Setup JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- name: Make Gradle wrapper executable
if: ${{ runner.os != 'Windows' }}
run: chmod +x ./gradlew
- name: Build
run: ./gradlew build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE: ${{ steps.tagName.outputs.tag }}
- name: Build documentation
run: ./gradlew javadoc
env:
RELEASE: ${{ steps.tagName.outputs.tag }}
- name: Publish documentation
uses: JamesIves/github-pages-deploy-action@4.1.5
with:
branch: gh-pages
folder: build/docs/javadoc
- name: Publish
run: ./gradlew publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CREEPERHOST_MAVEN_USERNAME: ${{ secrets.CREEPERHOST_MAVEN_USERNAME }}
CREEPERHOST_MAVEN_TOKEN: ${{ secrets.CREEPERHOST_MAVEN_TOKEN }}
RELEASE: ${{ steps.tagName.outputs.tag }}
- name: Retrieve changelog
id: changelog_reader
uses: mindsers/changelog-reader-action@v2
with:
version: 'Unreleased'
path: ./CHANGELOG.md
- name: Release on GitHub
uses: softprops/action-gh-release@v1
id: ghRelease
with:
body: ${{ steps.changelog_reader.outputs.changes }}
name: ${{ steps.tagName.outputs.tag }}
files: |
build/libs/*.jar
- name: Release on CurseForge
run: ./gradlew curseforge
env:
RELEASE: ${{ steps.tagName.outputs.tag }}
CHANGELOG: ${{ steps.changelog_reader.outputs.changes }}
CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }}
# This is necessary because the Discord action doesn't support GH actions variable expansion?
- name: Set release URL
run: |
echo "RELEASE_URL=${{ steps.ghRelease.outputs.url }}" >> $GITHUB_ENV
- name: Notify Discord
uses: Ilshidur/action-discord@0.3.2
with:
args: 'Refined Storage {{ GIT_TAG_NAME }} has been released! {{ RELEASE_URL }}'
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
- name: Notify Twitter
uses: ethomson/send-tweet-action@v1
with:
status: Refined Storage ${{ env.GIT_TAG_NAME }} has been released! ${{ env.RELEASE_URL }}
consumer-key: ${{ secrets.TWITTER_CONSUMER_API_KEY }}
consumer-secret: ${{ secrets.TWITTER_CONSUMER_API_SECRET }}
access-token: ${{ secrets.TWITTER_ACCESS_TOKEN }}
access-token-secret: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
- name: Announce to Mastodon
uses: rzr/fediverse-action@master
with:
access-token: ${{ secrets.MASTODON_TOKEN }}
host: 'anvil.social'
message: "Refined Storage ${{ env.GIT_TAG_NAME }} has been released! ${{ env.RELEASE_URL }}"

View File

@@ -4,10 +4,4 @@ on:
- cron: '0 0 * * *'
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: '30'
pr-lock-inactive-days: '30'
uses: refinedmods/refinedarchitect/.github/workflows/resolved-issue-locking.yml@v0.5.1

View File

@@ -1,17 +0,0 @@
name: 'Unsupported versions'
on:
issues:
types: [ labeled, unlabeled, reopened ]
jobs:
support:
runs-on: ubuntu-latest
steps:
- uses: dessant/support-requests@v2
with:
github-token: ${{ github.token }}
support-label: 'unsupported'
issue-comment: >
:wave: @{issue-author}, we no longer support this version of Minecraft.
Please see https://refinedmods.com/refined-storage/wiki/minecraft-version-support.html
close-issue: true
lock-issue: false

View File

@@ -0,0 +1,5 @@
name: Validate branch name
on: [ pull_request ]
jobs:
validate-branch-name:
uses: refinedmods/refinedarchitect/.github/workflows/validate-branch-name.yml@v0.5.1

View File

@@ -0,0 +1,7 @@
name: Validate changelog
on:
pull_request:
types: [ opened, synchronize, reopened, ready_for_review, labeled, unlabeled ]
jobs:
validate-changelog:
uses: refinedmods/refinedarchitect/.github/workflows/validate-changelog.yml@v0.5.1

View File

@@ -0,0 +1,5 @@
name: Validate commit messages
on: [ pull_request ]
jobs:
validate-commit-messages:
uses: refinedmods/refinedarchitect/.github/workflows/validate-commit-messages.yml@v0.5.1