Skip to content

Commit

Permalink
Update github workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
ogesaku committed Jan 18, 2023
1 parent c3fc1ff commit bca86d2
Show file tree
Hide file tree
Showing 13 changed files with 208 additions and 14 deletions.
20 changes: 20 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Contributing

## Commit messages
Before writing a commit message read [this article](https://chris.beams.io/posts/git-commit/).

## Build
Before pushing any changes make sure project builds without errors with:
```
./gradlew build
```

## Unit tests
We use [Spock](https://spockframework.org) for testing.
Please use the `Spec.groovy` suffix on new test classes.

## Validate changes locally
Before submitting a pull request test your changes locally on a sample project.
There are few ways for local testing:
- simply use the [sample subproject](https://github.com/coditory/quark-context/tree/master/sample)
- or publish library to maven local repository with `./gradlew publishToMavenLocal`
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
name: Bug report
about: Reporting bugs and other issues
labels: bug
---
<!-- The bug you're experiencing might have already be reported! -->
<!-- Please search in the [issues](https://github.com/coditory/quark-context/issues) before creating one. -->

## Context
<!-- How has this issue affected you? What are you trying to accomplish? -->
<!-- Providing context helps us come up with a solution that is most useful in the real world -->

## Expected Behavior
<!-- Tell us what should happen -->

## Observed Behavior
<!-- Tell us what happens instead of the expected behavior -->

## Steps to Reproduce
<!-- Provide a link to a live example, or an unambiguous set of steps to -->
<!-- reproduce this bug. Include code to reproduce, if relevant -->

## Your Environment
<!-- Include as many relevant details about the environment you experienced the bug in -->
* Library version:
* Java (and/or Kotlin) version:
* Gradle version:
* Gradle scan link (add `--scan` option when running the gradle task):
* Link to your project (if it's a public repository):
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: Feature request
about: Suggest new features/changes
labels: feature
---
<!-- Your feature request may already be reported! -->
<!-- Please search in the [issues](https://github.com/coditory/quark-context/issues) before creating a new one. -->

## Context
<!--- What are you trying to accomplish? -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->

## Expected Behavior
<!--- If you're suggesting a change/improvement, tell us how it should work -->
<!--- Propose a solution -->

## Current Behavior
<!--- If suggesting a change/improvement, explain the difference from the current behavior if it exists -->
10 changes: 10 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<!-- Thanks for submitting a pull request! -->
## Changes
<!-- Shortly describe what you want to accomplish with this PR -->
<!-- Add a link to the issue if available -->

## Checklist
- [ ] I have tested that there is no similar [pull request](https://github.com/coditory/quark-context/pulls) already submitted
- [ ] I have read [contributing.md](https://github.com/coditory/quark-context/blob/master/.github/CONTRIBUTING.md) and applied to the rules
- [ ] I have unit tested code changes and performed a self-review
- [ ] I have [tested plugin change locally](https://github.com/coditory/quark-context/blob/master/.github/CONTRIBUTING.md#validate-changes-locally) on a sample project
7 changes: 6 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,9 @@ updates:
- package-ecosystem: "gradle"
directory: "/"
schedule:
interval: "monthly"
interval: "weekly"

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
29 changes: 29 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
source:
- "src/**"

build:
- "**/*.gradle"
- "**/*.gradle.kts"

ci:
- ".github/**"

documentation:
- "**/*.md"
- "docs/**"

license:
- "LICENSE"

gradle:
- "gradlew"
- "gradlew.bat"
- ".gradle/**"
- "gradle/**"

git:
- ".gitignore"

style:
- ".editorconfig"
- ".idea/codeStyles/**"
26 changes: 16 additions & 10 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
name: Build

on:
workflow_dispatch:
push:
on: [pull_request, push, workflow_dispatch]

jobs:
build:
deduplicate:
runs-on: ubuntu-latest
if: github.event_name != 'push' || startsWith(github.ref, 'refs/tags/') == false
outputs:
should_skip: ${{ steps.skip.outputs.should_skip }}
steps:
- name: Checkout
uses: actions/checkout@v3
Expand All @@ -16,22 +15,29 @@ jobs:
id: skip
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: same_content_newer
paths_ignore: '["**/README.md", "LICENSE", ".gitignore", ".editorconfig", ".idea/**"]'

build:
runs-on: ubuntu-latest
needs: deduplicate
if: "needs.pre_job.outputs.should_skip != 'true'"
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Validate gradle wrapper
if: steps.skip.outputs.should_skip != 'true'
uses: gradle/wrapper-validation-action@v1

- name: Setup JDK
if: steps.skip.outputs.should_skip != 'true'
uses: actions/setup-java@v3
with:
java-version: 17
java-version: 11
cache: gradle
distribution: temurin

- name: Build with gradle
if: steps.skip.outputs.should_skip != 'true'
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
run: ./gradlew build jacocoTestReport coveralls --scan
run: ./gradlew build
38 changes: 38 additions & 0 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Pull Request

on: [pull_request_target]

jobs:
labeler:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

dependabot:
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' }}
permissions:
pull-requests: write
contents: write
steps:
- name: Dependabot metadata
id: dependabot-metadata
uses: dependabot/fetch-metadata@v1.3.5

- name: Enable auto-merge for Dependabot PRs
run: gh pr merge --auto --rebase "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Approve patch and minor updates
if: ${{ steps.dependabot-metadata.outputs.update-type != 'version-update:semver-major' || steps.dependabot-metadata.outputs.package-ecosystem == 'github-actions' }}
run: gh pr review $PR_URL --approve -b "Pull request **approved** because **it includes a patch or minor update**"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27 changes: 27 additions & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Stale
on:
schedule:
- cron: '30 1 * * *'

jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v7
with:
# PRs
stale-pr-message: 'This PR is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 10 days.'
days-before-pr-stale: 120
close-pr-message: 'This PR was closed because it has been stalled for 10 days with no activity.'
days-before-pr-close: 10
exempt-all-pr-assignees: true
exempt-pr-labels: 'awaiting-approval,work-in-progress'
stale-pr-label: 'stale'
# Issues
stale-issue-message: 'This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
days-before-issue-stale: 60
close-issue-message: 'This issue was closed because it has been stalled for 5 days with no activity.'
days-before-issue-close: 5
exempt-issue-assignees: true
exempt-issue-labels: 'awaiting-approval,work-in-progress'
stale-issue-label: 'stale'
8 changes: 7 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,19 @@ plugins {
id 'jacoco'
id 'signing'
id 'com.github.kt3k.coveralls' version '2.12.0'
id 'com.coditory.build' version '0.1.19'
id 'com.coditory.build' version '0.1.20'
id 'io.github.gradle-nexus.publish-plugin' version '1.1.0' apply false
}

group = 'com.coditory.quark'
description = 'Coditory Quark Context Library'

java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}

dependencies {
api 'org.slf4j:slf4j-api:2.0.5'
api 'org.jetbrains:annotations:23.0.0'
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
7 changes: 6 additions & 1 deletion settings.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id("com.gradle.enterprise").version("3.5")
id("com.gradle.enterprise").version("3.12.2")
}

rootProject.name = "quark-context"
Expand All @@ -8,5 +8,10 @@ gradleEnterprise {
buildScan {
termsOfServiceUrl = "https://gradle.com/terms-of-service"
termsOfServiceAgree = "yes"

if (System.getenv("CI")) {
publishAlways()
tag("CI")
}
}
}

0 comments on commit bca86d2

Please sign in to comment.