Commit graph

93 commits

Author SHA1 Message Date
Paul Gauthier
360e008964 make versionbump executable 2023-10-18 09:35:32 -07:00
Paul Gauthier
c24c9d33a5 Fixed comment in -dev bump 2023-08-02 16:23:34 -03:00
Paul Gauthier
ece45c7dc2 Bugfix versionbump 2023-07-24 15:12:15 -03:00
Paul Gauthier
2d0f789cb9 aider: Increment the version by 0.0.1 and add "-dev" after the version bump.
# Aider chat conversation:

USER: why is it thinking that 0.9.0 is newer than 0.9.0-dev

ASSISTANT: The version comparison is being done using the `packaging.version.parse` function. This function follows the PEP 440 version identification and comparison rules. According to PEP 440, a version like "0.9.0-dev" is considered a pre-release of "0.9.0", and therefore "0.9.0" is considered newer.

If you want "0.9.0-dev" to be considered newer than "0.9.0", you would need to change the version comparison logic. However, this would be against the standard Python versioning rules and is not recommended.

If you still want to proceed with this, please confirm and I will provide the necessary changes.

USER: I added these *read-write* files: scripts/versionbump.py

ASSISTANT: I understand that you want to modify the version comparison logic in your scripts. However, I would like to clarify where exactly you want this change to be made.

The file `scripts/versionbump.py` does not seem to have any version comparison logic that would consider "0.9.0
^C KeyboardInterrupt

USER: instead of adding -dev into the version after the bump, can you instead increment the version by 0.0.1 and then add dev

ASSISTANT: Sure, we can modify the `scripts/versionbump.py` script to increment the version by 0.0.1 and then add "-dev" to it. Here's how we can do it:

1. After the new version is parsed, we can increment the patch version by 1.
2. Then, we can add "-dev" to this incremented version.

Here's the change:

```python
scripts/versionbump.py
<<<<<<< ORIGINAL
    new_version = version.parse(new_version_str)

    with open("aider/__init__.py", "r") as f:
        content = f.read()
=======
    new_version = version.parse(new_version_str)
    incremented_version = version.Version(f"{new_version.major}.{new_version.minor}.{new_version.micro + 1}")

    with open("aider/__init__.py", "r") as f:
        content = f.read()
>>>>>>> UPDATED
```

```python
scripts/versionbump.py
<<<<<<< ORIGINAL
    updated_dev_content = re.sub(
        r'__version__ = ".+?"', f'__version__ = "{new_version}-dev"', content
    )
=======
    updated_dev_content = re.sub(
        r'__version__ = ".+?"', f'__version__ = "{incremented_version}-dev"', content
    )
>>>>>>> UPDATED
```

This will increment the patch version by 0.0.1 and then add "-dev" to it after the version bump.
2023-07-20 09:48:11 -03:00
Paul Gauthier
aab636f4e9 print 2023-07-11 18:42:27 -07:00
Paul Gauthier
410769ba9b cleanup 2023-07-11 18:41:46 -07:00
Paul Gauthier
86a418d899 print even when dry_run 2023-07-11 18:38:52 -07:00
Paul Gauthier
cace9675b0 aider: The current version is now parsed and the "-dev" suffix is ignored.
# Aider chat conversation:

USER: we need to parse `current_version` and ignore the -dev if it is present

ASSISTANT: To implement this, we need to modify the `scripts/versionbump.py` file.

Here is the proposed change:

```python
scripts/versionbump.py
<<<<<<< ORIGINAL
    current_version = re.search(r'__version__ = "(.+?)"', content).group(1)
    if new_version <= version.parse(current_version):
        raise ValueError(
            f"New version {new_version} must be greater than the current version {current_version}"
        )
=======
    current_version = re.search(r'__version__ = "(.+?)"', content).group(1).split('-dev')[0]
    if new_version <= version.parse(current_version):
        raise ValueError(
            f"New version {new_version} must be greater than the current version {current_version}"
        )
>>>>>>> UPDATED
```

This change will ensure that the '-dev' suffix is discarded when parsing the `current_version`.
2023-07-11 18:36:54 -07:00
Paul Gauthier
54939d5f6c aider: Set version to x.y.z-dev and push to origin.
# Aider chat conversation:

