New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build(ci): migration to github actions #229
base: develop
Are you sure you want to change the base?
Conversation
I can use semantic version using this: https://github.com/marketplace/actions/action-for-semantic-release |
…uild/github-actions
* auto-commits each second friday at 10PM GMT * added configuration file `release.config.js` - see https://github.com/semantic-release/semantic-release You don't need adding `/slack` into `DISCORD_WEBHOOK` secrets. Reference `SONATYPE_*` and `GPG_PASSPHRASSE` environments: twitch4j#269
Theoretically should be worked
GH actions has been ready to review. Some automation will be theoretically worked. There is more feature has been updated in the description. Feel free to check it out. |
auto-merge if there is 2 approves add javadoc.yml - deploys javadoc to website PR checks in multiple jobs release only on 10PM UTC on each second friday
NotLikeThis - will only checks if review is approved
I have update one more time. Now will checks approved reviews. If reviews will be more then 1 it will auto-merge using title as commit message (of course will squash commit). |
I will temporary stale this PR before testing it myself. After that i will give feedback and pulling some changes in this branch. |
- rename release.yml to auto-release.yml - create release.yml - update wrapper to 6.8.3 - delete .ci/env - create gradle-wrapper.yml
- create gradle.properties - rename and update release.config.js to .releaserc.json
The changes has been applied. Don't know how about the pull request's action. Anything else leaving to review for @PhilippHeuer All changes has been test in this sandbox You can change configuration, as you like it. I will rebase it after will be approved. |
- commit templates has been created in `.github/release` - some bit typings and remove scope from pull_request_open.yml - marking in build.gradle partials, when they needs to update - refactor should be a major change not a minor
162d6f6
to
5617993
Compare
- javadoc moved to release - release will not rebase to develop - replace gradle-semantic-release-plugin to @semantic-release/exec to better execute - final test before release will be inside the semantic-release - gradle wrapper updates cron - auto-release updates cron
5617993
to
d9e7cf0
Compare
…ions # Conflicts: # .github/dependabot.yml # build.gradle # gradle/wrapper/gradle-wrapper.properties
don't leave it `unspecified`. `0.0.0-SNAPSHOT` is enough
- `artifactId` in publication is not need - defined by `base.archivesBaseName` - `group` and `version` defined directly from `gradle.properties`
- reduce `types` - skip check only form maintainer and @dependabot - script code correction
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should explicitly declare artifactId
(see: #243 (comment))
Even this change would not be sufficient (e.g. the tmi module would be named twitch4j-tmi
, which is better than twitch4j-rest-tmi
, but not quite the desired twitch4j-messaginginterface
):
archivesBaseName = artifactId.let {
val prefixCheck = rootProject.artifactId + "-rest-"
if (it.startsWith(prefixCheck, true))
rootProject.artifactId + "-" + it.substring(prefixCheck.length)
else
it
}
removing |
I do prefer to group all the api modules with the rest prefix, but we can't change the artifactId's for already released modules - so that one line in each module to set the artifactId is fine. |
I pushed this branch to https://github.com/twitch4j/twitch4j-ghactions-test / main, so we can test the workflows over there. |
for the gradle-wrapper workflow: I added Next to test will be the MR workflows. |
Unfortunate, this action will not have a pull request title definition to when to be a conventional commit. Wish we could do something of that. |
Prerequisites for Code Changes
Changes Proposed
Additional Information
This migration contains:
ci
- which are testing lib in JDK's: 8, 11, 14 and 15 when someone push to some branches and prepare release pushed definedauto-release
workflow.release
- will monitoringmain
ormaster
branch in specific schedule and only if the workflow is in this repopull_request_open
- execute actions when Pull Request was openedpull_request_merge
- automatically merge Pull Request after all checks are greenjavadoc
- deploy javadoc if release has beenpublished
gradle-wrapper
- updating gradle wrapper automatically in specific timeRequired Secrets
GITHUB_TOKEN
secret contains token using by @github-actions bot - not needed to setOSSRH_USERNAME
,OSSRH_PASSPHRASE
,GPG_KEY
andGPG_PASSPHRASE
is for Maven Central deployment - Migration repository to Maven Central #269Also there is:
.releaserc.json
- Configuration for Semantic Release -BREAKING CHANGES
can be removed if you don't putting him in to commit description.pr_review.yml
- Adding reviewers automatically bypull_request_open.yml
dependabot.yml
- will checks github actions too but i was change it to review both of you and limit to 3 PR's on each day for each build types.