{"id":21063273,"url":"https://github.com/boinc/boinc-server-test","last_synced_at":"2025-05-16T02:31:37.164Z","repository":{"id":46408976,"uuid":"146654737","full_name":"BOINC/boinc-server-test","owner":"BOINC","description":"This repository will build a new BOINC project in docker containers based on https://github.com/marius311/boinc-server-docker and then execute a series of integration tests against that repository.","archived":true,"fork":false,"pushed_at":"2024-08-04T11:03:52.000Z","size":56,"stargazers_count":4,"open_issues_count":7,"forks_count":2,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-17T22:54:56.848Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BOINC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-29T20:25:26.000Z","updated_at":"2025-02-19T11:27:08.000Z","dependencies_parsed_at":"2023-12-07T03:22:37.996Z","dependency_job_id":"4f5d0137-27c7-4ed4-a6bb-392917a4733b","html_url":"https://github.com/BOINC/boinc-server-test","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BOINC%2Fboinc-server-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BOINC%2Fboinc-server-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BOINC%2Fboinc-server-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BOINC%2Fboinc-server-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BOINC","download_url":"https://codeload.github.com/BOINC/boinc-server-test/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254455808,"owners_count":22074059,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T17:44:28.803Z","updated_at":"2025-05-16T02:31:32.156Z","avatar_url":"https://github.com/BOINC.png","language":"PHP","readme":"# boinc-server-test\nThis project contains code that will build BOINC in docker containers based on https://github.com/marius311/boinc-server-docker and then execute a series of tests.\n\n# Intial setup\nRun the setup.sh command to install ansible and docker.  Note that you might need to take actions that it recommends when you run the script.  If you do, you should re-run the script to confirm correct installation.  You will know that you are done when you see the text **Setup complete.**\n\n# Build and start a BOINC website\nThe following commands are run from the **_manage_** subdirectory.\n\n## Build docker containers from BOINC master\nThe default usage is to build the docker containers using the code from the master branch of https://github.com/BOINC/boinc.  This can be done using the following command:\n\n```\nansible-playbook -i hosts build.yml\n```\n\n## Build docker containers from a different branch and repository\nIf you need to build from a different branch and/or repository, you can specify the repository and branch to use.  For example, to build from a hypothetical branch in my fork of the BOINC repository you can do use:\n\n```\nansible-playbook -i hosts build.yml --extra-vars \"boinc_repository=https://github.com/TheAspens/boinc boinc_branch=split_boinc_website\"\n```\n\n## Build docker containers from a local version of boinc\nIf you need to build from a local branch and/or repository, you can specify the directory to build from to use.  For example, to build from the code in the boinc directory in my home directory you would do:\n\n```\nansible-playbook -i hosts build.yml --extra-vars \"boinc_dir=/home/knreed/boinc\"\n```\n\n## Start docker containers (Start BOINC project)\nOnce you have built the version of BOINC you want, you can start the project by starting the containers:\n```\nansible-playbook -i hosts start.yml\n```\n\nYou can now access the new website via http://127.0.0.1/boincserver.  Please see https://github.com/marius311/boinc-server-docker for more options of what you can do with the running docker containers.\n\n## Stop docker containers and remove volumes\nIf you want to stop the docker containers and remove their associated storage (so that next time you start them, it will be like a brand new website) then run the following command:\n```\nansible-playbook -i hosts stop_and_remove.yml\n```\n\n## Handy Commands for interacting with your BOINC website\nAccess bash prompt in apache container:\n```\ndocker exec -it boinc-server-docker_apache_1 bash\n```\n\n# Automated Tests\nThe tests are written to be automation oriented integration tests.  At the moment the tests are simply testing a few of the [BOINC Web RPC's](https://boinc.berkeley.edu/trac/wiki/WebRpc).  They are executed using [PHPUnit](https://phpunit.de/).\n\nTests can easily be added to this framework to test the scheduler, file uploads and more using what is already set up.\n\n\nIf we want to extend this to test the web interface, we get leverage a platform like Selenium WebDriver and run it under PHPUnit like we are doing with other tets.\n\n## Run Tests\nTests are run out of the **_tests_** subdirectory.  They require the BOINC project running (see above).  These test are run with the following command:\n```\ncomposer test\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboinc%2Fboinc-server-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboinc%2Fboinc-server-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboinc%2Fboinc-server-test/lists"}