Skip to content

Commit

Permalink
Remove big nuget packages (#923)
Browse files Browse the repository at this point in the history
* Remove big nuget packages

* Update pkgs-delete.yml

* Update .github/workflows/pkgs-delete.yml
  • Loading branch information
shargon authored Feb 20, 2024
1 parent 7b12533 commit ba38734
Showing 1 changed file with 53 additions and 3 deletions.
56 changes: 53 additions & 3 deletions .github/workflows/pkgs-delete.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,62 @@ on:

jobs:

delete-myget-big-pkgs:
name: Delete Big MyGet Packages
runs-on: ubuntu-latest
steps:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install Requests
run: pip install requests
- name: Install Packaging
run: pip install packaging
- name: Delete versions below 3.6.1
env:
MYGET_FEED: 'neo'
PACKAGE_NAMES: 'bctklib,Neo.Assertions,Neo.BuildTasks,Neo.Collector,Neo.Test.Harness,Neo.Test.Runner,Neo.Trace,Neo.WorkNet,Neo.Json'
MYGET_API_KEY: ${{ secrets.MYGET_TOKEN }}
run: |
import requests
from packaging import version
import os
def get_versions(feed, package_name, api_key):
url = f"https://www.myget.org/F/{feed}/api/v2/Packages?$select=Version&$filter=Id eq '{package_name}'&$format=json"
headers = {'Accept': 'application/json'}
response = requests.get(url, headers=headers)
if response.status_code == 200:
versions = response.json()['d']['results']
return [ver['Version'] for ver in versions]
else:
return []
def delete_version(feed, package_name, ver, api_key):
url = f"https://www.myget.org/F/{feed}/api/v2/package/{package_name}/{ver}?hardDelete=true"
headers = {"X-NuGet-ApiKey": api_key}
response = requests.delete(url, headers=headers)
return response.status_code == 200 # Success
feed = os.environ['MYGET_FEED']
package_names = os.environ['PACKAGE_NAMES'].split(',')
api_key = os.environ['MYGET_API_KEY']
for package_name in package_names:
versions_to_delete = get_versions(feed, package_name, api_key)
for ver in versions_to_delete:
if delete_version(feed, package_name, ver, api_key):
print(f"Deleted version {ver} of package {package_name}.")
else:
print(f"Failed to delete version {ver} of package {package_name}.")
shell: python

delete-myget-pkgs:
name: Delete Old MyGet Packages
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
Expand All @@ -24,7 +74,7 @@ jobs:
- name: Delete versions below 3.6.1
env:
MYGET_FEED: 'neo'
PACKAGE_NAMES: 'Neo,Neo.VM,Neo.Json,Neo.Cryptography.BLS12_381,Neo.SmartContract.Framework,Neo.SmartContract.Testing'
PACKAGE_NAMES: 'Neo.SmartContract.Framework,Neo.SmartContract.Testing'
MYGET_API_KEY: ${{ secrets.MYGET_TOKEN }}
run: |
import requests
Expand Down

0 comments on commit ba38734

Please sign in to comment.