{"id":29016030,"url":"https://github.com/otechdo/continuous-testing","last_synced_at":"2026-04-11T14:31:51.068Z","repository":{"id":209170686,"uuid":"722923839","full_name":"otechdo/continuous-testing","owner":"otechdo","description":"A continuous testing tools for Linux users","archived":false,"fork":false,"pushed_at":"2024-03-04T03:22:44.000Z","size":52879,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-04T21:31:54.893Z","etag":null,"topics":["automation","bash","continuous","continuous-testing","d","docker","git","go","golang","packer","rust","testing"],"latest_commit_sha":null,"homepage":"https://github.com/taishingi/continuous-testing","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/otechdo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2023-11-24T09:18:15.000Z","updated_at":"2024-03-17T12:20:06.000Z","dependencies_parsed_at":"2024-03-04T05:06:33.073Z","dependency_job_id":null,"html_url":"https://github.com/otechdo/continuous-testing","commit_stats":null,"previous_names":["taishingi/continuous-testing","otechdo/continuous-testing"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/otechdo/continuous-testing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otechdo%2Fcontinuous-testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otechdo%2Fcontinuous-testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otechdo%2Fcontinuous-testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otechdo%2Fcontinuous-testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/otechdo","download_url":"https://codeload.github.com/otechdo/continuous-testing/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otechdo%2Fcontinuous-testing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31684523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T13:07:20.380Z","status":"ssl_error","status_checked_at":"2026-04-11T13:06:47.903Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["automation","bash","continuous","continuous-testing","d","docker","git","go","golang","packer","rust","testing"],"created_at":"2025-06-25T22:06:27.693Z","updated_at":"2026-04-11T14:31:51.043Z","avatar_url":"https://github.com/otechdo.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# What it's ?\n\n\u003cimg src=\"https://raw.githubusercontent.com/taishingi/continuous-testing/master/.icon/notif.png\" alt=\"continuous\" width=\"250\" align=\"right\"\u003e\n\nIt's a project to run continuous testing to check if the last commit have not broken something.\n\nOn every commit run a git clone of your project in the container, print the latest commit, run build and tests.\n\nOn your computer you will see notification after the build or on the tracking initialize.\n\nThe continuous directory is now a git repository.\n\nThe latest release branch take the name of your environment variable $USER.\n\nYou can be back to an old release if you want or create your branch.\n\nAll providers scripts are based on [archlinux](https://archlinux.org) from my [docker hub](https://hub.docker.com/u/taishingi) to simplify testing.\n\n[D](https://hub.docker.com/r/taishingi/dlang/tags) [Rust](https://hub.docker.com/r/taishingi/rlang/tags) [Go](https://hub.docker.com/r/taishingi/glang/tags) [Bash](https://hub.docker.com/r/taishingi/shlang/tags) [Php](https://hub.docker.com/r/taishingi/plang) [C](https://hub.docker.com/r/taishingi/clang) [Java](https://hub.docker.com/r/taishingi/jlang) [Template](https://github.com/taishingi/continuous-template)\n\n```bash\ncd continuous \u0026\u0026 git checkout -b new-branch-name $tag || exit 1\n```\n\n[![continuous](https://github.com/taishingi/continuous-testing/actions/workflows/continuous.yml/badge.svg)](https://github.com/taishingi/continuous-testing/actions/workflows/continuous.yml)\n[![zuu](https://github.com/taishingi/continuous-testing/actions/workflows/zuu.yml/badge.svg)](https://github.com/taishingi/continuous-testing/actions/workflows/zuu.yml)\n\n![demonstration](https://raw.githubusercontent.com/taishingi/continuous-testing/master/again-3.0.0.gif)\n\n![Audit](https://raw.githubusercontent.com/taishingi/continuous-testing/master/badges/social/audit.svg)\n![Check](https://raw.githubusercontent.com/taishingi/continuous-testing/master/badges/social/check.svg)\n![Clippy](https://raw.githubusercontent.com/taishingi/continuous-testing/master/badges/social/clippy.svg)\n![Format](https://raw.githubusercontent.com/taishingi/continuous-testing/master/badges/social/fmt.svg)\n![Test](https://raw.githubusercontent.com/taishingi/continuous-testing/master/badges/social/test.svg)\n\n## GitHub workflow\n\n```yaml\nname: continuous\non:\n  push:\n    branches: [ \"master\" , \"develop\" ]\n  pull_request:\n    branches: [ \"master\" , \"develop\"]\nenv:\n  CARGO_TERM_COLOR: always\njobs:\n  continuous:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v3\n    - name: deps \n      run: sudo apt-get install -y curl fd-find git docker-ce docker-ce-cli containerd.io docker-buildx-plugin packer \u0026\u0026 packer plugins install github.com/hashicorp/docker\n    - name: continuous\n      run: git clone https://github.com/taishingi/continuous-template.git continuous \u0026\u0026 cd continuous/rust \u0026\u0026 ./scripts-gen \"github.com\" \"username\" \"repository\" \"${GITHUB_REF##*/}\" \"cpu\" \u0026\u0026 packer validate . \u0026\u0026 packer build .\n```\n\n## Local workflow \n\n[Docker](https://docs.docker.com/engine/install/), [Packer](https://developer.hashicorp.com/packer/docs) [Git](https://git-scm.com) and \nlib notify must be installed on your system.\n\n### Install docker\n\n```bash\ncurl -fsSL https://get.docker.com/rootless | sh\n```\n\n### Configure packer\n\n```bash\npacker plugins install github.com/hashicorp/docker\n```\n\n### Configure packer for go\n\n```bash\npacker plugins install github.com/hashicorp/googlecompute\n````\n\n### Install continuous testing\n\n#### Archlinux\n\n![AUR License](https://img.shields.io/aur/license/continuous-testing?style=social)\n![AUR Maintainer](https://img.shields.io/aur/maintainer/continuous-testing?style=social)\n![AUR Version](https://img.shields.io/aur/version/continuous-testing?style=social)\n![AUR Votes](https://img.shields.io/aur/votes/continuous-testing?style=social)\n\n```bash\nparu -S continuous-testing\n```\n\n#### Others\n\n```bash\ncargo install continuous-testing fd-find\n```\n\n### Initialize tracking\n\n```bash\nagain init\n```\n\n### Again configuration\n\n```dotenv\nAGAIN_REPOSITORY=continuous-testing\nAGAIN_USERNAME=taishingi\nAGAIN_BRANCH=master\nAGAIN_DOMAIN=github.com\nAGAIN_CPU=5\nAGAIN_LANGUAGE=rust\nAGAIN_REMOTE=origin\n```\n\n### Again language valid\n\n- c\n- c++\n- d\n- go\n- java\n- php\n- rust\n- sh\n\n### Usage\n\n```bash\ngit add .\ngit commit -m \"msg\"\n```\n\n## Structure for rust executable\n\n```bash\n.\n├── continuous\n│  ├── d\n│  │  ├── d.pkr.hcl\n│  │  ├── README.md\n│  │  └── scripts-gen\n│  ├── go\n│  │  ├── go.pkr.hcl\n│  │  ├── main.go\n│  │  ├── README.md\n│  │  └── scripts-gen\n│  ├── rust\n│  │  ├── beta\n│  │  ├── nightly\n│  │  ├── README.md\n│  │  ├── rust.pkr.hcl\n│  │  ├── scripts-gen\n│  │  └── stable\n│  ├── sh\n│  │  ├── bash.pkr.hcl\n│  │  ├── README.md\n│  │  └── scripts-gen\n│  └── README.md\n├── src\n│  └── main.rs\n└── Cargo.toml\n```\n\n## Structure for rust library\n\n```bash\n.\n├── continuous\n│  ├── d\n│  │  ├── d.pkr.hcl\n│  │  ├── README.md\n│  │  └── scripts-gen\n│  ├── go\n│  │  ├── go.pkr.hcl\n│  │  ├── main.go\n│  │  ├── README.md\n│  │  └── scripts-gen\n│  ├── rust\n│  │  ├── beta\n│  │  ├── nightly\n│  │  ├── README.md\n│  │  ├── rust.pkr.hcl\n│  │  ├── scripts-gen\n│  │  └── stable\n│  ├── sh\n│  │  ├── bash.pkr.hcl\n│  │  ├── README.md\n│  │  └── scripts-gen\n│  └── README.md\n├── src\n│  └── lib.rs\n└── Cargo.toml\n```\n\n## Structure for d \n\n```bash\n.\n├── continuous\n│  ├── d\n│  │  ├── beta\n│  │  ├── d.pkr.hcl\n│  │  ├── nightly\n│  │  ├── README.md\n│  │  ├── scripts-gen\n│  │  └── stable\n│  ├── go\n│  │  ├── go.pkr.hcl\n│  │  ├── main.go\n│  │  ├── README.md\n│  │  └── scripts-gen\n│  ├── rust\n│  │  ├── README.md\n│  │  ├── rust.pkr.hcl\n│  │  └── scripts-gen\n│  ├── sh\n│  │  ├── bash.pkr.hcl\n│  │  ├── README.md\n│  │  └── scripts-gen\n│  └── README.md\n├── source\n│  └── app.d\n└── dub.json\n```\n## File structure for go \n\n```bash\n.\n├── continuous\n│  ├── d\n│  │  ├── d.pkr.hcl\n│  │  ├── README.md\n│  │  └── scripts-gen\n│  ├── go\n│  │  ├── beta\n│  │  ├── go.pkr.hcl\n│  │  ├── main.go\n│  │  ├── nightly\n│  │  ├── README.md\n│  │  ├── scripts-gen\n│  │  └── stable\n│  ├── rust\n│  │  ├── README.md\n│  │  ├── rust.pkr.hcl\n│  │  └── scripts-gen\n│  ├── sh\n│  │  ├── bash.pkr.hcl\n│  │  ├── README.md\n│  │  └── scripts-gen\n│  └── README.md\n└── go.mod\n```\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotechdo%2Fcontinuous-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fotechdo%2Fcontinuous-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotechdo%2Fcontinuous-testing/lists"}