Unverified Commit 8b193a46 authored by David McFarland's avatar David McFarland Committed by GitHub
Browse files

dotnet: october 2024 releases (#348077)

parents 1063a12f da2cfdb1
Loading
Loading
Loading
Loading
+22 −21
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ import tempfile

class CalledProcessError(Exception):
    process: asyncio.subprocess.Process
    stderr: Optional[bytes]

class UpdateFailedException(Exception):
    pass
@@ -19,20 +20,23 @@ class UpdateFailedException(Exception):
def eprint(*args, **kwargs):
    print(*args, file=sys.stderr, **kwargs)

async def check_subprocess(*args, **kwargs):
async def check_subprocess_output(*args, **kwargs):
    """
    Emulate check argument of subprocess.run function.
    Emulate check and capture_output arguments of subprocess.run function.
    """
    process = await asyncio.create_subprocess_exec(*args, **kwargs)
    returncode = await process.wait()
    # We need to use communicate() instead of wait(), as the OS pipe buffers
    # can fill up and cause a deadlock.
    stdout, stderr = await process.communicate()

    if returncode != 0:
    if process.returncode != 0:
        error = CalledProcessError()
        error.process = process
        error.stderr = stderr

        raise error

    return process
    return stdout

async def run_update_script(nixpkgs_root: str, merge_lock: asyncio.Lock, temp_dir: Optional[Tuple[str, str]], package: Dict, keep_going: bool):
    worktree: Optional[str] = None
@@ -43,7 +47,7 @@ async def run_update_script(nixpkgs_root: str, merge_lock: asyncio.Lock, temp_di
        worktree, _branch = temp_dir

        # Ensure the worktree is clean before update.
        await check_subprocess('git', 'reset', '--hard', '--quiet', 'HEAD', cwd=worktree)
        await check_subprocess_output('git', 'reset', '--hard', '--quiet', 'HEAD', cwd=worktree)

        # Update scripts can use $(dirname $0) to get their location but we want to run
        # their clones in the git worktree, not in the main nixpkgs repo.
@@ -52,7 +56,7 @@ async def run_update_script(nixpkgs_root: str, merge_lock: asyncio.Lock, temp_di
    eprint(f" - {package['name']}: UPDATING ...")

    try:
        update_process = await check_subprocess(
        update_info = await check_subprocess_output(
            'env',
            f"UPDATE_NIX_NAME={package['name']}",
            f"UPDATE_NIX_PNAME={package['pname']}",
@@ -63,8 +67,6 @@ async def run_update_script(nixpkgs_root: str, merge_lock: asyncio.Lock, temp_di
            stderr=asyncio.subprocess.PIPE,
            cwd=worktree,
        )
        update_info = await update_process.stdout.read()

        await merge_changes(merge_lock, package, update_info, temp_dir)
    except KeyboardInterrupt as e:
        eprint('Cancelling…')
@@ -74,10 +76,9 @@ async def run_update_script(nixpkgs_root: str, merge_lock: asyncio.Lock, temp_di
        eprint()
        eprint(f"--- SHOWING ERROR LOG FOR {package['name']} ----------------------")
        eprint()
        stderr = await e.process.stderr.read()
        eprint(stderr.decode('utf-8'))
        eprint(e.stderr.decode('utf-8'))
        with open(f"{package['pname']}.log", 'wb') as logfile:
            logfile.write(stderr)
            logfile.write(e.stderr)
        eprint()
        eprint(f"--- SHOWING ERROR LOG FOR {package['name']} ----------------------")

@@ -101,14 +102,14 @@ async def commit_changes(name: str, merge_lock: asyncio.Lock, worktree: str, bra
    for change in changes:
        # Git can only handle a single index operation at a time
        async with merge_lock:
            await check_subprocess('git', 'add', *change['files'], cwd=worktree)
            await check_subprocess_output('git', 'add', *change['files'], cwd=worktree)
            commit_message = '{attrPath}: {oldVersion} -> {newVersion}'.format(**change)
            if 'commitMessage' in change:
                commit_message = change['commitMessage']
            elif 'commitBody' in change:
                commit_message = commit_message + '\n\n' + change['commitBody']
            await check_subprocess('git', 'commit', '--quiet', '-m', commit_message, cwd=worktree)
            await check_subprocess('git', 'cherry-pick', branch)
            await check_subprocess_output('git', 'commit', '--quiet', '-m', commit_message, cwd=worktree)
            await check_subprocess_output('git', 'cherry-pick', branch)

async def check_changes(package: Dict, worktree: str, update_info: str):
    if 'commit' in package['supportedFeatures']:
@@ -129,12 +130,12 @@ async def check_changes(package: Dict, worktree: str, update_info: str):

        if 'newVersion' not in changes[0]:
            attr_path = changes[0]['attrPath']
            obtain_new_version_process = await check_subprocess('nix-instantiate', '--expr', f'with import ./. {{}}; lib.getVersion {attr_path}', '--eval', '--strict', '--json', stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE, cwd=worktree)
            changes[0]['newVersion'] = json.loads((await obtain_new_version_process.stdout.read()).decode('utf-8'))
            obtain_new_version_output = await check_subprocess_output('nix-instantiate', '--expr', f'with import ./. {{}}; lib.getVersion {attr_path}', '--eval', '--strict', '--json', stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE, cwd=worktree)
            changes[0]['newVersion'] = json.loads(obtain_new_version_output.decode('utf-8'))

        if 'files' not in changes[0]:
            changed_files_process = await check_subprocess('git', 'diff', '--name-only', 'HEAD', stdout=asyncio.subprocess.PIPE, cwd=worktree)
            changed_files = (await changed_files_process.stdout.read()).splitlines()
            changed_files_output = await check_subprocess_output('git', 'diff', '--name-only', 'HEAD', stdout=asyncio.subprocess.PIPE, cwd=worktree)
            changed_files = changed_files_output.splitlines()
            changes[0]['files'] = changed_files

            if len(changed_files) == 0:
@@ -176,8 +177,8 @@ async def start_updates(max_workers: int, keep_going: bool, commit: bool, packag
        # Do not create more workers than there are packages.
        num_workers = min(max_workers, len(packages))

        nixpkgs_root_process = await check_subprocess('git', 'rev-parse', '--show-toplevel', stdout=asyncio.subprocess.PIPE)
        nixpkgs_root = (await nixpkgs_root_process.stdout.read()).decode('utf-8').strip()
        nixpkgs_root_output = await check_subprocess_output('git', 'rev-parse', '--show-toplevel', stdout=asyncio.subprocess.PIPE)
        nixpkgs_root = nixpkgs_root_output.decode('utf-8').strip()

        # Set up temporary directories when using auto-commit.
        for i in range(num_workers):
+293 −0

File added.

Preview size limit exceeded, changes collapsed.

+1 −2
Original line number Diff line number Diff line
{ callPackage
, dotnetCorePackages
, bootstrapSdk
}: callPackage ../dotnet.nix {
  releaseManifestFile = ./release.json;
  releaseInfoFile = ./release-info.json;
  bootstrapSdkFile = ./bootstrap-sdk.nix;
  depsFile = ./deps.nix;
  inherit bootstrapSdk;
}
+8 −8
Original line number Diff line number Diff line
{ fetchNuGet }: [
  (fetchNuGet { hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; pname = "Newtonsoft.Json"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/13.0.1/newtonsoft.json.13.0.1.nupkg"; version = "13.0.1"; })
  (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.ILAsm"; sha256 = "327399b6bee8f18db222120e77f662addcac6fe8c6e46a5e238d4cc9a3ee7b30"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ilasm/8.0.7-servicing.24313.11/runtime.linux-arm64.microsoft.netcore.ilasm.8.0.7-servicing.24313.11.nupkg"; version = "8.0.7-servicing.24313.11"; })
  (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.ILDAsm"; sha256 = "c8adbb9a816a3272fd305c827a6183be673a143e693a803ab038b737ce5cc7eb"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ildasm/8.0.7-servicing.24313.11/runtime.linux-arm64.microsoft.netcore.ildasm.8.0.7-servicing.24313.11.nupkg"; version = "8.0.7-servicing.24313.11"; })
  (fetchNuGet { hash = "sha256-8B+2bg279IxspjUCUG2kvvwrOJ4kBfqgAZLYkSpFXDA="; pname = "runtime.linux-x64.Microsoft.NETCore.ILAsm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ilasm/8.0.7-servicing.24313.11/runtime.linux-x64.microsoft.netcore.ilasm.8.0.7-servicing.24313.11.nupkg"; version = "8.0.7-servicing.24313.11"; })
  (fetchNuGet { hash = "sha256-qwzB9mCoBWiqz7sMfDMwBwgZHm4Jls7Uq23dhpPE8dE="; pname = "runtime.linux-x64.Microsoft.NETCore.ILDAsm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ildasm/8.0.7-servicing.24313.11/runtime.linux-x64.microsoft.netcore.ildasm.8.0.7-servicing.24313.11.nupkg"; version = "8.0.7-servicing.24313.11"; })
  (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.ILAsm"; sha256 = "6b4e532da6481799e2d5ba0f466439b1dbb72b38f99d658f01ef13abb8fa4143"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ilasm/8.0.7-servicing.24313.11/runtime.osx-arm64.microsoft.netcore.ilasm.8.0.7-servicing.24313.11.nupkg"; version = "8.0.7-servicing.24313.11"; })
  (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.ILDAsm"; sha256 = "45944f5e8b6a2f55defb432e47aef685842445edcbd209dc714efea5a7500422"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ildasm/8.0.7-servicing.24313.11/runtime.osx-arm64.microsoft.netcore.ildasm.8.0.7-servicing.24313.11.nupkg"; version = "8.0.7-servicing.24313.11"; })
  (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.ILAsm"; sha256 = "249166f90b4ed837c0797d8c7bed45d55d058aae223e9f163590bee2bbeaf996"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ilasm/8.0.7-servicing.24313.11/runtime.osx-x64.microsoft.netcore.ilasm.8.0.7-servicing.24313.11.nupkg"; version = "8.0.7-servicing.24313.11"; })
  (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.ILDAsm"; sha256 = "ad9bda1369dab0aeb3179735a653f6cd92af08a01c33b220a902f9da1b0b9e65"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ildasm/8.0.7-servicing.24313.11/runtime.osx-x64.microsoft.netcore.ildasm.8.0.7-servicing.24313.11.nupkg"; version = "8.0.7-servicing.24313.11"; })
  (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.ILAsm"; sha256 = "5e6469e8cb678ffe0dd238b80cec17ef6667291b481c375e81292fd403b9ae6e"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ilasm/8.0.8-servicing.24366.12/runtime.linux-arm64.microsoft.netcore.ilasm.8.0.8-servicing.24366.12.nupkg"; version = "8.0.8-servicing.24366.12"; })
  (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.ILDAsm"; sha256 = "57aba33fa6933c296454ceab3d58469ce089573218595efdaac74ca047562dce"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ildasm/8.0.8-servicing.24366.12/runtime.linux-arm64.microsoft.netcore.ildasm.8.0.8-servicing.24366.12.nupkg"; version = "8.0.8-servicing.24366.12"; })
  (fetchNuGet { hash = "sha256-5wddL132f1W80dHLP8Nn5EVvStTauNUH+E5JvVboC5k="; pname = "runtime.linux-x64.Microsoft.NETCore.ILAsm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ilasm/8.0.8-servicing.24366.12/runtime.linux-x64.microsoft.netcore.ilasm.8.0.8-servicing.24366.12.nupkg"; version = "8.0.8-servicing.24366.12"; })
  (fetchNuGet { hash = "sha256-73CVn14q/pnCxN2qPaINi+u6YQSVwEKI8xtCT1NAs04="; pname = "runtime.linux-x64.Microsoft.NETCore.ILDAsm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ildasm/8.0.8-servicing.24366.12/runtime.linux-x64.microsoft.netcore.ildasm.8.0.8-servicing.24366.12.nupkg"; version = "8.0.8-servicing.24366.12"; })
  (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.ILAsm"; sha256 = "e386ffb4c9bb0a5f9f3fc8ff1cf389a6564c8d4d6747b39954207f2a541cc67c"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ilasm/8.0.8-servicing.24366.12/runtime.osx-arm64.microsoft.netcore.ilasm.8.0.8-servicing.24366.12.nupkg"; version = "8.0.8-servicing.24366.12"; })
  (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.ILDAsm"; sha256 = "479117fab25d26d59d8d605a308b53116a0cdce88e4cb5923a31187916d8297c"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ildasm/8.0.8-servicing.24366.12/runtime.osx-arm64.microsoft.netcore.ildasm.8.0.8-servicing.24366.12.nupkg"; version = "8.0.8-servicing.24366.12"; })
  (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.ILAsm"; sha256 = "dcd72a80e4268a8231790b647ed83b214185f0c8c33fc3656618495d2cefb343"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ilasm/8.0.8-servicing.24366.12/runtime.osx-x64.microsoft.netcore.ilasm.8.0.8-servicing.24366.12.nupkg"; version = "8.0.8-servicing.24366.12"; })
  (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.ILDAsm"; sha256 = "0a77e58f66baa31981d503bcc8ebbda4816643c8162e685d8b0620cb707f5668"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a65e5cb4-26c0-410f-9457-06db3c5254be/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ildasm/8.0.8-servicing.24366.12/runtime.osx-x64.microsoft.netcore.ildasm.8.0.8-servicing.24366.12.nupkg"; version = "8.0.8-servicing.24366.12"; })
]
+3 −3
Original line number Diff line number Diff line
{
  "tarballHash": "sha256-/LB6wcJyN25e8+wuBBmnBhdafkczl0LoUX0R/NlUdEU=",
  "artifactsUrl": "https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.8.0.107-servicing.24317.1.centos.9-x64.tar.gz",
  "artifactsHash": "sha256-eduApTyIPz8aVvMCHckVLEJ69/fDLWNtw7EpRq36Qfo="
  "tarballHash": "sha256-HSks3/qFi3khT0E4bU1ek+g8xd5yzmhlqCfnec30EKo=",
  "artifactsUrl": "https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.8.0.108-servicing.24372.1.centos.9-x64.tar.gz",
  "artifactsHash": "sha256-hEAyX3XJG6jHJV4sv1DHxT48u1mSTTXEWwODBm4L7cE="
}
Loading