simp-beaker-helpers 1.20.1 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7fc677903ad549041397ba842f11a2861c5e99b0b6c9717e0ac48e61485b6a7a
4
- data.tar.gz: 824a685974d1bb8df8ba9335d1176c4ea281d77f79d7ecc76c3fd68b88a82a79
3
+ metadata.gz: 77288902c91655a0e3f5c7db8d5573375e3c341638a8bfc3be82b76f7753f3f6
4
+ data.tar.gz: ec02b6c05c5b1b69615b83b7ed5682d1e2ba9619d72752c4adfa5d48e3e3ec61
5
5
  SHA512:
6
- metadata.gz: 31f997ddbe976bdfbc8fd904a7f8db3a972c6cfb47b62db12483fef311d1eb550caa2fd643e6abaf6dadd92063c288edb9217b472564b3c74af170f828449680
7
- data.tar.gz: 7e3a00581115a489502e13f542246aed81be117d104df938b4097e086300649a732c9d6e9094a3e6696cf35b24a30b63a10df9db71158d298a88919530a9bc8d
6
+ metadata.gz: 6c006e7df61eaeb23dce36101ae518d88f99f34778821402973cf5c9358226572beab46c319fafee6487bbf325dbe07f72f7343c49d023e3d9949dd695092b57
7
+ data.tar.gz: f0535c393d9a6b6b8e3e9484fcf52e78adc4892bd0eca8255479eb06185e9865ddad9af2c6c5f3cd67d55c537632f88e178c39e6ad4a48757e2b61d7b229b826
data/.fips_fixtures CHANGED
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  fixtures:
3
3
  repositories:
4
+ crypto_policy: https://github.com/simp/pupmod-simp-crypto_policy
4
5
  fips: https://github.com/simp/pupmod-simp-fips
5
6
  augeasproviders_core: https://github.com/simp/augeasproviders_core
6
7
  augeasproviders_grub: https://github.com/simp/augeasproviders_grub
