{"id":25917041,"url":"https://github.com/ate47/mc_ci","last_synced_at":"2026-05-19T07:11:45.953Z","repository":{"id":45715160,"uuid":"514198978","full_name":"ate47/mc_ci","owner":"ate47","description":"Repository to sync the workflows of all my mods 🚀","archived":false,"fork":false,"pushed_at":"2023-05-25T13:58:04.000Z","size":68,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-26T20:49:14.708Z","etag":null,"topics":["continuous-integration","github-actions","sync"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ate47.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-07-15T08:47:57.000Z","updated_at":"2023-01-19T07:57:40.000Z","dependencies_parsed_at":"2025-10-26T20:42:03.372Z","dependency_job_id":null,"html_url":"https://github.com/ate47/mc_ci","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ate47/mc_ci","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ate47%2Fmc_ci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ate47%2Fmc_ci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ate47%2Fmc_ci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ate47%2Fmc_ci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ate47","download_url":"https://codeload.github.com/ate47/mc_ci/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ate47%2Fmc_ci/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33205737,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"online","status_checked_at":"2026-05-19T02:00:06.763Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["continuous-integration","github-actions","sync"],"created_at":"2025-03-03T13:19:33.994Z","updated_at":"2026-05-19T07:11:45.932Z","avatar_url":"https://github.com/ate47.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n\u003ca href=\"https://github.com/ate47/mc_ci\"\u003e\n\u003cimg src=\"docs/logo.png\" alt=\"Logo\" width=\"100\" height=\"100\"\u003e\n\n**Minecraft CI 🚀**\n\u003c/a\u003e\n\n\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\nProject to test/sync ci to all my mods\n\n[Test project on CurseForge](https://www.curseforge.com/minecraft/mc-mods/ci-test-mod)\n\n\u003c/div\u003e\n\n- [Minecraft CI](#minecraft-ci)\n  - [`project.json` schema](#projectjson-schema)\n  - [Scripts](#scripts)\n  - [Sync process](#sync-process)\n    - [Using workflow](#using-workflow)\n    - [Using command line](#using-command-line)\n\n# Minecraft CI\n\nI'm a Powershell user, so my scripts are with [Powershell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7).\n\n## `project.json` schema\n\nConfig file to store the projects.\n\n```json\n{\n  \"projects\": [\n    {\n      \"id\": \"user/repository\",\n      \"branches\": [\"branch1\", \"branch2\"]\n    }\n  ]\n}\n```\n\n## Scripts\n\n- `list_project.ps1`: Print a list of the projects.\n- `update_project.ps1 -Id \"user/repo\" (-Editor \"text-editor-cmd\")`: Create or update a project, will open a file with an editor to select which branch to sync.\n- `delete_project.ps1 -Id \"user/repo\"`: Delete a project.\n- `get_project.ps1 -Id \"user/repo\"`: Get a project.\n- `update_sync_commit.ps1 (-Editor \"text-editor-cmd\") (-Message \"commit message\")`: Set the sync commit message.\n- `init.ps1`: Init the project.json file, done by default with the other scripts.\n- `sync.ps1`: Sync the projects. [See Sync process](#sync-process-)\n\n## Sync process\n\nall files in the `common.github` directory will be sync into the branches/projects with one commit with the message described in `sync_commit_message.txt`.\n\n### Using workflow\n\nBy default it should be used using the `.github/workflows/sync.yml` workflow.\n\nfor forks, 2 secrets are required to config the account to push the sync commits, this account should have at least the repository and workflows permissions on the project's repositories.\n\n- `GH_PAT`: Github token/password.\n- `GH_USERNAME`: Github username.\n\nYou can run the command to sync by using this command:\n\n### Using command line\n\n```powershell\nscripts/sync.ps1 `\n    -IKnowWhatImDoing `\n    -File \"config/project.json\"`\n    -GitUser 'username for the sync commit'`\n    -GitMail 'mail for the sync commit'`\n    -GitPushUser 'Github username'`\n    -GitPassword 'Github password or token'\n```\n\nThe names are pretty much self explaining, but:\n\n- `-IKnowWhatImDoing`: Mandadory, admit it'll be your fault.\n- `-File`: project.json file, by default `\"config/project.json\"`.\n- `-GitUser`: username for the sync commit.\n- `-GitMail`: mail for the sync commit.\n- `-GitPushUser`: Github username to push the sync commit.\n- `-GitPassword`: Github password or token to push the sync commit.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fate47%2Fmc_ci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fate47%2Fmc_ci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fate47%2Fmc_ci/lists"}