From 61a73edbf36ebf795241ee818316701d2ca7364b Mon Sep 17 00:00:00 2001
From: techknowlogick <techknowlogick@gitea.io>
Date: Tue, 25 Apr 2023 21:32:49 -0400
Subject: [PATCH] switch to use Actions from drone for cron (#24314)

Move drone cron pipelines to (GitHub) Actions. As these are mostly
compatible with Gitea Actions, when we start to dogfood, these will
already be migrated.
---
 .drone.yml                              | 103 ------------------------
 .github/workflows/cron-licenses.yml     |  28 +++++++
 .github/workflows/cron-translations.yml |  47 +++++++++++
 3 files changed, 75 insertions(+), 103 deletions(-)
 create mode 100644 .github/workflows/cron-licenses.yml
 create mode 100644 .github/workflows/cron-translations.yml

diff --git a/.drone.yml b/.drone.yml
index 087ddd6166..5096ce781f 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -773,109 +773,6 @@ steps:
       - name: deps
         path: /go
 
----
-kind: pipeline
-name: update_translations
-
-platform:
-  os: linux
-  arch: arm64
-
-trigger:
-  branch:
-    - main
-  event:
-    - cron
-  cron:
-    - update_translations
-
-steps:
-  - name: download
-    image: jonasfranz/crowdin
-    pull: always
-    settings:
-      download: true
-      export_dir: options/locale/
-      ignore_branch: true
-      project_identifier: gitea
-    environment:
-      CROWDIN_KEY:
-        from_secret: crowdin_key
-
-  - name: update
-    image: alpine:3.17
-    pull: always
-    commands:
-      - ./build/update-locales.sh
-
-  - name: push
-    image: appleboy/drone-git-push
-    pull: always
-    settings:
-      author_email: "teabot@gitea.io"
-      author_name: GiteaBot
-      branch: main
-      commit: true
-      commit_message: "[skip ci] Updated translations via Crowdin"
-      remote: "git@github.com:go-gitea/gitea.git"
-    environment:
-      DRONE_COMMIT_AUTHOR_EMAIL: "teabot@gitea.io"
-      DRONE_COMMIT_AUTHOR: GiteaBot
-      GIT_PUSH_SSH_KEY:
-        from_secret: git_push_ssh_key
-
-  - name: upload_translations
-    image: jonasfranz/crowdin
-    pull: always
-    settings:
-      files:
-        locale_en-US.ini: options/locale/locale_en-US.ini
-      ignore_branch: true
-      project_identifier: gitea
-    environment:
-      CROWDIN_KEY:
-        from_secret: crowdin_key
-
----
-kind: pipeline
-type: docker
-name: update_gitignore_and_licenses
-
-platform:
-  os: linux
-  arch: arm64
-
-trigger:
-  branch:
-    - main
-  event:
-    - cron
-  cron:
-    - update_gitignore_and_licenses
-
-steps:
-  - name: download
-    image: gitea/test_env:linux-1.20-amd64
-    pull: always
-    commands:
-      - timeout -s ABRT 40m make generate-license generate-gitignore
-
-  - name: push
-    image: appleboy/drone-git-push
-    pull: always
-    settings:
-      author_email: "teabot@gitea.io"
-      author_name: "GiteaBot"
-      branch: main
-      commit: true
-      commit_message: "[skip ci] Updated licenses and gitignores"
-      remote: "git@github.com:go-gitea/gitea.git"
-    environment:
-      DRONE_COMMIT_AUTHOR_EMAIL: "teabot@gitea.io"
-      DRONE_COMMIT_AUTHOR: "GiteaBot"
-      GIT_PUSH_SSH_KEY:
-        from_secret: git_push_ssh_key
-
 ---
 kind: pipeline
 type: docker
diff --git a/.github/workflows/cron-licenses.yml b/.github/workflows/cron-licenses.yml
new file mode 100644
index 0000000000..21ab72a5e9
--- /dev/null
+++ b/.github/workflows/cron-licenses.yml
@@ -0,0 +1,28 @@
+on:
+  cron:
+    # weekly on Monday at 0:07 UTC
+    - cron: "7 0 * * 1"
+
+name: Update licenses and gitignores
+
+jobs:
+  cron:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+      - uses: actions/setup-go@v3
+        with:
+          go-version: '>=1.20.1'
+      - name: update licenses and gitignores
+        run: timeout -s ABRT 40m make generate-license generate-gitignore
+      - name: push translations to repo
+        uses: appleboy/git-push-action@v0.0.2
+        with:
+          author_email: "teabot@gitea.io"
+          author_name: GiteaBot
+          branch: main
+          commit: true
+          commit_message: "[skip ci] Updated licenses and gitignores"
+          remote: "git@github.com:go-gitea/gitea.git"
+          ssh_key: ${{ secrets.DEPLOY_KEY }}
diff --git a/.github/workflows/cron-translations.yml b/.github/workflows/cron-translations.yml
new file mode 100644
index 0000000000..937a7a59a1
--- /dev/null
+++ b/.github/workflows/cron-translations.yml
@@ -0,0 +1,47 @@
+on:
+  cron:
+    - cron: "7 0 * * *" # every day at 0:07 UTC
+
+name: Pull translations from Crowdin
+
+jobs:
+  crowdin_pull:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+      - name: download from crowdin
+        uses: docker://jonasfranz/crowdin
+        env:
+          CROWDIN_KEY: ${{ secrets.CROWDIN_KEY }}
+          PLUGIN_DOWNLOAD: true
+          PLUGIN_EXPORT_DIR: options/locale/
+          PLUGIN_IGNORE_BRANCH: true
+          PLUGIN_PROJECT_IDENTIFIER: gitea
+      - name: update locales
+        run: ./build/update-locales.sh
+      - name: push translations to repo
+        uses: appleboy/git-push-action@v0.0.2
+        with:
+          author_email: "teabot@gitea.io"
+          author_name: GiteaBot
+          branch: main
+          commit: true
+          commit_message: "[skip ci] Updated translations via Crowdin"
+          remote: "git@github.com:go-gitea/gitea.git"
+          ssh_key: ${{ secrets.DEPLOY_KEY }}
+  crowdin_push:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+      - name: push translations to crowdin
+        uses: docker://jonasfranz/crowdin
+        env:
+          CROWDIN_KEY: ${{ secrets.CROWDIN_KEY }}
+          PLUGIN_UPLOAD: true
+          PLUGIN_IGNORE_BRANCH: true
+          PLUGIN_PROJECT_IDENTIFIER: gitea
+          PLUGIN_FILES: |
+            locale_en-US.ini: options/locale/locale_en-US.ini
+          PLUGIN_BRANCH: main