{"id":19483584,"url":"https://github.com/librity/clone_and_test","last_synced_at":"2025-02-25T17:45:28.382Z","repository":{"id":99702534,"uuid":"359825620","full_name":"librity/clone_and_test","owner":"librity","description":"A Phoenix backed that clones arbitrary elixir project, runs ExUnit tests and saves the result to a database.","archived":false,"fork":false,"pushed_at":"2022-02-25T12:02:04.000Z","size":66,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-08T07:39:45.526Z","etag":null,"topics":["elixir","gitclone","phoenix-framework"],"latest_commit_sha":null,"homepage":"","language":"Elixir","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/librity.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":"2021-04-20T13:27:49.000Z","updated_at":"2021-09-09T23:53:14.000Z","dependencies_parsed_at":"2023-05-15T17:45:52.847Z","dependency_job_id":null,"html_url":"https://github.com/librity/clone_and_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/librity%2Fclone_and_test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/librity%2Fclone_and_test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/librity%2Fclone_and_test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/librity%2Fclone_and_test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/librity","download_url":"https://codeload.github.com/librity/clone_and_test/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240718943,"owners_count":19846482,"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":["elixir","gitclone","phoenix-framework"],"created_at":"2024-11-10T20:15:38.619Z","updated_at":"2025-02-25T17:45:28.377Z","avatar_url":"https://github.com/librity.png","language":"Elixir","readme":"# CloneAndTest\n\n## Table of Contents\n\n- [About](#about)\n- [Endpoints](#endpoints)\n- [Setup](#setup)\n- [Bash Commands](#bash_commands)\n- [Elixir Commands](#elixir_commands)\n- [Libs](#libs)\n- [Docs](#docs)\n- [Resources](#resources)\n\n## About \u003ca name = \"about\"\u003e\u003c/a\u003e\n\nA Pheonix backend that clones arbitrary elixir project,\nruns ExUnit tests and saves the result to a database.\n\n## Endpoints \u003ca name = \"endpoints\"\u003e\u003c/a\u003e\n\nBuilt-in:\n\n- `GET` http://localhost:4000/dashboard\n\n`Repos`\n\n- `GET` http://localhost:4000/api/repos/:owner\n- `GET` http://localhost:4000/api/repos/:owner/:repo_name\n\n## Setup \u003ca name = \"setup\"\u003e\u003c/a\u003e\n\nInstall `Erlang`, `Elixir` and `Phoenix`.\n\n## Bash Commands \u003ca name = \"bash_commands\"\u003e\u003c/a\u003e\n\n```bash\n# Create phoenix app without webpacker or html views\n$ mix phx.new app_name --no-webpack --no-html\n\n# Intall dependencies\n$ mix deps.get\n\n# Compile project\n$ mix compile\n\n# Generate linter config file\n$ mix credo.gen.config\n\n# Run linter\n$ mix credo --strict\n\n# Start Phoenix dev server on http://localhost:4000\n$ mix phx.server\n\n# Start your project as an Interactive Elixir session\n$ iex -S mix\n\n# List all configured routes\n$ mix phx.routes\n```\n\nTests\n\n```bash\n# Run tests\n$ mix test\n\n# Run tests w/ coverage report\n$ mix test --cover\n```\n\n## Elixir Commands \u003ca name = \"elixir_commands\"\u003e\u003c/a\u003e\n\nShell commands:\n\n```elixir\nSystem.cmd(\"whoami\", [])\nSystem.cmd(\"echo\", [\"hello\"], into: IO.stream(:stdio, :line))\n```\n\nGithub client:\n\n```elixir\nGithub.get_user_repos(\"teamon\")\nGithub.get_user_repos(\"danilo-vieira\")\nGithub.get_user_repos(\"librity\")\n```\n\n```elixir\nGithub.get_repo(\"octokit\", \"octokit.rb\")\nGithub.get_repo(\"elixir-lang\", \"elixir\")\nGithub.get_repo(\"librity\", \"librity\")\n```\n\nElixir Git CLI:\n\n```elixir\n{:ok, repo} = Git.clone \"https://github.com/librity/librity\"\nGit.remote repo, ~w(add upstream https://git.example.com)\nGit.pull repo, ~w(--rebase upstream master)\nGit.diff repo, \"HEAD~1\"\nGit.add repo, \".\"\nGit.commit repo, [\"-m\" \"my message\"]\nGit.push repo\nIO.puts Git.log!(repo)\n```\n\n## Libs \u003ca name = \"libs\"\u003e\u003c/a\u003e\n\n- https://github.com/phoenixframework/phoenix\n- https://github.com/teamon/tesla\n- https://github.com/PSPDFKit-labs/bypass\n- https://github.com/dashbitco/mox\n- https://github.com/thoughtbot/ex_machina\n- https://github.com/danhper/elixir-git-cli\n- https://github.com/proger/erlsh\n- https://github.com/devinus/sh\n\n## Docs \u003ca name = \"docs\"\u003e\u003c/a\u003e\n\n- https://elixir-lang.org/crash-course.html\n- https://hexdocs.pm/elixir/master/Path.html\n- https://hexdocs.pm/git_cli/api-reference.html\n- https://hexdocs.pm/elixir/master/System.html\n- https://hexdocs.pm/elixir/master/File.html\n- https://hexdocs.pm/elixir/master/Code.html\n- http://erlang.org/doc/man/os.html\n\n## Resources \u003ca name = \"resources\"\u003e\u003c/a\u003e\n\n- https://www.tutorialspoint.com/elixir/elixir_lists_and_tuples.htm\n- https://stackoverflow.com/questions/29566248/how-to-use-io-inspect-on-a-long-list-without-trimming-it\n- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent\n- https://stackoverflow.com/questions/22594988/run-shell-commands-in-elixir\n- https://stackoverflow.com/questions/27688940/executing-a-basic-shell-command-in-elixir\n\n### Git and Github\n\n- https://docs.github.com/en/rest\n- https://stackoverflow.com/questions/57669037/how-to-clone-github-repo-using-node-js\n- https://github.com/shelljs/shelljs\n- https://www.npmjs.com/package/git-clone\n- https://github.com/octokit/octokit.js\n- https://stackoverflow.com/questions/28491306/elixir-use-vs-import\n\n### My test repos\n\n- https://github.com/librity/nlw4_elixir\n- https://github.com/librity/ignite_list_filter\n- https://github.com/librity/ignite_rockelivery\n- https://github.com/librity/ignite_queue\n- https://github.com/librity/ignite_jwt_ttl\n- https://github.com/librity/ignite_repo_tests\n- https://github.com/librity/ignite_nutri_entities\n- https://github.com/librity/ignite_flightex_tests\n- https://github.com/librity/ignite_concurrent_report\n- https://github.com/librity/nlw5_elixir\n- https://github.com/librity/todo_in_action\n- https://github.com/librity/ignite_rockelivery\n\n### External test repos\n\n- https://github.com/joaopealves/exmeal\n- https://github.com/joaopealves/ex_mon\n- https://github.com/joaopealves/rockelivery\n- https://github.com/joaopealves/flightex\n- https://github.com/joaopealves/Report-gen\n- https://github.com/joaopealves/Rocketpay\n- https://github.com/raulpe7eira/rp7pay\n- https://github.com/svgreve/list_filter\n- https://github.com/HVDgeek/list_filter_elixir\n- https://github.com/WilsonNet/ignite-elixir-desafio-01\n- https://github.com/brunolipe-a/elixir_list_length\n- https://github.com/brunolipe-a/elixir_list_filter\n- https://github.com/alemaocastro1986/ignite-challenge-two\n- https://github.com/ngdevsousa/rockelivery\n- https://github.com/cassiofariasmachado/rockelivery\n- https://github.com/arthurgrigoletto/rockelivery\n- https://github.com/Matheus-Campos/rockelivery\n- https://github.com/mattheusmarzola/rockelivery\n- https://github.com/edupiorini/rockelivery\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibrity%2Fclone_and_test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibrity%2Fclone_and_test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibrity%2Fclone_and_test/lists"}