Extend CI workflows (#1155)

Extend CI workflows (-> https://codeberg.org/gitnex/GitNex/issues/1099)
	1. pull translations and push them again on every pull
       @mmarif this needs the secrets and `BOT_TOKEN`
       the code for this comes from tea4j-autodeploy
    2. add a **template** for a check workflow which only does some static checks right now. It is disabled because it requires some investigation and discussion on how we should deal with these issues. The checks are currently (if we would enable it):
    	1. check code style and formatting according to the project file in `.idea/`
        2. make sure every Java file has an `@author` annotation

I would wait until you reviewed with enabling them because we have to reformat all the files which results in changes with a few thousand changed lines (tried this once).

Closes https://codeberg.org/gitnex/GitNex/issues/141

Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: M M Arif <mmarif@noreply.codeberg.org>
Co-authored-by: 6543 <6543@obermui.de>
Reviewed-on: https://codeberg.org/gitnex/GitNex/pulls/1155
Reviewed-by: 6543 <6543@noreply.codeberg.org>
Co-authored-by: qwerty287 <qwerty287@noreply.codeberg.org>
Co-committed-by: qwerty287 <qwerty287@noreply.codeberg.org>
This commit is contained in:
qwerty287 2022-07-29 14:08:44 +02:00 committed by 6543
parent 4a3397766f
commit 6a84e4d897
79 changed files with 154 additions and 72 deletions

10
.woodpecker/check.yml Normal file
View File

@ -0,0 +1,10 @@
pipeline:
author-header:
image: qwerty287/woodpecker-regex-check
settings:
pattern: "*.java"
regex: " \\\\* \\\\@author [\\\\S\\\\s]+"
must_contain: true
style:
image: qwerty287/woodpecker-intellij-formatter

View File

@ -1,6 +1,7 @@
depends_on:
- build
- locale
- check
run_on: [ success, failure ]
skip_clone: true

View File

@ -1,12 +1,59 @@
pipeline:
push:
image: crowdin/cli:3.7.8
prepare:
image: alpine
commands:
- cp crowdin.example.yml crowdin.yml
- sed -i 's/-removed-/'"$CROWDIN_TOKEN"'/' crowdin.yml
- crowdin push
secrets: [ CROWDIN_TOKEN ]
when:
event: [ push, tag ]
branch: main
push:
image: crowdin/cli:3.7.8
commands:
- crowdin push
when:
event: [ push, tag ]
branch: main
path: [ app/src/main/res/values/strings.xml, fastlane/metadata/android/en-US/*.txt, fastlane/metadata/android/en-US/changelogs/*.txt ]
pull:
image: crowdin/cli:3.7.8
# we do not need to update the config file again since it persists
commands:
- crowdin pull
when:
event: [ push, tag ]
branch: main
push-git:
image: alpine/git
environment:
# Information that should be used when authoring a commit
- GIT_AUTHOR_NAME=gitnexbot
- GIT_AUTHOR_EMAIL=gitnexbot@noreply.codeberg.org
- GIT_COMMIT_MESSAGE=Translation updates from Crowdin [CI SKIP]
# Basic information concerning the repo that
- GITEA_HOST=codeberg.org
- GITEA_REPOSITORY=gitnex/GitNex
- GITEA_BRANCH=main
# Token that should be used to authenticate against the gitea instance
# - BOT_TOKEN=secret
secrets: [ BOT_TOKEN ]
commands:
# Setup git credentials and checkout target branch
- git config user.name "$${GIT_AUTHOR_NAME}"
- git config user.email "$${GIT_AUTHOR_EMAIL}"
- git checkout "$${GITEA_BRANCH}"
# Stage all important files for commit
- git add -A .
# If files have changed, create a new commit and push it to the branch this pipeline was started on
- >
if git commit --message "$${GIT_COMMIT_MESSAGE}"; then
git remote set-url origin "https://$${BOT_TOKEN}@$${GITEA_HOST}/$${GITEA_REPOSITORY}"
git push origin "$${GITEA_BRANCH}"
fi
when:
branch: main
event: [ push, tag ]

View File

@ -13,7 +13,7 @@ import retrofit2.Call;
import retrofit2.Callback;
/**
* Author M M Arif
* @author M M Arif
*/
public class MilestoneActions {

View File

@ -26,7 +26,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class AddNewTeamMemberActivity extends BaseActivity {

View File

@ -19,7 +19,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class AddNewTeamRepoActivity extends BaseActivity {

View File

@ -17,7 +17,7 @@ import java.util.Locale;
import java.util.concurrent.Executor;
/**
* Author M M Arif
* @author M M Arif
*/
public abstract class BaseActivity extends AppCompatActivity {

View File

@ -33,7 +33,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class CommitsActivity extends BaseActivity {

View File

@ -31,7 +31,7 @@ import retrofit2.Call;
import retrofit2.Callback;
/**
* Author M M Arif
* @author M M Arif
*/
public class CreateFileActivity extends BaseActivity {

View File

@ -28,7 +28,7 @@ import retrofit2.Call;
import retrofit2.Callback;
/**
* Author M M Arif
* @author M M Arif
*/
public class CreateMilestoneActivity extends BaseActivity implements View.OnClickListener {

View File

@ -22,7 +22,7 @@ import retrofit2.Call;
import retrofit2.Callback;
/**
* Author M M Arif
* @author M M Arif
*/
public class CreateNewUserActivity extends BaseActivity {

View File

@ -24,7 +24,7 @@ import retrofit2.Call;
import retrofit2.Callback;
/**
* Author M M Arif
* @author M M Arif
*/
public class CreateOrganizationActivity extends BaseActivity {

View File

@ -38,7 +38,7 @@ import retrofit2.Call;
import retrofit2.Callback;
/**
* Author M M Arif
* @author M M Arif
*/
public class CreatePullRequestActivity extends BaseActivity implements LabelsListAdapter.LabelsListAdapterListener {

View File

@ -31,7 +31,7 @@ import retrofit2.Call;
import retrofit2.Callback;
/**
* Author M M Arif
* @author M M Arif
*/
public class CreateRepoActivity extends BaseActivity {

View File

@ -28,7 +28,7 @@ import retrofit2.Call;
import retrofit2.Callback;
/**
* Author M M Arif
* @author M M Arif
*/
public class CreateTeamByOrgActivity extends BaseActivity implements View.OnClickListener {

View File

@ -43,7 +43,7 @@ import retrofit2.Call;
import retrofit2.Callback;
/**
* Author M M Arif
* @author M M Arif
*/
public class EditIssueActivity extends BaseActivity implements View.OnClickListener {

View File

@ -26,7 +26,7 @@ import retrofit2.Call;
import retrofit2.Callback;
/**
* Author M M Arif
* @author M M Arif
*/
public class MyProfileEmailActivity extends BaseActivity {

View File

@ -23,7 +23,7 @@ import org.mian.gitnex.fragments.OrganizationTeamInfoReposFragment;
import org.mian.gitnex.structs.BottomSheetListener;
/**
* Author M M Arif
* @author M M Arif
*/
public class OrganizationTeamInfoActivity extends BaseActivity implements BottomSheetListener {

View File

@ -34,7 +34,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class ProfileActivity extends BaseActivity implements BottomSheetListener {

View File

@ -34,7 +34,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class RepoForksActivity extends BaseActivity {

View File

@ -14,7 +14,7 @@ import org.mian.gitnex.helpers.contexts.RepositoryContext;
import org.mian.gitnex.viewmodels.RepoStargazersViewModel;
/**
* Author M M Arif
* @author M M Arif
*/
public class RepoStargazersActivity extends BaseActivity {

View File

@ -14,7 +14,7 @@ import org.mian.gitnex.helpers.contexts.RepositoryContext;
import org.mian.gitnex.viewmodels.RepoWatchersViewModel;
/**
* Author M M Arif
* @author M M Arif
*/
public class RepoWatchersActivity extends BaseActivity {

View File

@ -20,7 +20,7 @@ import org.mian.gitnex.helpers.TinyDB;
import org.mian.gitnex.helpers.Toasty;
/**
* Author M M Arif
* @author M M Arif
*/
public class SettingsAppearanceActivity extends BaseActivity {

View File

@ -8,7 +8,7 @@ import org.mian.gitnex.databinding.ActivitySettingsDraftsBinding;
import org.mian.gitnex.helpers.Toasty;
/**
* Author M M Arif
* @author M M Arif
*/
public class SettingsDraftsActivity extends BaseActivity {

View File

@ -15,7 +15,7 @@ import org.mian.gitnex.notifications.Notifications;
/**
* Template Author M M Arif
* Author opyale
* @author opyale
*/
public class SettingsNotificationsActivity extends BaseActivity {

View File

@ -8,7 +8,7 @@ import org.mian.gitnex.databinding.ActivitySettingsReportsBinding;
import org.mian.gitnex.helpers.Toasty;
/**
* Author M M Arif
* @author M M Arif
*/
public class SettingsReportsActivity extends BaseActivity {

View File

@ -24,7 +24,7 @@ import static androidx.biometric.BiometricManager.Authenticators.BIOMETRIC_STRON
import static androidx.biometric.BiometricManager.Authenticators.DEVICE_CREDENTIAL;
/**
* Author M M Arif
* @author M M Arif
*/
public class SettingsSecurityActivity extends BaseActivity {

View File

@ -15,7 +15,7 @@ import java.util.LinkedHashMap;
import java.util.Locale;
/**
* Author M M Arif
* @author M M Arif
*/
public class SettingsTranslationActivity extends BaseActivity {

View File

@ -24,7 +24,7 @@ import retrofit2.Call;
import retrofit2.Callback;
/**
* Author M M Arif
* @author M M Arif
*/
public class AdminCronTasksAdapter extends RecyclerView.Adapter<AdminCronTasksAdapter.CronTasksViewHolder> {

View File

@ -21,7 +21,7 @@ import java.util.LinkedHashSet;
import java.util.List;
/**
* Author M M Arif
* @author M M Arif
*/
public class AssigneesListAdapter extends RecyclerView.Adapter<AssigneesListAdapter.AssigneesViewHolder> {

View File

@ -19,7 +19,7 @@ import org.mian.gitnex.helpers.RoundedTransformation;
import java.util.List;
/**
* Author M M Arif
* @author M M Arif
*/
public class CollaboratorsAdapter extends BaseAdapter {

View File

@ -28,7 +28,7 @@ import org.mian.gitnex.helpers.contexts.RepositoryContext;
import java.util.List;
/**
* Author M M Arif
* @author M M Arif
*/
public class DraftsAdapter extends RecyclerView.Adapter<DraftsAdapter.DraftsViewHolder> {

View File

@ -19,7 +19,7 @@ import java.util.ArrayList;
import java.util.List;
/**
* Author M M Arif
* @author M M Arif
*/
public class FilesAdapter extends RecyclerView.Adapter<FilesAdapter.FilesViewHolder> implements Filterable {

View File

@ -26,7 +26,7 @@ import org.mian.gitnex.helpers.contexts.RepositoryContext;
import java.util.List;
/**
* Author M M Arif
* @author M M Arif
*/
public class LabelsAdapter extends RecyclerView.Adapter<LabelsAdapter.LabelsViewHolder> {

View File

@ -16,7 +16,7 @@ import java.util.LinkedHashSet;
import java.util.List;
/**
* Author M M Arif
* @author M M Arif
*/
public class LabelsListAdapter extends RecyclerView.Adapter<LabelsListAdapter.LabelsViewHolder> {

View File

@ -15,7 +15,7 @@ import org.mian.gitnex.R;
import java.util.List;
/**
* Author M M Arif
* @author M M Arif
*/
public class MyProfileEmailsAdapter extends RecyclerView.Adapter<MyProfileEmailsAdapter.EmailsViewHolder> {

View File

@ -12,7 +12,7 @@ import org.mian.gitnex.structs.FragmentRefreshListener;
import java.util.List;
/**
* Author M M Arif
* @author M M Arif
**/
public class ReleasesDownloadsAdapter extends RecyclerView.Adapter<ReleasesDownloadsAdapter.ReleasesDownloadsViewHolder> {

View File

@ -28,7 +28,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class TeamRepositoriesAdapter extends RecyclerView.Adapter<TeamRepositoriesAdapter.TeamReposViewHolder> {

View File

@ -26,7 +26,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class TeamsByOrgAdapter extends RecyclerView.Adapter<TeamsByOrgAdapter.OrgTeamsViewHolder> implements Filterable {

View File

@ -22,7 +22,7 @@ import java.util.ArrayList;
import java.util.List;
/**
* Author M M Arif
* @author M M Arif
*/
public class UserGridAdapter extends BaseAdapter implements Filterable {

View File

@ -26,7 +26,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class UserSearchForTeamMemberAdapter extends RecyclerView.Adapter<UserSearchForTeamMemberAdapter.UserSearchViewHolder> {

View File

@ -20,7 +20,7 @@ import org.mian.gitnex.helpers.RoundedTransformation;
import java.util.List;
/**
* Author M M Arif
* @author M M Arif
*/
public class UsersAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {

View File

@ -32,7 +32,7 @@ import java.util.ArrayList;
import java.util.List;
/**
* Author M M Arif
* @author M M Arif
*/
public class DraftsFragment extends Fragment {

View File

@ -20,7 +20,7 @@ import org.mian.gitnex.helpers.AppUtil;
import org.mian.gitnex.helpers.TinyDB;
/**
* Author M M Arif
* @author M M Arif
*/
public class ExploreFragment extends Fragment {

View File

@ -21,7 +21,7 @@ import org.mian.gitnex.helpers.AppUtil;
import org.mian.gitnex.viewmodels.MembersByOrgViewModel;
/**
* Author M M Arif
* @author M M Arif
*/
public class MembersByOrgFragment extends Fragment {

View File

@ -26,7 +26,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class MyProfileFollowersFragment extends Fragment {

View File

@ -36,7 +36,7 @@ import java.util.Locale;
import jp.wasabeef.picasso.transformations.BlurTransformation;
/**
* Author M M Arif
* @author M M Arif
*/
public class MyProfileFragment extends Fragment {

View File

@ -36,7 +36,7 @@ import java.util.Date;
import java.util.List;
/**
* Author opyale
* @author opyale
* Modified M M Arif
*/

View File

@ -23,7 +23,7 @@ import retrofit2.Call;
import retrofit2.Callback;
/**
* Author M M Arif
* @author M M Arif
*/
public class OrganizationInfoFragment extends Fragment {

View File

@ -29,7 +29,7 @@ import org.mian.gitnex.databinding.FragmentSettingsBinding;
import org.mian.gitnex.helpers.AppUtil;
/**
* Author M M Arif
* @author M M Arif
*/
public class SettingsFragment extends Fragment {

View File

@ -26,7 +26,7 @@ import retrofit2.Call;
import retrofit2.Callback;
/**
* Author M M Arif
* @author M M Arif
*/
public class DetailFragment extends Fragment {

View File

@ -32,7 +32,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class FollowersFragment extends Fragment {

View File

@ -32,7 +32,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class FollowingFragment extends Fragment {

View File

@ -32,7 +32,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class OrganizationsFragment extends Fragment {

View File

@ -32,7 +32,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class RepositoriesFragment extends Fragment {

View File

@ -32,7 +32,7 @@ import retrofit2.Callback;
import retrofit2.Response;
/**
* Author M M Arif
* @author M M Arif
*/
public class StarredRepositoriesFragment extends Fragment {

View File

@ -8,7 +8,7 @@ import android.widget.Toast;
import org.mian.gitnex.R;
/**
* Author M M Arif
* @author M M Arif
*/
public class ClickListener implements View.OnClickListener {

View File

@ -8,7 +8,7 @@ import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
/**
* Author M M Arif
* @author M M Arif
*/
public class ColorInverter {

View File

@ -1,7 +1,7 @@
package org.mian.gitnex.helpers;
/**
* Author M M Arif
* @author M M Arif
*/
public class FilesData {

View File

@ -5,7 +5,7 @@ import android.graphics.Rect;
import android.graphics.Typeface;
/**
* Author M M Arif
* @author M M Arif
*/
public class LabelWidthCalculator {

View File

@ -3,7 +3,7 @@ package org.mian.gitnex.helpers;
import java.io.Serializable;
/**
* Author M M Arif
* @author M M Arif
*/
public class MergePullRequestSpinner implements Serializable {

View File

@ -1,7 +1,7 @@
package org.mian.gitnex.helpers;
/**
* Author opyale
* @author opyale
*/
public class PathsHelper {

View File

@ -6,7 +6,7 @@ import android.view.View;
import androidx.recyclerview.widget.RecyclerView;
/**
* Author com.github.abumoallim, modified by M M Arif
* @author com.github.abumoallim, modified by M M Arif
*/
public class RecyclerViewEmptySupport extends RecyclerView {

View File

@ -8,7 +8,7 @@ import android.graphics.RectF;
import android.graphics.Shader;
/**
* Author M M Arif
* @author M M Arif
*/
public class RoundedTransformation implements com.squareup.picasso.Transformation {

View File

@ -13,7 +13,7 @@ import java.util.Date;
import java.util.Locale;
/**
* Author M M Arif
* @author M M Arif
*/
public class TimeHelper {

View File

@ -10,6 +10,9 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Map;
/**
* @author M M Arif
*/
public class TinyDB {
private static volatile TinyDB tinyDB;

View File

@ -8,7 +8,7 @@ import android.widget.Toast;
import org.mian.gitnex.R;
/**
* Author M M Arif
* @author M M Arif
*/
public class Toasty {

View File

@ -4,7 +4,7 @@ import java.net.URI;
import java.net.URISyntaxException;
/**
* Author M M Arif
* @author M M Arif
*/
public class UrlHelper {

View File

@ -10,6 +10,9 @@ import java.io.Serializable;
import java.util.Objects;
import okhttp3.Credentials;
/**
* @author qwerty287
*/
public class AccountContext implements Serializable {
private UserAccount account;

View File

@ -9,6 +9,9 @@ import org.gitnex.tea4j.v2.models.Repository;
import org.mian.gitnex.activities.BaseActivity;
import java.io.Serializable;
/**
* @author qwerty287
*/
public class IssueContext implements Serializable {
public static final String INTENT_EXTRA = "issue";

View File

@ -14,6 +14,9 @@ import org.mian.gitnex.helpers.TinyDB;
import java.io.Serializable;
import java.util.Objects;
/**
* @author qwerty287
*/
public class RepositoryContext implements Serializable {
public static final String INTENT_EXTRA = "repository";

View File

@ -1,7 +1,7 @@
package org.mian.gitnex.helpers.ssl;
/**
* Author Georg Lukas, modified by opyale
* @author Georg Lukas, modified by opyale
*/
class MTMDecision {

View File

@ -16,7 +16,7 @@ import org.mian.gitnex.helpers.TinyDB;
import java.util.concurrent.TimeUnit;
/**
* Author opyale
* @author opyale
*/
public class Notifications {

View File

@ -1,5 +1,9 @@
package org.mian.gitnex.structs;
/**
* @author M M Arif
* @author qwerty287
*/
public interface BottomSheetListener {
void onButtonClicked(String text);
}

View File

@ -1,5 +1,9 @@
package org.mian.gitnex.structs;
/**
* @author M M Arif
* @author qwerty287
*/
public interface FragmentRefreshListener {
void onRefresh(String text);

View File

@ -1,3 +1,7 @@
package org.mian.gitnex.structs;
/**
* @author opyale
* @author qwerty287
*/
public enum Protocol {HTTPS, HTTP}

View File

@ -7,7 +7,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
/**
* Author 6543
* @author 6543
*/
public class ParseDiffTest {

View File

@ -4,7 +4,7 @@ import org.junit.Test;
import static org.junit.Assert.assertEquals;
/**
* Author opyale
* @author opyale
*/
public class PathsHelperTest {

View File

@ -5,7 +5,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
/**
* Author 6543
* @author 6543
*/
public class VersionTest {