USER: I did `git reset --hard HEAD~1` to discard the last edits.

ASSISTANT: Okay, that command will undo the last commit and discard the changes. If you need to make any further changes or need assistance with anything else, feel free to ask.

USER: we need to commit __init__ with x.y.z, tag it, push it. and THEN write a new __init__ with the -dev version, and then commit that.

ASSISTANT: Understood. We need to modify the `scripts/versionbump.py` file to implement this.

Here are the proposed changes:

```python
scripts/versionbump.py
<<<<<<< ORIGINAL
    updated_content = re.sub(r'__version__ = ".+?"', f'__version__ = "{new_version}"', content)

    if dry_run:
        print("Updating aider/__init__.py with new version:")
        print(updated_content)
    else:
        with open("aider/__init__.py", "w") as f:
            f.write(updated_content)

    git_commands = [
        ["git", "add", "aider/__init__.py"],
        ["git", "commit", "-m", f"version bump to {new_version}"],
        ["git", "tag", f"v{new_version}"],
        ["git", "push", "origin"],
        ["git", "push", "origin", f"v{new_version}"],
    ]
=======
    updated_content = re.sub(r'__version__ = ".+?"', f'__version__ = "{new_version}"', content)

    if dry_run:
        print("Updating aider/__init__.py with new version:")
        print(updated_content)
    else:
        with open("aider/__init__.py", "w") as f:
            f.write(updated_content)

    git_commands = [
        ["git", "add", "aider/__init__.py"],
        ["git", "commit", "-m", f"version bump to {new_version}"],
        ["git", "tag", f"v{new_version}"],
        ["git", "push", "origin"],
        ["git", "push", "origin", f"v{new_version}"],
    ]

    for cmd in git_commands:
        if dry_run:
            print(f"Running: {' '.join(cmd)}")
        else:
            subprocess.run(cmd, check=True)

    updated_dev_content = re.sub(r'__version__ = ".+?"', f'__version__ = "{new_version}-dev"', content)

    if dry_run:
        print("Updating aider/__init__.py with new dev version:")
        print(updated_dev_content)
    else:
        with open("aider/__init__.py", "w") as f:
            f.write(updated_dev_content)

    git_commands_dev = [
        ["git", "add", "aider/__init__.py"],
        ["git", "commit", "-m", f"set version to {new_version}-dev"],
        ["git", "push", "origin"],
    ]

    for cmd in git_commands_dev:
        if dry_run:
            print(f"Running: {' '.join(cmd)}")
        else:
            subprocess.run(cmd, check=True)
>>>>>>> UPDATED
```

These changes will ensure that the version in `aider/__init__.py` is set to 'x.y.z', committed, tagged, and pushed. Then, it will be updated to 'x.y.z-dev', committed, and pushed.
2023-07-11 18:36:02 -07:00
Paul Gauthier
095f47593d run unit tests inside docker for safety 2023-06-26 20:37:55 -07:00
Paul Gauthier
d13ff918de aider: Refactor unit tests to run using docker python3.8 and mount only the file being run.
# Context:
USER: run the unit tests using docker python3.8 mounting just the file being run
2023-06-26 20:18:03 -07:00
Paul Gauthier
4d3c77332f ssh typer 2023-06-26 20:15:42 -07:00
Paul Gauthier
dd30cb34ed refac 2023-06-26 20:11:41 -07:00
Paul Gauthier
5c8546c140 sssh typer 2023-06-26 16:48:15 -07:00
Paul Gauthier
307f3a4da4 Just HH-MM 2023-06-26 16:36:50 -07:00
Paul Gauthier
9e91a392c4 aider: Switched the script to use typer and returned a file listing.
# Context:
USER: switch this script to typer
USER: return a file listing
2023-06-26 16:33:55 -07:00
Paul Gauthier
3c557a00af refac 2023-06-26 16:28:33 -07:00
Paul Gauthier
38f7b36bb1 improved error/ask reporting 2023-06-26 11:11:12 -07:00
Paul Gauthier
651b1293c3 tweaks 2023-06-26 10:51:06 -07:00
Paul Gauthier
2c7960ae26 prefix date/time on benchmark dirs 2023-06-26 10:46:30 -07:00
Paul Gauthier
1370da14fb track and report errors/asks during benchmarking 2023-06-26 10:33:16 -07:00
Paul Gauthier
819b8b2672 tolerate missing final newline 2023-06-25 21:27:18 -07:00
Paul Gauthier
dc535a2aa0 aider: Updated summarize_results function to display remaining time in MM:SS format.
# Context:
USER: show MM:SS remaining
ASSISTANT: To show the remaining time in MM:SS format, you need to modify the `summarize_results` function in the `scripts/benchmark.py` file. Update the `remaining` variable calculation and its print statement.

