forked from diia-open-source/android-diia
-
Notifications
You must be signed in to change notification settings - Fork 0
41 lines (34 loc) · 1.59 KB
/
Copy pathaccept-contribution.yml
File metadata and controls
41 lines (34 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
name: Accept contribution
on:
workflow_dispatch:
inputs:
pr_number:
description: Number of accepted PR
required: true
jobs:
accept-contribution:
runs-on: ubuntu-latest
steps:
- name: Publish changes
env:
GITLAB_TOKEN: ${{ secrets.GITLAB_MAIN_TRIGGER_TOKEN }}
PUBLISH_GROUP: ${{ secrets.PUBLISH_GROUP }}
TARGET_PROJECT: ${{ secrets.TARGET_PROJECT }}
PUBLISH_BRANCH: o_s_dev
PROJECT_CI_API : ${{ secrets.PROJECT_CI_API }}
PR_NUMBER: ${{ inputs.pr_number }}
run: |
TARGET_PROJECT_ID=$(curl --fail --request GET --header "PRIVATE-TOKEN:$GITLAB_TOKEN" \
"$PROJECT_CI_API/$(echo "$PUBLISH_GROUP/$TARGET_PROJECT" | sed 's/\//%2F/g')" | jq -r '.id')
TRIGGER_TOKEN=$(curl --fail --request POST --header "PRIVATE-TOKEN:$GITLAB_TOKEN" \
--form description="trigger token for PR $PR_NUMBER" \
"$PROJECT_CI_API/$TARGET_PROJECT_ID"/triggers)
PIPELINE_TOKEN=$(echo "$TRIGGER_TOKEN" | jq -r '.token')
PIPELINE_TOKEN_ID=$(echo "$TRIGGER_TOKEN" | jq -r '.id')
curl --fail --request POST \
--form token="$PIPELINE_TOKEN" \
--form ref="$PUBLISH_BRANCH" \
--form variables[PR_NUMBER]="$PR_NUMBER" \
"$PROJECT_CI_API/$TARGET_PROJECT_ID/trigger/pipeline" > /dev/null
curl --fail --request DELETE --header "PRIVATE-TOKEN:$GITLAB_TOKEN" \
"$PROJECT_CI_API/$TARGET_PROJECT_ID/triggers/$PIPELINE_TOKEN_ID" > /dev/null