@@ -0,0 +1,6 @@
1
+ {
2
+ "gem_build_command": "bundle exec rake pkg:gem",
3
+ "gem_release_command": "gem push dist/*.gem",
4
+ "gem_pkg_dir": "dist"
5
+ }
6
+
@@ -0,0 +1,190 @@
1
+ # Push/Trigger a GitLab CI pipeline for the PR HEAD, **ONLY IF:**
2
+ #
3
+ # 1. The .gitlab-ci.yaml file exists and validates
4
+ # 2. The PR submitter has write access to the target repository.
5
+ #
6
+ # ------------------------------------------------------------------------------
7
+ #
8
+ # NOTICE: **This file is maintained with puppetsync**
9
+ #
10
+ # This file is updated automatically as part of a puppet module baseline.
11
+ #
12
+ # The next baseline sync will overwrite any local changes to this file!
13
+ #
14
+ # ==============================================================================
15
+ #
16
+ # GitHub Action Secrets variables available for this pipeline:
17
+ #
18
+ # GitHub Secret variable Type Notes
19
+ # ------------------------ -------- ----------------------------------------
20
+ # GITLAB_API_PRIVATE_TOKEN Secure Should have `api` scope
21
+ # GITLAB_API_URL Optional
22
+ #
23
+ # The secure vars will be filtered in GitHub Actions log output, and aren't
24
+ # provided to untrusted builds (i.e, triggered by PR from another repository)
25
+ #
26
+ # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
27
+ # WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
28
+ # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!V!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
29
+ #
30
+ # DO NOT MODIFY this workflow, unless you **REALLY** know what you are doing.
31
+ #
32
+ # This workflow bypasses some of the built-in protections of the
33
+ # `pull_request_target` event by explicitly checking out the PR's **HEAD**.
34
+ # Without being VERY CAREFUL, this could easily allow a malcious PR
35
+ # contributor the chance to access secrets or a GITHUB_TOKEN with write scope!!
36
+ #
37
+ # The jobs in this workflow are designed to handle this safely -- but DO NOT
38
+ # assume any alterations will also be safe.
39
+ #
40
+ # For general information, see:
41
+ #
42
+ # https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request_target
43
+ #
44
+ # For further information, or if ANY of this seems confusing or unecessary:
45
+ #
46
+ # ASK FOR ASSISTANCE **BEFORE** ATTEMPTING TO MODIFY THIS WORKFLOW.
47
+ #
48
+ # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
49
+ # WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
50
+ # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!V!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
51
+ #
52
+ # https://docs.github.com/en/actions/reference/events-that-trigger-workflows
53
+ #
54
+ ---
55
+ name: PR GLCI
56
+ on:
57
+ pull_request_target:
58
+ types: [opened, reopened, synchronize]
59
+
60
+ jobs:
61
+
62
+ # The ONLY reason we can validate the PR HEAD's content safely here is that
63
+ # we restrict ourselves to sending data elsewhere.
64
+ glci-syntax:
65
+ name: '.gitlab-ci.yml Syntax'
66
+ runs-on: ubuntu-16.04
67
+ outputs:
68
+ valid: ${{ steps.validate-glci-file.outputs.valid }}
69
+ steps:
70
+ - uses: actions/checkout@v2
71
+ with:
72
+ repository: ${{ github.event.pull_request.head.repo.full_name }}
73
+ ref: ${{ github.event.pull_request.head.ref }}
74
+ - name: 'Validate GLCI file syntax'
75
+ id: validate-glci-file
76
+ uses: simp/github-action-gitlab-ci-syntax-check@main
77
+ with:
78
+ gitlab_api_private_token: ${{ secrets.GITLAB_API_PRIVATE_TOKEN }}
79
+ gitlab_api_url: ${{ secrets.GITLAB_API_URL }} # https://gitlab.com/api/v4
80
+
81
+ contributor-permissions:
82
+ name: 'PR contributor check'
83
+ runs-on: ubuntu-18.04
84
+ outputs:
85
+ permitted: ${{ steps.user-repo-permissions.outputs.permitted }}
86
+ steps:
87
+ - uses: actions/github-script@v3
88
+ id: user-repo-permissions
89
+ with:
90
+ github-token: ${{secrets.GITHUB_TOKEN}}
91
+ # See:
92
+ # - https://octokit.github.io/rest.js/
93
+ # - https://docs.github.com/en/free-pro-team@latest/rest/reference/repos#get-repository-permissions-for-a-user
94
+ script: |
95
+ const project_permission = await github.request('GET /repos/{owner}/{repo}/collaborators/{username}/permission', {
96
+ headers: {
97
+ accept: 'application/vnd.github.v3+json'
98
+ },
99
+ owner: context.repo.owner,
100
+ repo: context.repo.repo,
101
+ username: context.payload.sender.login,
102
+ })
103
+ const has_write_access = perm_lvl => (perm_lvl == "admin" || perm_lvl == "write" )
104
+ const write_access_desc = perm_bool => (perm_bool ? "PERMISSION OK" : "PERMISSION DENIED" )
105
+ if( has_write_access(project_permission.data.permission )){
106
+ core.setOutput( 'permitted', 'true' )
107
+ } else {
108
+ core.setOutput( 'permitted', 'false' )
109
+ console.log(`::error ::payload user '${context.payload.sender.login}' does not have CI trigger permission for '${context.repository}; not triggering external CI'`)
110
+ }
111
+ console.log(`== payload user '${context.payload.sender.login}' CI trigger permission for '${context.repo.owner}': ${write_access_desc(has_write_access(project_permission.data.permission))}`)
112
+
113
+
114
+ trigger-when-user-has-repo-permissions:
115
+ name: 'Trigger CI [trusted users only]'
116
+ needs: [ glci-syntax, contributor-permissions ]
117
+ # This conditional provides an extra safety control, in case the workflow's
118
+ # `on` section is inadventently modified without considering the security
119
+ # implications.
120
+ #
121
+ # This job will ONLY trigger on:
122
+ #
123
+ # - [x] pull_request_target event: github.event_name == 'pull_request_target'
124
+ # AND:
125
+ # - [x] Newly-opened PRs: github.event.action == 'opened'
126
+ # - [x] Re-opened PRs: github.event.action == 'reopened'
127
+ # - [x] Commits are added to PR: github.event.action == 'synchronize'
128
+ # AND:
129
+ # - [x] .gitlab-ci.yml exists/ok: needs.glci-syntax.outputs.valid == 'true'
130
+ #
131
+ # [Not implemented] It should NEVER trigger on:
132
+ #
133
+ # - [ ] Merged PRs: github.event.pull_request.merged == 'false'
134
+ # - (the downstream GitLab mirror will take care of that)
135
+ # - Not implemented: For some reason, this conditional always fails
136
+ # - Unnecessary if on>pull_request_target>types doesn't include 'closed'
137
+ if: github.event_name == 'pull_request_target' && ( github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'synchronize' ) && github.event.pull_request.merged != 'true' && needs.glci-syntax.outputs.valid == 'true' && needs.contributor-permissions.outputs.permitted == 'true'
138
+ runs-on: ubuntu-18.04
139
+ steps:
140
+ # Things we'd like to do:
141
+ # - [ ] if there's no GitLab mirror, make one
142
+ # - [ ] if there's no GitLab <-> GitHub integration, make one
143
+ # - [ ] if there's no PR check on the main GitHub branch, make one (?)
144
+ # - [x] Cancel any GLCI pipelines already pending/running for this branch
145
+ # - "created|waiting_for_resource|preparing|pending|running"
146
+ # - Exception: don't cancel existing pipeline for our own commit
147
+ # - [x] if PR: force-push branch to GitLab
148
+ - uses: actions/checkout@v2
149
+ if: needs.contributor-permissions.outputs.permitted == 'true'
150
+ with:
151
+ clean: true
152
+ fetch-depth: 0 # Need full checkout to push to gitlab mirror
153
+ repository: ${{ github.event.pull_request.head.repo.full_name }}
154
+ ref: ${{ github.event.pull_request.head.ref }}
155
+
156
+ - name: Trigger CI when user has Repo Permissions
157
+ if: needs.contributor-permissions.outputs.permitted == 'true'
158
+ uses: simp/github-action-gitlab-ci-pipeline-trigger@v1
159
+ with:
160
+ git_branch: ${{ github.event.pull_request.head.ref }} # TODO check for/avoid protected branches?
161
+ git_hashref: ${{ github.event.pull_request.head.sha }}
162
+ gitlab_api_private_token: ${{ secrets.GITLAB_API_PRIVATE_TOKEN }}
163
+ gitlab_group: ${{ github.event.organization.login }}
164
+ github_repository: ${{ github.repository }}
165
+ github_repository_owner: ${{ github.repository_owner }}
166
+
167
+ - name: When user does NOT have Repo Permissions
168
+ if: needs.contributor-permissions.outputs.permitted == 'false'
169
+ continue-on-error: true
170
+ run: |
171
+ echo "Ending gracefully; Contributor $GITHUB_ACTOR does not have permission to trigger CI"
172
+ false
173
+
174
+ ### examine_contexts:
175
+ ### name: 'Examine Context contents'
176
+ ### if: always()
177
+ ### runs-on: ubuntu-16.04
178
+ ### needs: [ glci-syntax, contributor-permissions ]
179
+ ### steps:
180
+ ### - name: Dump contexts
181
+ ### env:
182
+ ### GITHUB_CONTEXT: ${{ toJson(github) }}
183
+ ### run: echo "$GITHUB_CONTEXT"
184
+ ### - name: Dump needs context
185
+ ### env:
186
+ ### ENV_CONTEXT: ${{ toJson(needs) }}
187
+ ### run: echo "$ENV_CONTEXT"
188
+ ### - name: Dump env vars
189
+ ### run: env | sort
190
+
@@ -0,0 +1,105 @@
1
+ # When a PR is closed, clean up any associated GitLab CI pipelines & branch
2
+ #
3
+ # * Cancels all GLCI pipelines associated with the PR HEAD ref (branch)
4
+ # * Removes the PR HEAD branch from the corresponding gitlab.com/org/ project
5
+ #
6
+ # ------------------------------------------------------------------------------
7
+ #
8
+ # NOTICE: **This file is maintained with puppetsync**
9
+ #
10
+ # This file is updated automatically as part of a standardized asset baseline.
11
+ #
12
+ # The next baseline sync will overwrite any local changes to this file!
13
+ #
14
+ # ==============================================================================
15
+ #
16
+ # GitHub Action Secrets variables available for this pipeline:
17
+ #
18
+ # GitHub Secret variable Type Notes
19
+ # ------------------------ -------- ----------------------------------------
20
+ # GITLAB_API_PRIVATE_TOKEN Secure Should have `api` scope
21
+ # GITLAB_API_URL Optional
22
+ #
23
+ # The secure vars will be filtered in GitHub Actions log output, and aren't
24
+ # provided to untrusted builds (i.e, triggered by PR from another repository)
25
+ #
26
+ # ------------------------------------------------------------------------------
27
+ #
28
+ # https://docs.github.com/en/actions/reference/events-that-trigger-workflows
29
+ #
30
+ ---
31
+ name: PR GLCI Cleanup
32
+ on:
33
+ pull_request_target:
34
+ types: [closed]
35
+
36
+ jobs:
37
+ cleanup-glci-branch:
38
+ name: 'Clean up GLCI'
39
+ # This conditional provides an extra safety control, in case the workflow's
40
+ # `on` section is inadventently modified without considering the security
41
+ # implications.
42
+ if: github.event_name == 'pull_request_target' && github.event.action == 'closed'
43
+ runs-on: ubuntu-18.04
44
+ steps:
45
+ - uses: actions/checkout@v2
46
+ with:
47
+ repository: ${{ github.event.pull_request.head.repo.full_name }}
48
+ ref: ${{ github.event.pull_request.head.ref }}
49
+ - name: Trigger CI when user has Repo Permissions
50
+ env:
51
+ GITLAB_SERVER_URL: ${{ secrets.GITLAB_SERVER_URL }} # https://gitlab.com
52
+ GITLAB_API_URL: ${{ secrets.GITLAB_API_URL }} # https://gitlab.com/api/v4
53
+ GITLAB_ORG: ${{ github.event.organization.login }}
54
+ GITLAB_API_PRIVATE_TOKEN: ${{ secrets.GITLAB_API_PRIVATE_TOKEN }}
55
+ GIT_BRANCH: ${{ github.event.pull_request.head.ref }}
56
+ run: |
57
+ GITLAB_SERVER_URL="${GITLAB_SERVER_URL:-https://gitlab.com}"
58
+ GITLAB_API_URL="${GITLAB_API_URL:-${GITLAB_SERVER_URL}/api/v4}"
59
+ GIT_BRANCH="${GIT_BRANCH:-GITHUB_HEAD_REF}"
60
+ GITXXB_REPO_NAME="${GITHUB_REPOSITORY/$GITHUB_REPOSITORY_OWNER\//}"
61
+ GITLAB_PROJECT_ID="${GITLAB_ORG}%2F${GITXXB_REPO_NAME}"
62
+ # --http1.0 avoids an HTTP/2 load balancing issue when run from GA
63
+ CURL_CMD=(curl --http1.0 --fail --silent --show-error \
64
+ --header "Authorization: Bearer $GITLAB_API_PRIVATE_TOKEN" \
65
+ --header "Content-Type: application/json" \
66
+ --header "Accept: application/json" \
67
+ )
68
+
69
+ # Cancel any active/pending GitLab CI pipelines for the same project+branch
70
+ active_pipeline_ids=()
71
+ for pipe_status in created waiting_for_resource preparing pending running; do
72
+ echo " ---- checking for CI pipelines with status '$pipe_status' for project '$GITLAB_PROJECT_ID', branch '$GIT_BRANCH'"
73
+ url="${GITLAB_API_URL}/projects/${GITLAB_PROJECT_ID}/pipelines?ref=${GIT_BRANCH}&status=${pipe_status}"
74
+ active_pipelines="$("${CURL_CMD[@]}" "$url" | jq -r '.[] | .id , .web_url')"
75
+ active_pipeline_ids+=($(echo "$active_pipelines" | grep -E '^[0-9]*$'))
76
+ printf "$active_pipelines\n\n"
77
+ done
78
+ if [ "${#active_pipeline_ids[@]}" -gt 0 ]; then
79
+ printf "\nFound %s active pipeline ids:\n" "${#active_pipeline_ids[@]}"
80
+ echo "${active_pipeline_ids[@]}"
81
+ for pipe_id in "${active_pipeline_ids[@]}"; do
82
+ printf "\n ------ Cancelling pipeline ID %s...\n" "$pipe_id"
83
+ "${CURL_CMD[@]}" --request POST "${GITLAB_API_URL}/projects/${GITLAB_PROJECT_ID}/pipelines/${pipe_id}/cancel"
84
+ done
85
+ else
86
+ echo No active pipelines found
87
+ fi
88
+
89
+ echo "== Removing $GIT_BRANCH from gitlab"
90
+ git remote add gitlab "https://oauth2:${GITLAB_API_PRIVATE_TOKEN}@${GITLAB_SERVER_URL#*://}/${GITLAB_ORG}/${GITXXB_REPO_NAME}.git"
91
+ git push gitlab ":${GIT_BRANCH}" -f || : # attempt to un-weird GLCI's `changed` tracking
92
+
93
+ ### examine_contexts:
94
+ ### name: 'Examine Context contents'
95
+ ### if: always()
96
+ ### runs-on: ubuntu-16.04
97
+ ### steps:
98
+ ### - name: Dump contexts
99
+ ### env:
100
+ ### GITHUB_CONTEXT: ${{ toJson(github) }}
101
+ ### run: echo "$GITHUB_CONTEXT"
102
+ ### run: echo "$ENV_CONTEXT"
103
+ ### - name: Dump env vars
104
+ ### run: env | sort
105
+
@@ -0,0 +1,143 @@
1
+ # Manually trigger GLCI pipelines for a PR
2
+ # ------------------------------------------------------------------------------
3
+ #
4
+ # NOTICE: **This file is maintained with puppetsync**
5
+ #
6
+ # This file is updated automatically as part of a standardized asset baseline.
7
+ #
8
+ # The next baseline sync will overwrite any local changes to this file!
9
+ #
10
+ # ==============================================================================
11
+ #
12
+ # This pipeline uses the following GitHub Action Secrets:
13
+ #
14
+ # GitHub Secret variable Type Notes
15
+ # ------------------------ -------- ----------------------------------------
16
+ # GITLAB_API_PRIVATE_TOKEN Required GitLab token (should have `api` scope)
17
+ # NO_SCOPE_GITHUB_TOKEN Required GitHub token (should have no scopes)
18
+ # GITLAB_SERVER_URL Optional Specify a GL server other than gitlab.com
19
+ # The secure vars will be filtered in GitHub Actions log output, and aren't
20
+ # provided to untrusted builds (i.e, triggered by PR from another repository)
21
+ #
22
+ # ------------------------------------------------------------------------------
23
+ #
24
+ # NOTES:
25
+ # It is necessary to provide NO_SCOPE_GITHUB_TOKEN because $secrets.GITHUB_AUTO
26
+ # is NOT provide to manually-triggered (`workflow_dispatch`) events, in order
27
+ # to prevent recursive triggers between workflows
28
+ #
29
+ # Reference:
30
+ #
31
+ # https://docs.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token
32
+ ---
33
+ name: 'Manual: PR GLCI'
34
+
35
+ on:
36
+ workflow_dispatch:
37
+ inputs:
38
+ pr_number:
39
+ description: "PR number to trigger GLCI"
40
+ required: true
41
+
42
+ jobs:
43
+ glci-syntax:
44
+ name: '.gitlab-ci.yml Syntax'
45
+ runs-on: ubuntu-18.04
46
+ outputs:
47
+ valid: ${{ steps.validate-glci-file.outputs.valid }}
48
+ pr_head_ref: ${{ steps.get-pr.outputs.pr_head_ref }}
49
+ pr_head_sha: ${{ steps.get-pr.outputs.pr_head_sha }}
50
+ pr_head_label: ${{ steps.get-pr.outputs.pr_head_label }}
51
+ pr_head_full_name: ${{ steps.get-pr.outputs.pr_full_name }}
52
+ steps:
53
+ - uses: actions/github-script@v3
54
+ id: get-pr
55
+ with:
56
+ github-token: ${{secrets.NO_SCOPE_GITHUB_TOKEN}}
57
+ # See:
58
+ # - https://octokit.github.io/rest.js/
59
+ script: |
60
+ console.log(`== pr number: ${context.payload.inputs.pr_number}`)
61
+ const pr = await github.request('get /repos/{owner}/{repo}/pulls/{pull_number}', {
62
+ headers: {
63
+ accept: 'application/vnd.github.v3+json'
64
+ },
65
+ owner: context.repo.owner,
66
+ repo: context.repo.repo,
67
+ pull_number: context.payload.inputs.pr_number
68
+ });
69
+
70
+ console.log("\n\n== pr\n");
71
+ console.log(pr);
72
+ console.log("\n\n== pr.data.head\n");
73
+ console.log(pr.data.head);
74
+ console.log(pr.status);
75
+
76
+ // PR must have been returned
77
+ if ( pr.status != 200 ) {
78
+ //#console.log(`::error ::Error looking up PR \#${context.payload.inputs.pr_number}: HTTP Response ${pr.status}`)
79
+ return(false)
80
+ }
81
+
82
+ // TODO: should either of these conditions really prevent a GLCI trigger?
83
+ if ( pr.data.state != 'open' ) {
84
+ console.log(`::error ::PR# ${context.payload.inputs.pr_number} is not open`)
85
+ }
86
+ if ( pr.data.merged ) {
87
+ console.log(`::error ::PR# ${context.payload.inputs.pr_number} is already merged`)
88
+ }
89
+ core.setOutput( 'pr_head_sha', pr.data.head.sha )
90
+ core.setOutput( 'pr_head_ref', pr.data.head.ref )
91
+ core.setOutput( 'pr_head_label', pr.data.head.label )
92
+ core.setOutput( 'pr_head_full_name', pr.data.head.full_name )
93
+ - uses: actions/checkout@v2
94
+ with:
95
+ repository: ${{ steps.get-pr.outputs.pr_head_full_name }}
96
+ ref: ${{ steps.get-pr.outputs.pr_head_sha }}
97
+ token: ${{secrets.NO_SCOPE_GITHUB_TOKEN}}
98
+ clean: true
99
+ - name: 'Validate GLCI file syntax'
100
+ id: validate-glci-file
101
+ uses: simp/github-action-gitlab-ci-syntax-check@main
102
+ with:
103
+ gitlab_api_private_token: ${{ secrets.GITLAB_API_PRIVATE_TOKEN }}
104
+ gitlab_api_url: ${{ secrets.GITLAB_API_URL }} # https://gitlab.com/api/v4
105
+
106
+ trigger-when-user-has-repo-permissions:
107
+ name: 'Trigger CI'
108
+ needs: [ glci-syntax ]
109
+ runs-on: ubuntu-18.04
110
+ steps:
111
+ - uses: actions/checkout@v2
112
+ with:
113
+ repository: ${{ needs.glci-syntax.outputs.pr_head_full_name }}
114
+ ref: ${{ needs.glci-syntax.outputs.pr_head_sha }}
115
+ token: ${{secrets.NO_SCOPE_GITHUB_TOKEN}}
116
+ fetch-depth: 0 # Need full checkout to push to gitlab mirror
117
+ clean: true
118
+ - name: Trigger CI when user has Repo Permissions
119
+ uses: simp/github-action-gitlab-ci-pipeline-trigger@v1
120
+ with:
121
+ git_hashref: ${{ needs.glci-syntax.outputs.pr_head_sha }}
122
+ git_branch: ${{ needs.glci-syntax.outputs.pr_head_ref }}
123
+ gitlab_api_private_token: ${{ secrets.GITLAB_API_PRIVATE_TOKEN }}
124
+ gitlab_group: ${{ github.event.organization.login }}
125
+ github_repository: ${{ github.repository }}
126
+ github_repository_owner: ${{ github.repository_owner }}
127
+
128
+ ### examine_contexts:
129
+ ### needs: [ glci-syntax ]
130
+ ### name: 'Examine Context contents'
131
+ ### if: always()
132
+ ### runs-on: ubuntu-18.04
133
+ ### steps:
134
+ ### - name: Dump contexts
135
+ ### env:
136
+ ### GITHUB_CONTEXT: ${{ toJson(github) }}
137
+ ### run: echo "$GITHUB_CONTEXT"
138
+ ### - name: Dump 'needs' context
139
+ ### env:
140
+ ### ENV_CONTEXT: ${{ toJson(needs) }}
141
+ ### run: echo "$ENV_CONTEXT"
142
+ ### - name: Dump env vars
143
+ ### run: env | sort