Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Giehl <stefan@matomo.org>2021-02-24 06:13:17 +0300
committerGitHub <noreply@github.com>2021-02-24 06:13:17 +0300
commit45c7767903f129419c3d3c09425098cb080adf33 (patch)
tree862f37ee8962e215db38e3391e8d5276e0f35936 /.github
parentf8ad318d1b3d5b5473201b4f416a6a8093d208b8 (diff)
Adds new github action to automatically update all submodules (#17251)
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/submodules.yml86
-rw-r--r--.github/workflows/translations.yml3
2 files changed, 88 insertions, 1 deletions
diff --git a/.github/workflows/submodules.yml b/.github/workflows/submodules.yml
new file mode 100644
index 0000000000..25f4247923
--- /dev/null
+++ b/.github/workflows/submodules.yml
@@ -0,0 +1,86 @@
+name: Update Submodules
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: "0 2 * * 5"
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ ref: '4.x-dev'
+ lfs: false
+ - name: Prepare branches
+ run: |
+ cat <<- EOF > $HOME/.netrc
+ machine github.com
+ login $GITHUB_ACTOR
+ password $GITHUB_TOKEN
+ machine api.github.com
+ login $GITHUB_ACTOR
+ password $GITHUB_TOKEN
+ EOF
+ chmod 600 $HOME/.netrc
+
+ git config --global user.email "$GITHUB_ACTOR@users.noreply.github.com"
+ git config --global user.name "$GITHUB_ACTOR"
+
+ git remote add upstream https://github.com/matomo-org/matomo.git
+
+ git push origin --delete submodules || true
+ git branch -D submodules || true
+ git fetch upstream 4.x-dev
+ git checkout -f upstream/4.x-dev
+ git branch submodules
+ git checkout -f submodules
+ - name: Checkout submodules
+ run: git submodule update --init --force
+ - name: Update all submodules
+ run: git submodule foreach "git checkout 4.x-dev || git checkout master; git pull --ff-only"
+ - name: Check for changes
+ id: changes
+ run: |
+ git submodule | grep -oE '^\+[0-9a-f]+ ([A-z\/\-]+)' | cut -d' ' -f 2 | xargs git add
+ IFS=$'\n'
+ changes=( $(git diff --staged --numstat | grep -oE '[A-z0-9\/\-]{2,}' ) )
+
+ # abort here if no change available
+ if [[ ${#changes[@]} -eq 0 ]]
+ then
+ exit 0
+ fi
+
+ message="Updated submodules:\n"
+
+ for (( i=0; i < ${#changes[@]}; i++ )); do
+ message="$message- ${changes[$i]}\n"
+ done
+
+ echo $message
+
+ echo ::set-output name=message::$message
+ shell: bash
+ - name: Push changes
+ run: |
+ git commit -m "updates all submodules"
+ git push --set-upstream origin submodules
+ - name: Create PR
+ run: |
+ curl \
+ --request POST \
+ --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
+ --header 'content-type: application/json' \
+ --data '{
+ "title":"[automatic submodule updates]",
+ "body":"${{ steps.changes.outputs.message }}",
+ "head":"submodules",
+ "base":"4.x-dev"
+ }' \
+ --url https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls
+ shell: bash
+ if: steps.changes.outputs.message
diff --git a/.github/workflows/translations.yml b/.github/workflows/translations.yml
index 8af2363e38..7e03f5de73 100644
--- a/.github/workflows/translations.yml
+++ b/.github/workflows/translations.yml
@@ -1,6 +1,7 @@
name: Translation Updates
on:
+ workflow_dispatch:
schedule:
- cron: "0 2 * * 6"
@@ -69,7 +70,7 @@ jobs:
IFS=$'\n'
changes=( $(git diff --numstat HEAD | grep -E '([0-9]+)\s+([0-9]+)\s+[a-zA-Z\/]*lang\/([a-z]{2,3}(-[a-z]{2,3})?)\.json' ) )
unset IFS
-
+
# abort here if no change available
if [[ ${#changes[@]} -eq 0 ]]
then