Skip to content

Commit 2cb76bc

Browse files
authored
Merge branch 'main-enterprise' into dependabot/npm_and_yarn/nock-14.0.2
2 parents 28b566a + b406b00 commit 2cb76bc

File tree

7 files changed

+272
-39
lines changed

7 files changed

+272
-39
lines changed

.github/workflows/create-pre-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
- name: Set up Docker Buildx
5353
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2
5454
- name: Log in to the Container registry
55-
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
55+
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772
5656
with:
5757
registry: ${{ env.REGISTRY }}
5858
username: ${{ github.actor }}

.github/workflows/create-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
- name: Set up Docker Buildx
3131
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2
3232
- name: Log in to the Container registry
33-
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
33+
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772
3434
with:
3535
registry: ${{ env.REGISTRY }}
3636
username: ${{ github.actor }}

.github/workflows/rc-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060
- run: echo ${{ github.actor }}
6161

6262
- name: Log in to the Container registry
63-
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
63+
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772
6464
with:
6565
registry: ${{ env.REGISTRY }}
6666
username: ${{ github.actor }}

docs/github-action.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@ jobs:
3838
- uses: actions/checkout@v4
3939
with:
4040
repository: github/safe-settings
41-
ref: $SAFE_SETTINGS_VERSION
42-
path: $SAFE_SETTINGS_CODE_DIR
41+
ref: ${{ env.SAFE_SETTINGS_VERSION }}
42+
path: ${{ env.SAFE_SETTINGS_CODE_DIR }}
4343
- uses: actions/setup-node@v4
4444
- run: npm install
45-
working-directory: $SAFE_SETTINGS_CODE_DIR
45+
working-directory: ${{ env.SAFE_SETTINGS_CODE_DIR }}
4646
- run: npm run full-sync
47-
working-directory: $SAFE_SETTINGS_CODE_DIR
47+
working-directory: ${{ env.SAFE_SETTINGS_CODE_DIR }}
4848
env:
4949
GH_ORG: ${{ vars.SAFE_SETTINGS_GH_ORG }}
5050
APP_ID: ${{ vars.SAFE_SETTINGS_APP_ID }}

