Skip to content

Commit

Permalink
Merge pull request #35 from refinedmods/develop
Browse files Browse the repository at this point in the history
v0.9.0
  • Loading branch information
raoulvdberge authored Dec 18, 2021
2 parents 3cf9d52 + 5d15566 commit 23b8a61
Show file tree
Hide file tree
Showing 27 changed files with 788 additions and 402 deletions.
47 changes: 47 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Contributing to Ranged Pumps

## Versioning

This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Pull requests

- Keep your PR as small as possible, this makes reviewing easier.
- Commits serve a clear purpose and have a fitting commit message.
- Branches are kept up to date by rebasing, preferably.
- PRs are merged by rebasing the commits on top of the target branch.
- Changes are added in `CHANGELOG.md`. Please refrain from using technical terminology, keep it user-friendly. The
format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## Gitflow

This project uses [Gitflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow).

## Releasing

1) Make sure the version number in `build.gradle` is correct.
2) Merge `develop` to `main`.
3) Push a tag with the version number (prefixed with `v`).

After releasing:

1) Rename the "Unreleased" section to the correct version number in `CHANGELOG.md`.
2) Upgrade the version number in `build.gradle`.
3) Create a new "Unreleased" section in `CHANGELOG.md`.

## Pipelines

### Build

The build pipeline triggers when a commit is pushed to a branch or pull request.

### Release

The release pipeline triggers when a tag is pushed. This will run all the steps that our build pipeline does.

After that succeeds, it will publish to GitHub packages.

The "Unreleased" section in `CHANGELOG.md` is parsed and a GitHub release is created with the changelog body and
relevant artifacts.

After that, a Discord and Twitter notification is sent.
57 changes: 57 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Bug report
description: Found a bug or encountered a crash? Please report it here.
labels: [ bug ]
body:
- type: markdown
attributes:
value: |
Provide a summary of the issue in the title above.
- type: textarea
id: description
attributes:
label: Describe the bug
description: |
Be as detailed as possible.
If applicable, also tell us what you expected to happen instead.
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: How can we reproduce this bug or crash?
description: |
Provide us with steps on how to reproduce this issue.
Try to reproduce the issue with only Ranged Pumps installed, if possible.
placeholder: |
1.
2.
3.
validations:
required: true
- type: dropdown
id: minecraft
attributes:
label: What Minecraft version is this happening on?
options:
- Minecraft 1.18.1
- Minecraft 1.16.5
- type: input
id: forge
attributes:
label: What Forge version is this happening on?
validations:
required: true
- type: input
id: rp
attributes:
label: What Ranged Pumps version is this happening on?
description: |
Ensure that you are running on the latest Ranged Pumps version.
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Discord Community Support
url: https://discordapp.com/invite/VYzsydb
about: Please ask and answer questions here. Issues should be used for bugs and feature requests.
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/enhancement.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Enhancement
description: Do you have a suggestion for a new feature or a way to improve Ranged Pumps? Let us know.
labels: [ enhancement ]
body:
- type: markdown
attributes:
value: |
Provide a summary of the enhancement in the title above.
Please follow following guidelines before proposing an enchancement:
1) Ensure that you are running on the latest Ranged Pumps version (to ensure that the enhancement does not exist yet).
2) Ensure that your enhancement hasn't already been posted. Please look in the closed issues as well (for enhancements that have been denied).
We might close your issue, without explanation, if you do not follow these guidelines.
- type: textarea
id: describe
attributes:
label: Describe your enhancement
description: |
Be as detailed as possible.
Tell us how your idea should work. Why should we consider this?
validations:
required: true
44 changes: 44 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Build
on:
push:
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/
83 changes: 83 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: Release
on:
push:
tags:
- "v**"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Get tag name
uses: olegtarasov/[email protected]
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/[email protected]
with:
branch: gh-pages
folder: build/docs/javadoc
- name: Publish
run: ./gradlew publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_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/[email protected]
with:
args: 'Ranged Pumps {{ 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: Ranged Pumps ${{ 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 }}
16 changes: 16 additions & 0 deletions .github/workflows/unsupported.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
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.
close-issue: true
lock-issue: false
Loading

0 comments on commit 23b8a61

Please sign in to comment.