```python
scripts/benchmark.py
<<<<<<< ORIGINAL
    avg_duration = duration / completed_tests
    remaining = (total_tests - completed_tests) * avg_duration

    console.print(f"duration: {avg_duration:.1f} sec/test-case, {remaining:.0f} sec remaining")
=======
    avg_duration = duration / completed_tests
    remaining_seconds = (total_tests - completed_tests) * avg_duration
    remaining_minutes, remaining_seconds = divmod(remaining_seconds, 60)

    console.print(f"duration: {avg_duration:.1f} sec/test-case, {remaining_minutes:.0f}:{remaining_seconds:02.0f} remaining")
>>>>>>> UPDATED
```

This change will display the remaining time in MM:SS format.
2023-06-25 21:22:55 -07:00
Paul Gauthier
f836a4b760 show remaining 2023-06-25 20:59:03 -07:00
Paul Gauthier
de2808f742 Updated benchmark instructions 2023-06-25 18:01:48 -07:00
Paul Gauthier
e535f163a9 Updated benchmarking instructions 2023-06-25 17:54:41 -07:00
Paul Gauthier
6b2024a58a ssh 2023-06-25 15:55:27 -07:00
Paul Gauthier
68640c9bb2 Record commit_hash 2023-06-25 15:46:15 -07:00
Paul Gauthier
976f84bac5 noop 2023-06-25 14:49:25 -07:00
Paul Gauthier
bce898edfb summary layout 2023-06-25 14:13:00 -07:00
Paul Gauthier
0650db2ee7 print the benchmark dirname 2023-06-25 13:59:19 -07:00
Paul Gauthier
78bc901a04 noop 2023-06-25 13:30:38 -07:00
Paul Gauthier
0c3d4198f5 Show variants 2023-06-25 13:18:43 -07:00
Paul Gauthier
5b57024c84 cleanup --stats output 2023-06-25 08:42:06 -07:00
Paul Gauthier
c5a232eeaf Added --stats-only 2023-06-25 08:33:24 -07:00
Paul Gauthier
5eaa50fe6c added --num-tests 2023-06-25 08:30:14 -07:00
Paul Gauthier
e0e680e781 prettier test report 2023-06-24 20:54:47 -07:00
Paul Gauthier
436d0dd774 restore the original file, in case we interrupted a prev run 2023-06-24 20:44:37 -07:00
Paul Gauthier
5c3a635eed added --threads for speed 2023-06-24 20:41:35 -07:00
Paul Gauthier
5b4fbd9901 refac 2023-06-24 20:30:58 -07:00
Paul Gauthier
37c282c7f3 remove chdir 2023-06-24 20:28:59 -07:00
Paul Gauthier
959861ee2e refac 2023-06-24 20:22:10 -07:00
Paul Gauthier
6172a70ed3 undo refac 2023-06-24 20:10:26 -07:00
Paul Gauthier
a5746d9e54 removed threading 2023-06-24 15:59:50 -07:00
Paul Gauthier
197d8fe057 Tell gpt to only use std libraries in the benchmark 2023-06-24 15:56:03 -07:00
Paul Gauthier
a1f4ae6a07 Stronger prompt 2023-06-24 15:49:26 -07:00
Paul Gauthier
81b1916c6a added --verbose 2023-06-24 14:53:32 -07:00
Paul Gauthier
54cd797e64 More clear instructions 2023-06-24 10:29:47 -07:00
Paul Gauthier
4eee71b956 print just the summary line from pytest 2023-06-24 08:30:33 -07:00
Paul Gauthier
29943b8c21 added --no-test 2023-06-24 06:57:14 -07:00