docs/github-settings/6. deployment-environments.md

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,14 @@ environments:
2727
- type: User
2828
id: 139262123
2929
deployment_branch_policy:
30-
protected_branches: true
31-
custom_branch_policies: false
30+
protected_branches: false
31+
custom_branch_policies:
32+
- names: ['main','dev']
33+
type: branch
34+
- names: ['v*.*.*']
35+
type: tag
3236
deployment_protection_rules:
33-
- app_id: 25112
37+
- app_id: 25112
3438
variables:
3539
- name: MY_AWESOME_VAR
3640
value: '845705'
@@ -43,7 +47,8 @@ environments:
4347
>[!TIP]
4448
>GitHub's API documentation defines these inputs and types:
4549
>1. [Create or update an environment](https://docs.github.com/en/rest/deployments/environments?apiVersion=2022-11-28#create-or-update-an-environment)
46-
>2. [Create an environment variable](https://docs.github.com/en/rest/actions/variables?apiVersion=2022-11-28#create-an-environment-variable)
50+
>2. [Create a deployment branch policy](https://docs.github.com/en/rest/deployments/branch-policies?apiVersion=2022-11-28#create-a-deployment-branch-policy)
51+
>3. [Create an environment variable](https://docs.github.com/en/rest/actions/variables?apiVersion=2022-11-28#create-an-environment-variable)
4752
4853
<table>
4954
<tr><td>
@@ -126,11 +131,11 @@ environments:
126131

127132
<details><summary>Properties of <code>deployment_branch_policy</code></summary>
128133
<br>
129-
<p>&emsp;<code>protected_branches</code><span style="color:gray;">&emsp;<i>string</i>&emsp;</span><span style="color:orange;">${\text{\color{orange}Required}}$</span></p>
130-
<p>&emsp;&emsp;Whether only branches with branch protection rules can deploy<br>&emsp;&emsp;to this environment. If <code>protected_branches</code> is <code>true</code>,<br>&emsp;&emsp;<code>custom_branch_policies</code> must be <code>false</code>; if <code>protected_branches</code><br>&emsp;&emsp;is <code>false</code>, <code>custom_branch_policies</code> must be <code>true</code>.</p>
134+
<p>&emsp;<code>protected_branches</code><span style="color:gray;">&emsp;<i>boolean</i>&emsp;</span><span style="color:orange;">${\text{\color{orange}Required}}$</span></p>
135+
<p>&emsp;&emsp;Whether only branches with branch protection rules can deploy<br>&emsp;&emsp;to this environment. If <code>protected_branches</code> is <code>true</code>,<br>&emsp;&emsp;<code>custom_branch_policies</code> must be <code>false</code>; if <code>protected_branches</code><br>&emsp;&emsp;is <code>false</code>, <code>custom_branch_policies</code> must be an object.</p>
131136

132-
<p>&emsp;<code>id</code><span style="color:gray;">&emsp;<i>integer</i>&emsp;</span></p>
133-
<p>&emsp;&emsp;Whether only branches that match the specified name patterns<br>&emsp;&emsp;can deploy to this environment. If <code>custom_branch_policies</code><br>&emsp;&emsp;is <code>true</code>, <code>protected_branches</code> must be <code>false</code>; if<br>&emsp;&emsp;<code>custom_branch_policies</code> is <code>false</code>, <code>protected_branches</code><br>&emsp;&emsp;must be <code>true</code>.</p>
137+
<p>&emsp;<code>custom_branch_policies</code><span style="color:gray;">&emsp;<i>boolean or object</i>&emsp;</span></p>
138+
<p>&emsp;&emsp;Whether only branches that match the specified name patterns<br>&emsp;&emsp;can deploy to this environment. If <code>custom_branch_policies</code><br>&emsp;&emsp;is <code>false</code>, <code>protected_branches</code> must be <code>true</code>; if<br>&emsp;&emsp;<code>custom_branch_policies</code> is an object, <code>protected_branches</code><br>&emsp;&emsp;must be <code>false</code>.</p>
134139

135140
</details>
136141

@@ -142,8 +147,12 @@ environments:
142147
- name: production
143148
...
144149
deployment_branch_policy:
145-
protected_branches: true
146-
custom_branch_policies: false
150+
protected_branches: false
151+
custom_branch_policies:
152+
- names: ['main','dev']
153+
type: branch
154+
- names: ['v*.*.*']
155+
type: tag
147156
...
148157
```
149158

lib/plugins/environments.js

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,21 @@ module.exports = class Environments extends Diffable {
1414
variable.name = variable.name.toLowerCase()
1515
})
1616
}
17+
// Expand custom_branch_policies to match GitHub schema.
18+
if (environment.deployment_branch_policy && environment.deployment_branch_policy.custom_branch_policies) {
19+
const policies = []
20+
environment.deployment_branch_policy.custom_branch_policies.forEach(policy => {
21+
if (typeof policy === 'string') {
22+
// Convert string policy to object with type 'branch'
23+
policies.push({ name: policy, type: 'branch' })
24+
} else if (typeof policy === 'object' && Array.isArray(policy.names)) {
25+
policy.names.forEach(name => {
26+
policies.push({ name: name, type: policy.type })
27+
})
28+
}
29+
})
30+
environment.deployment_branch_policy.custom_branch_policies = policies
31+
}
1732
})
1833
}
1934
}
@@ -52,7 +67,8 @@ module.exports = class Environments extends Diffable {
5267
repo: this.repo.repo,
5368
environment_name: environment.name
5469
})).data.branch_policies.map(policy => ({
55-
name: policy.name
70+
name: policy.name,
71+
type: policy.type
5672
}))
5773
},
5874
variables: (await this.github.request('GET /repos/:org/:repo/environments/:environment_name/variables', {
@@ -93,11 +109,11 @@ module.exports = class Environments extends Diffable {
93109

94110
let existingCustomBranchPolicies = existing.deployment_branch_policy === null ? null : existing.deployment_branch_policy.custom_branch_policies
95111
if (typeof (existingCustomBranchPolicies) === 'object' && existingCustomBranchPolicies !== null) {
96-
existingCustomBranchPolicies = existingCustomBranchPolicies.sort()
112+
existingCustomBranchPolicies = existingCustomBranchPolicies.sort((x1, x2) => x1.name.localeCompare(x2.name))
97113
}
98114
let attrsCustomBranchPolicies = attrs.deployment_branch_policy === null ? null : attrs.deployment_branch_policy.custom_branch_policies
99115
if (typeof (attrsCustomBranchPolicies) === 'object' && attrsCustomBranchPolicies !== null) {
100-
attrsCustomBranchPolicies = attrsCustomBranchPolicies.sort()
116+
attrsCustomBranchPolicies = attrsCustomBranchPolicies.sort((x1, x2) => x1.name.localeCompare(x2.name))
101117
}
102118
let deploymentBranchPolicy
103119
if (existing.deployment_branch_policy === attrs.deployment_branch_policy) {
@@ -163,7 +179,8 @@ module.exports = class Environments extends Diffable {
163179
await this.nopifyRequest(
164180
'POST /repos/:org/:repo/environments/:environment_name/deployment-branch-policies', {
165181
...baseRequestOptions,
166-
name: policy
182+
name: policy.name,
183+
type: policy.type
167184
}, 'Create deployment branch policy')
168185
}
169186
}
@@ -256,7 +273,8 @@ module.exports = class Environments extends Diffable {
256273
await this.nopifyRequest(
257274
'POST /repos/:org/:repo/environments/:environment_name/deployment-branch-policies', {
258275
...baseRequestOptions,
259-
name: policy.name
276+
name: policy.name,
277+
type: policy.type
260278
}, 'Create deployment branch policy'
261279
)
262280
}

0 commit comments

Comments
 (0)