{"id":18397156,"url":"https://github.com/hecomi/create-upm-branch-action","last_synced_at":"2026-02-25T23:32:51.887Z","repository":{"id":142868246,"uuid":"421499515","full_name":"hecomi/create-upm-branch-action","owner":"hecomi","description":"A Github Actions to create release branches for Unity Package Manager","archived":false,"fork":false,"pushed_at":"2024-01-07T01:48:39.000Z","size":15,"stargazers_count":17,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-25T14:51:25.279Z","etag":null,"topics":["unity","upm"],"latest_commit_sha":null,"homepage":"https://tips.hecomi.com/entry/2021/10/29/001304","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hecomi.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}},"created_at":"2021-10-26T16:21:32.000Z","updated_at":"2025-04-09T17:01:28.000Z","dependencies_parsed_at":"2023-08-27T04:47:55.521Z","dependency_job_id":null,"html_url":"https://github.com/hecomi/create-upm-branch-action","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hecomi/create-upm-branch-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hecomi%2Fcreate-upm-branch-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hecomi%2Fcreate-upm-branch-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hecomi%2Fcreate-upm-branch-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hecomi%2Fcreate-upm-branch-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hecomi","download_url":"https://codeload.github.com/hecomi/create-upm-branch-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hecomi%2Fcreate-upm-branch-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29844872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T22:37:40.667Z","status":"ssl_error","status_checked_at":"2026-02-25T22:37:25.960Z","response_time":61,"last_error":"SSL_read: 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":["unity","upm"],"created_at":"2024-11-06T02:16:04.017Z","updated_at":"2026-02-25T23:32:51.861Z","avatar_url":"https://github.com/hecomi.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"create-upm-branch-action\n========================\n\nThis is a Github Action to create release branches for Unity Package Manager.\n\nHow to Use\n----------\n\nFirst, prepare a main branch structure as shown below. I recommend this structure because it also makes it easy to create a Unity package.\n\n```\n\u003cRepository\u003e\n  ├── README.md\n  ├── Assets\n  │   └── [YourPluginName]\n  │         ├── package.json\n  │         ├── Runtime\n  │         │    ├── [YourPluginName].asmdef\n  │         │    └── ...\n  │         └── Samples\n  │               ├── Sample 1\n  │               ├── Sample 2\n  │               ├── Sample 3\n  │               └── ...\n  ├── ...\n```\n\nThen, create the following GitHub Actions.\n\n\n```yaml\nname: Update-UPM-Branch\n\non:\n  push:\n    tags:\n      - v*\n\njobs:\n  update:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v2\n        with:\n          fetch-depth: 0\n\n      - name: Tag name\n        id: tag\n        run: echo ::set-output name=name::${GITHUB_REF#refs/tags/v}\n\n      - name: Create UPM Branches\n        uses: hecomi/create-upm-branch-action@main\n        with:\n          git-tag: ${{ steps.tag.outputs.name }}\n          pkg-root-dir-path: Assets/[YourPluginName]\n```\n\nThis Action requires Write permissions to add branches to your repository. Please configure the settings as per the instructions on the following page: \n\n- [Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository).\n\nWhen a tag like `v1.0.0` is pushed to the GitHub repository, it will automatically create a branch named `upm` with the following structure. The version number in the *package.json* is also updated automatically.\n\n```\n\u003cRepository\u003e\n  ├── README.md\n  ├── package.json\n  ├── Runtime\n  │         ├── [YourPluginName].asmdef\n  │         └── ...\n  ├─ Samples~\n  │         ├── Sample 1\n  │         ├── Sample 2\n  │         ├── Sample 3\n  │         └── ...\n  ├── ...\n```\n\nUsers can then use your plugin in Unity with a URL like:\n\n- `https://github.com/[YourGitHubID]/[YourPluginName].git#upm`\n\nDemo\n----\n\nThis is used in the following project.\n\n- https://github.com/hecomi/uOSC\n\nParameters\n----------\n\n- git-tag\n    - Give this as in the sample above.\n- main-branch\n    - Specify the main of your main branch. The default is `main`.\n- upm-branch\n    - The UPM branch name. The default is `upm`.\n- pkg-root-dir-path\n    - The root path for packaging. Most likely it will be `Assets` or `Assets/[YourPluginName]`.\n- samples-dir\n    - The name of the directory containing the samples. The default is `Samples`.\n- root-files\n    - Give a space-separated list of files, such as *README.md*, that are located in the root directory and to be included in the package. The default is `README.md LICENSE.md CHANGELOG.md`.\n\nPublishing to npm\n-----------------\n\nTo publish your plugin to npm, you aditionally need to:\n\n1. Create an npm account.\n2. Generate an Access Token for each repository. This token will be used as a secret named `NPM_TOKEN`.\n  - Refer to [Publishing Node.js packages on GitHub](https://docs.github.com/ja/actions/publishing-packages/publishing-nodejs-packages) for more details.\n3. Add the following lines to your GitHub Actions:\n\n```yaml\nname: Update-UPM-Branch\n...\njobs:\n  update:\n    ...\n    steps:\n      ...\n\n      - name: Tag name\n        ...\n\n      - name: Create UPM Branches\n        ...\n\n      - name: Setup node\n        uses: actions/setup-node@v2\n        with:\n          registry-url: 'https://registry.npmjs.org'\n\n      - name: NPM publish\n        run: npm publish --access public\n        env:\n          NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhecomi%2Fcreate-upm-branch-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhecomi%2Fcreate-upm-branch-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhecomi%2Fcreate-upm-branch-action/lists"}