|
7 | 7 |
|
8 | 8 | jobs:
|
9 | 9 |
|
10 |
| - delete-myget-big-pkgs: |
11 |
| - name: Delete Big MyGet Packages |
12 |
| - runs-on: ubuntu-latest |
13 |
| - steps: |
14 |
| - - name: Set up Python |
15 |
| - uses: actions/setup-python@v4 |
16 |
| - with: |
17 |
| - python-version: '3.x' |
18 |
| - - name: Install Requests |
19 |
| - run: pip install requests |
20 |
| - - name: Install Packaging |
21 |
| - run: pip install packaging |
22 |
| - - name: Delete versions below 3.6.1 |
23 |
| - env: |
24 |
| - MYGET_FEED: 'neo' |
25 |
| - PACKAGE_NAMES: 'bctklib,Neo.Assertions,Neo.BuildTasks,Neo.Collector,Neo.Test.Harness,Neo.Test.Runner,Neo.Trace,Neo.WorkNet,Neo.Json' |
26 |
| - MYGET_API_KEY: ${{ secrets.MYGET_TOKEN }} |
27 |
| - run: | |
28 |
| - import requests |
29 |
| - from packaging import version |
30 |
| - import os |
31 |
| -
|
32 |
| - def get_versions(feed, package_name, api_key): |
33 |
| - url = f"https://www.myget.org/F/{feed}/api/v2/Packages?$select=Version&$filter=Id eq '{package_name}'&$format=json" |
34 |
| - headers = {'Accept': 'application/json'} |
35 |
| - response = requests.get(url, headers=headers) |
36 |
| - if response.status_code == 200: |
37 |
| - versions = response.json()['d']['results'] |
38 |
| - return [ver['Version'] for ver in versions] |
39 |
| - else: |
40 |
| - return [] |
41 |
| -
|
42 |
| - def delete_version(feed, package_name, ver, api_key): |
43 |
| - url = f"https://www.myget.org/F/{feed}/api/v2/package/{package_name}/{ver}?hardDelete=true" |
44 |
| - headers = {"X-NuGet-ApiKey": api_key} |
45 |
| - response = requests.delete(url, headers=headers) |
46 |
| - return response.status_code == 200 # Success |
47 |
| -
|
48 |
| - feed = os.environ['MYGET_FEED'] |
49 |
| - package_names = os.environ['PACKAGE_NAMES'].split(',') |
50 |
| - api_key = os.environ['MYGET_API_KEY'] |
51 |
| -
|
52 |
| - for package_name in package_names: |
53 |
| - versions_to_delete = get_versions(feed, package_name, api_key) |
54 |
| - for ver in versions_to_delete: |
55 |
| - if delete_version(feed, package_name, ver, api_key): |
56 |
| - print(f"Deleted version {ver} of package {package_name}.") |
57 |
| - else: |
58 |
| - print(f"Failed to delete version {ver} of package {package_name}.") |
59 |
| -
|
60 |
| - shell: python |
61 |
| - |
62 | 10 | delete-myget-pkgs:
|
63 | 11 | name: Delete Old MyGet Packages
|
64 | 12 | runs-on: ubuntu-latest
|
|
0 commit comments