Skip to content

Commit d7bd6e3

Browse files
author
Simon Engledew
authored
Merge branch 'main' into disable-gpgsign-in-tests
2 parents efc3797 + 1364a74 commit d7bd6e3

34 files changed

Lines changed: 389 additions & 62 deletions
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Update Supported Enterprise Server Versions
2+
3+
on:
4+
schedule:
5+
- cron: "0 0 * * *"
6+
7+
jobs:
8+
multi-language-repo_test-autodetect-languages:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- name: Setup Python
13+
uses: actions/setup-python@v2
14+
with:
15+
python-version: "3.7"
16+
- name: Checkout CodeQL Action
17+
uses: actions/checkout@v2
18+
- name: Checkout Enterprise Releases
19+
uses: actions/checkout@v2
20+
with:
21+
repository: github/enterprise-releases
22+
ssh-key: ${{ secrets.ENTERPRISE_RELEASES_SSH_KEY }}
23+
path: ${{ github.workspace }}/enterprise-releases/
24+
- name: Update Supported Enterprise Server Versions
25+
run: |
26+
cd ./.github/workflows/update-supported-enterprise-server-versions/
27+
python3 -m pip install pipenv
28+
pipenv install
29+
pipenv run ./update.py
30+
rm --recursive "$ENTERPRISE_RELEASES_PATH"
31+
npm run build
32+
env:
33+
ENTERPRISE_RELEASES_PATH: ${{ github.workspace }}/enterprise-releases/
34+
- name: Commit Changes
35+
uses: peter-evans/create-pull-request@c7f493a8000b8aeb17a1332e326ba76b57cb83eb # v3.4.1
36+
with:
37+
commit-message: Update supported GitHub Enterprise Server versions.
38+
title: Update supported GitHub Enterprise Server versions.
39+
body: ""
40+
author: GitHub <noreply@github.com>
41+
branch: update-supported-enterprise-server-versions
42+
env:
43+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[[source]]
2+
name = "pypi"
3+
url = "https://pypi.org/simple"
4+
verify_ssl = true
5+
6+
[dev-packages]
7+
8+
[packages]
9+
semver = "*"

.github/workflows/update-supported-enterprise-server-versions/Pipfile.lock

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/usr/bin/env python3
2+
import datetime
3+
import json
4+
import os
5+
import pathlib
6+
7+
import semver
8+
9+
_API_COMPATIBILITY_PATH = pathlib.Path(__file__).absolute().parents[3] / "src" / "api-compatibility.json"
10+
_ENTERPRISE_RELEASES_PATH = pathlib.Path(os.environ["ENTERPRISE_RELEASES_PATH"])
11+
_RELEASE_FILE_PATH = _ENTERPRISE_RELEASES_PATH / "releases.json"
12+
_FIRST_SUPPORTED_RELEASE = semver.VersionInfo.parse("2.22.0") # Versions older than this did not include Code Scanning.
13+
14+
def main():
15+
releases = json.loads(_RELEASE_FILE_PATH.read_text())
16+
oldest_supported_release = None
17+
newest_supported_release = None
18+
19+
for release_version_string, release_data in releases.items():
20+
release_version = semver.VersionInfo.parse(release_version_string + ".0")
21+
if release_version < _FIRST_SUPPORTED_RELEASE:
22+
continue
23+
24+
if newest_supported_release is None or release_version > newest_supported_release:
25+
feature_freeze_date = datetime.date.fromisoformat(release_data["feature_freeze"])
26+
if feature_freeze_date < datetime.date.today() + datetime.timedelta(weeks=2):
27+
newest_supported_release = release_version
28+
29+
if oldest_supported_release is None or release_version < oldest_supported_release:
30+
end_of_life_date = datetime.date.fromisoformat(release_data["end"])
31+
if end_of_life_date > datetime.date.today():
32+
oldest_supported_release = release_version
33+
34+
api_compatibility_data = {
35+
"minimumVersion": f"{oldest_supported_release.major}.{oldest_supported_release.minor}",
36+
"maximumVersion": f"{newest_supported_release.major}.{newest_supported_release.minor}",
37+
}
38+
_API_COMPATIBILITY_PATH.write_text(json.dumps(api_compatibility_data, sort_keys=True) + "\n")
39+
40+
if __name__ == "__main__":
41+
main()

lib/api-client.js

Lines changed: 51 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/api-client.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/api-client.test.js

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/api-client.test.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/api-compatibility.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{ "maximumVersion": "3.0", "minimumVersion": "2.22" }

lib/codeql.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)