193 Commits

Author SHA1 Message Date
Graham Neubig
d669c7b60d
Add github issue resolution workflow (#4102) 2024-09-28 04:52:52 +00:00
tobitege
9651368e6a
revert #3871 dockerfile template: don't write to .bashrc file (#4095) 2024-09-27 21:49:51 +00:00
Xingyao Wang
34f3b61536
[runtime hash] fix runtime hash mismatch between inside app image and in "development mode" (#4039) 2024-09-27 15:26:26 +00:00
tobitege
2cc1c3ef42
(enh) Docker runtime builder with BuildKit support, enh. caching (#4009) 2024-09-26 08:50:53 +02:00
mamoodi
1d052818ae
Set runtime container image so it doesn't need to be rebuilt (#4035) 2024-09-25 05:20:45 +02:00
mamoodi
f11e767eb5
Remove Cleanup stage in runtime tests (#3861)
Co-authored-by: tobitege <10787084+tobitege@users.noreply.github.com>
2024-09-16 10:14:49 -04:00
tobitege
554636cf2a
(fix) Fix runtime (RT) tests and split tests in 2 actions (openhands/root) (#3791)
Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
2024-09-14 21:51:30 +02:00
mamoodi
bff9296d68
Make the publish PyPi manual to fit current release process (#3851) 2024-09-12 20:53:19 -04:00
mamoodi
41b8f3e4a7
Fail the Runtime tests check if the previous jobs were cancelled or failed (#3825)
* Fail the Runtime tests check if the previous jobs were cancelled or failed

* Check only for failures

* Add test exit

* Test cancel

* fix conditions

* fix condition again

* Try another way

* Now test success
2024-09-11 16:40:00 -04:00
mamoodi
f3b2085f9b
Reduce runtime tests duration by running them across CPUs (#3779)
* Reduce runtime tests duration by running them across CPUs

* fix hardcoded image name

* test two cpus

* Test folder change

* Up the CPU to 4 again to test

* Change to 3 CPUs

* Down to 2

* Add param to remove all openhands containers

* Add comment

* Add reruns just in case

* Fix ordering of if
2024-09-10 14:31:17 -04:00
tobitege
1c9b4ad78a
fix regression in fork artifact upload in ghcr_runtime (#3807) 2024-09-10 17:36:36 +02:00
tobitege
2b7517e542
(enh) add caching@v4 action in workflows (#3780)
* dummy test change

* regen yml: 1st install python 3.11, then poetry

* fix caching for poetry; old entry for python was rather useless

* fix steps order (cache before poetry)

* add poetry caching to ghcr_runtime; fix fork conditions

* ghcr_runtime: more caching actions; condition fixes

* fix interim action error (order of steps)

* cache@v4 instead of v3

* fixed interim typo for 2 fork conditions

* runtime/test_env_vars: compacted multiple tests into one to reduce time

* ugh if fork condition changes again
2024-09-09 10:49:49 +02:00
Robert Brennan
ab3851593d
Support interactive commands (#3653)
* hacky solution for interactive commands

* add more behavior

* debug

* fix continue functionality

* remove prints

* refactor a bit

* reduce test sleep

* fix python version

* fix pre-commit issue

* Regenerate integration tests

* Update openhands/runtime/client/client.py

* revert some prompt stuff

* several integration mock files regenerated

* execute_action: remove duplicate exception logging

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: tobitege <10787084+tobitege@users.noreply.github.com>
2024-09-08 21:45:51 +02:00
tobitege
bc31fb15fe
(fix) CodeActAgent: fix issues with vision support in prompts (#3665)
* CodeActAgent: fix message prep if prompt caching is not supported

* fix python version in regen tests workflow

* fix in conftest "mock_completion" method

* add disable_vision to LLMConfig; revert change in message parsing in llm.py

* format messages in several files for completion

* refactored message(s) formatting (llm.py); added vision_is_active()

* fix a unit test

* regenerate: added LOG_TO_FILE and FORCE_REGENERATE env flags

* try to fix path to logs folder in workflow

* llm: prevent index error

* try FORCE_USE_LLM in regenerate

* tweaks everywhere...

* fix 2 random unit test errors :(

* added FORCE_REGENERATE_TESTS=true to regenerate CLI

* fix test_lint_file_fail_typescript again

* double-quotes for env vars in workflow; llm logger set to debug

* fix typo in regenerate

* regenerate iterations now 20; applied iteration counter fix by Li

* regenerate: pass FORCE_REGENERATE flag into env

* fixes for int tests. several mock files updated.

* browsing_agent: fix response_parser.py adding ) to empty response

* test_browse_internet: fix skipif and revert obsolete mock files

* regenerate: fi bracketing for http server start/kill conditions

* disable test_browse_internet for CodeAct*Agents; mock files updated after merge

* missed to include more mock files earlier

* reverts after review feedback from Li

* forgot one

* browsing agent test, partial fixes and updated mock files

* test_browse_internet works in my WSL now!

* adapt unit test test_prompt_caching.py

* add DEBUG to regenerate workflow command

* convert regenerate workflow params to inputs

* more integration test mock files updated

* more files

* test_prompt_caching: restored test_prompt_caching_headers purpose

* file_ops: fix potential exception, like "cross device copy"; fixed mock files accordingly

* reverts/changes wrt feedback from xingyao

* updated docs and config template

* code cleanup wrt review feedback
2024-09-04 17:58:30 +02:00
mamoodi
1b66f2e777
Revert "Create a reusable workflow for building, testing and publishing runti…" (#3725)
This reverts commit d1a741792fe3b7c607e0acd0d47eb8e8a735a51b.
2024-09-04 11:47:01 -04:00
mamoodi
d1a741792f
Create a reusable workflow for building, testing and publishing runtime images and use it (#3717)
* Test resuable workflow

* fix path for reusable workflow

* Fix workflow typo

* fix reusable workflow

* input typo

* Add secrets to reusable workflow

* Make token required

* Fix secret indentation

* Fix image with tag
2024-09-04 08:58:59 -04:00
Graham Neubig
99139e9c72
Release to pypi (#3667)
* Release to pypi

* Change to match our actual versioning
2024-08-30 15:08:25 +00:00
Robert Brennan
b0e52f121c
fix build for fork (#3660) 2024-08-29 21:49:38 +00:00
Robert Brennan
ece8fef739
implement GitHub action for integration regeneration (#3659)
* modify readme

* Regenerate integration tests

* actually run the integration tests

* fix python version

* add diff check

* remove colima

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-29 21:46:41 +00:00
Robert Brennan
09cfcfbee9
add (placeholder) workflow for regenerating the integration tests (#3657)
* add workflow

* add todo
2024-08-29 20:12:11 +00:00
tobitege
8fca5a5354
linter and test_aider_linter extensions for eslint (#3543)
* linter and test_aider_linter extensions for eslint

* linter tweaks

* try enabling verbose output in linter test

* one more option for linter test

* try conftest.py for tests/unit folder

* enable verbose mode in workflow; remove conftest.py again

* debug print statements of linter results

* skip some tests if eslint is not installed at all

* more tweaks

* final test skip setups

* code quality revisions

* fix test again

---------

Co-authored-by: Graham Neubig <neubig@gmail.com>
2024-08-29 10:40:43 +02:00
mamoodi
813b5a2c62
Added stale exemption for tracked issues (#3638) 2024-08-28 20:27:50 -04:00
Robert Brennan
3a1c547c8c
[WIP] Fix docker push issues (#3585)
* empty commit

* fix workflows for forks

* fix runtime tests

* fix repo name

* fix artifacts

* add download step
2024-08-26 19:36:28 +00:00
mamoodi
8f6410603c
Change PR template to enforce a simple description for CHANGELOG (#3602) 2024-08-26 18:30:58 +00:00
Graham Neubig
f9088766e8
Allow setting of runtime container image (#3573)
* Add runtime container image setting

* Fix typo in test

* Fix sandbox base container image

* Update variables

* Update to base_container_image

* Update tests/unit/test_config.py

Co-authored-by: Xingyao Wang <xingyao6@illinois.edu>

* Fixed eval

* Fixed container_image

* Fix typo

---------

Co-authored-by: Xingyao Wang <xingyao6@illinois.edu>
2024-08-25 23:05:41 +00:00
Robert Brennan
b63dec4b2e
Add back docker caching, simplify docker builds (#3546)
* fix multiarch

* remove extra push

* add back tag file

* fix cache tag

* add login step

* fix login

* try to fix save

* fix output maybe

* rm outputs

* remove tars

* fix refs

* fix runtime dep

* force rebuild

* lowercase image

* add suffix to build tags for runtime

* update matrix

* fix cut

* fix cut again

* add back matrix

* Update containers/build.sh

Co-authored-by: Xingyao Wang <xingyao6@illinois.edu>

---------

Co-authored-by: Xingyao Wang <xingyao6@illinois.edu>
2024-08-23 17:01:18 +00:00
Robert Brennan
9642f8d4be
Revert "Remove concurrency and cleanup workflows" (#3534)
* Revert "Remove concurrency and cleanup workflows (#3524)"

This reverts commit b7b45564334ea062635669dc581a390966e8118f.

* Update .github/workflows/ghcr_app.yml

* Update .github/workflows/ghcr_runtime.yml

* Update .github/workflows/ghcr_runtime.yml

---------

Co-authored-by: Xingyao Wang <xingyao6@illinois.edu>
2024-08-22 18:13:09 +00:00
tobitege
81bb918ea0
(test) Move test_runtime to ghcr_test_runtime; adapt workflows (#3513)
* move test_runtime to ghcr_test_runtime; adapt workflows; fix runtime AttributeError

* split test_runtime.py into multiple tests in new tests/runtime folder

* moved common fixtures to tests/runtime/conftest.py
2024-08-22 03:07:20 +08:00
mamoodi
b7b4556433
Remove concurrency and cleanup workflows (#3524) 2024-08-21 13:12:00 -04:00
Xingyao Wang
944d21f34a
fix(ci): repo owner for docker pull (#3510) 2024-08-21 06:16:24 +08:00
Xingyao Wang
981c46cb61
fix: last tag list in CI (#3488) 2024-08-20 09:56:33 +08:00
Xingyao Wang
d45b7208f9
fix last_tag of matrix (#3487) 2024-08-20 09:36:40 +08:00
Xingyao Wang
3d9a38d755
fix: CI push image (#3485)
* fix comment

* remove extra ls

* update title

* fix app docker
2024-08-20 09:17:22 +08:00
Xingyao Wang
94590aad35
chore: fix ghcr app push yet again (#3482) 2024-08-20 06:55:55 +08:00
Xingyao Wang
058dd5a025
chore: fix ghcr again (#3479) 2024-08-19 22:17:24 +00:00
Xingyao Wang
8f0f764a85
fix: CI docker image push (#3476)
* fix ghcr app

* fix ghcr runtime push

* rename od_runtime to runtime
2024-08-19 20:53:28 +00:00
Xingyao Wang
356cbe0adf
fix: ci docker upload (#3469)
* fix upload workflow

* fix typo in filename

* fix ghcr runtime

* rename ghcr to ghcr runtime

* fix upload app docker again
2024-08-20 01:42:08 +08:00
Robert Brennan
01ae22ef57
Rename OpenDevin to OpenHands (#3472)
* Replace OpenDevin with OpenHands

* Update CONTRIBUTING.md

* Update README.md

* Update README.md

* update poetry lock; move opendevin folder to openhands

* fix env var

* revert image references in docs

* revert permissions

* revert permissions

---------

Co-authored-by: Xingyao Wang <xingyao6@illinois.edu>
2024-08-20 00:44:54 +08:00
Xingyao Wang
83f36c1d66
test: build and run runtime tests on different custom docker images (#3324)
* try to fix pip unavailable

* update test case for pip

* force rebuild in CI

* remove extra symlink

* fix newline

* added semi-colon to line 31

* Dockerfile.j2: activate env at the end

* Revert "Dockerfile.j2: activate env at the end"

This reverts commit cf2f5651021fe80d4ab69a35a85f0a35b29dc3d7.

* cleanup Dockerfile

* switch default python image

* remove image agnostic (no longer used)

* fix tests

* simplify integration tests default image

* add nodejs specific runtime tests

* update tests and workflows

* switch to nikolaik/python-nodejs:python3.11-nodejs22

* update build sh to output image name correctly

* increase custom images to test

* fix test

* fix test

* fix double quote

* try fixing ci

* update ghcr workflow

* fix artifact name

* try to fix ghcr again

* fix workflow

* save built image to correct dir

* remove extra -docker-image

* make last tag to be human readable image tag

* fix hyphen to underscore

* run test runtime on all tags

* revert app build

* separate ghcr workflow

* update dockerfile for eval

* fix tag for test run

* try fix tag

* try fix tag via matrix output

* try workflow again

* update comments

* try fixing test matrix

* fix artifact name

* try fix tag again

* Revert "try fix tag again"

This reverts commit b369badd8cccf4a526e36d27eafb77ea2d32f6be.

* tweak filename

* try different path

* fix filepath

* try fix tag artifact path again

* save json instead of line

* update matrix

* print all tags in workflow

* fix DOCKER_IMAGE to avoid ghcr.io/opendevin/ghcr.io/opendevin/od_runtime

* fix test matrix to only load unique test image tags

* try fix matrix again!!!!!

* add all runtime tests passed

---------

Co-authored-by: tobitege <tobitege@gmx.de>
Co-authored-by: Graham Neubig <neubig@gmail.com>
Co-authored-by: tobitege <10787084+tobitege@users.noreply.github.com>
2024-08-19 21:12:00 +08:00
tobitege
49bde1a760
ghcr.yml: bump docker/login-action@v2 to v3 (#3451) 2024-08-19 09:18:16 +08:00
tobitege
0583609531
(fix) jobs need if condition modified to enable run on PR push (#3433)
* fix ghcr_push job: condition needed to check right push context

* apply same rule for other dependent jobs
2024-08-17 23:37:57 +08:00
mamoodi
6e70f79bf4
Remove unnecessary concurrency and more comments (#3422) 2024-08-16 18:19:34 -04:00
mamoodi
340fe0de18
Split Frontend and Python Unit tests (#3399)
* Split Frontend and Python Unit tests

* Extra comment for deploy docs workflow

* Simpler comment

* Add paths and paths-ignore to unit tests

* More specific comment for py unit tests

* Remove paths-ignore because jobs are required

---------

Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
2024-08-16 11:39:14 -04:00
mamoodi
5dab07094d
fix: Only run one deploy docs workflow at a time. Add comments (#3398) 2024-08-15 03:30:57 +02:00
Graham Neubig
98e6756641
Add dependabot group for eslint (#3374) 2024-08-13 12:37:37 +00:00
tobitege
9ad665a996
fix dependabot.yml groups (#3361) 2024-08-13 17:58:15 +08:00
Graham Neubig
20a35c59f6
Group docusaurus dependabot updates (#3359) 2024-08-13 13:38:41 +08:00
tobitege
76a27e72bd
remove test_sandbox references from run-unit-tests.yml (#3326) 2024-08-09 20:13:27 +00:00
Xingyao Wang
bdf6df12c3
fix: pip not available in runtime (#3306)
* try to fix pip unavailable

* update test case for pip

* force rebuild in CI

* remove extra symlink

* fix newline

* added semi-colon to line 31

* Dockerfile.j2: activate env at the end

* Revert "Dockerfile.j2: activate env at the end"

This reverts commit cf2f5651021fe80d4ab69a35a85f0a35b29dc3d7.

* cleanup Dockerfile

* switch default python image

* remove image agnostic (no longer used)

* fix tests

* switch to nikolaik/python-nodejs:python3.11-nodejs22

* fix test

* fix test

* revert docker

* update template

---------

Co-authored-by: tobitege <tobitege@gmx.de>
Co-authored-by: Graham Neubig <neubig@gmail.com>
2024-08-09 15:04:43 -04:00
tobitege
d2a8ff0918
fix double quotes around env vars typo in ghcr.yml (#3313) 2024-08-09 14:22:10 +00:00