CI ideas #1099

Open
opened 2022-03-31 05:42:53 +00:00 by qwerty287 · 1 comment
Contributor

I'll describe some things I'd recommend to our CI service, this is mainly a summary issue:

  • use Woodpecker/Codeberg CI (#1104)
    • we are using it already for tea4j-autodeploy
    • this allows us to run checks on pull requests
  • we should run tests, at least on PRs
  • we could require the formatting of Java files with the IntelliJ profile and the editorconfig to follow consistent code styles (#1155)
  • linters are almost a necessary thing (see https://developer.android.com/studio/write/lint#commandline)
  • an idea on PRs: publish a build artifact, e.g. to the cloud we are using right now for releases, that allows easy testing - download APK, install, run
    • would need credentials on PRs, we can protect this by requiring a confirmation for all builds (a feature for Woodpecker to make this better configurable is here)
  • once Woodpecker implemented cron jobs, we can automate locale updates (#141, for implementation on push see #1155)
  • we can block certain contents, also ideal for simple stuff (e.g. the use of @author instead of Author)
I'll describe some things I'd recommend to our CI service, this is mainly a summary issue: - [x] use Woodpecker/Codeberg CI (#1104) * we are using it already for tea4j-autodeploy * this allows us to run checks on pull requests - [ ] we should run tests, at least on PRs - [x] unit tests - [ ] integration tests (also see #1098, https://codeberg.org/gitnex/GitNex/pulls/1104#issuecomment-418282) - [ ] code coverage - [x] we could require the formatting of Java files with the IntelliJ profile and the editorconfig to follow consistent code styles (#1155) * I wrote [a Woodpecker plugin for this task](https://codeberg.org/qwerty287/woodpecker-intellij-formatter) - [ ] linters are almost a necessary thing (see https://developer.android.com/studio/write/lint#commandline) - [ ] an idea on PRs: publish a build artifact, e.g. to the cloud we are using right now for releases, that allows easy testing - download APK, install, run * would need credentials on PRs, we can protect this by requiring a confirmation for all builds (a feature for Woodpecker to make this better configurable is [here](https://github.com/woodpecker-ci/woodpecker/issues/819)) - [x] once [Woodpecker implemented cron jobs](https://github.com/woodpecker-ci/woodpecker/issues/8), we can automate locale updates (#141, for implementation on push see #1155) - [x] we can block certain contents, also ideal for simple stuff (e.g. the use of `@author` instead of `Author`) * another [Woodpecker plugin I wrote](https://codeberg.org/qwerty287/woodpecker-regex-check) can block or even require certain regular expressions
qwerty287 added the
⚙️ CI
🧪 Testing
🗓️ Summary
labels 2022-03-31 05:42:53 +00:00
Member

to the cron job thing ... this was a problem at gitea quite long too the cron tasks are relatively new to drone ...

what was done there was a step that would only exec on push event on master branch to update locales if needed.
so each merge you get to run a push to locales and then a pull

-> to migrate this to cron event later is easy afterwards ...

to the cron job thing ... this was a problem at gitea quite long too the cron tasks are relatively new to drone ... what was done there was a step that would only exec on push event on master branch to update locales if needed. so each merge you get to run a push to locales and then a pull -> to migrate this to cron event later is easy afterwards ...
qwerty287 self-assigned this 2022-05-15 11:18:03 +00:00
6543 referenced this issue from a commit 2022-07-29 12:08:45 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: gitnex/GitNex#1099
No description provided.