{"id":19535608,"url":"https://github.com/miyako/4d","last_synced_at":"2026-02-12T08:05:31.396Z","repository":{"id":224035844,"uuid":"762227713","full_name":"miyako/4D","owner":"miyako","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-18T18:18:55.000Z","size":418,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"v1","last_synced_at":"2025-09-18T21:16:08.240Z","etag":null,"topics":["4d-action","4d-workflow","cicd","tool4d"],"latest_commit_sha":null,"homepage":"","language":null,"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/miyako.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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-23T10:43:22.000Z","updated_at":"2025-09-18T18:18:58.000Z","dependencies_parsed_at":"2025-07-17T13:18:05.633Z","dependency_job_id":"aca2a892-6060-43e3-9d43-c15889c6d3da","html_url":"https://github.com/miyako/4D","commit_stats":null,"previous_names":["miyako/get-tool"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/miyako/4D","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miyako%2F4D","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miyako%2F4D/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miyako%2F4D/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miyako%2F4D/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/miyako","download_url":"https://codeload.github.com/miyako/4D/tar.gz/refs/heads/v1","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miyako%2F4D/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29361812,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T01:03:07.613Z","status":"online","status_checked_at":"2026-02-12T02:00:06.911Z","response_time":55,"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":["4d-action","4d-workflow","cicd","tool4d"],"created_at":"2024-11-11T02:19:19.264Z","updated_at":"2026-02-12T08:05:31.375Z","avatar_url":"https://github.com/miyako.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Bump](https://github.com/miyako/4D/blob/v1/.github/workflows/bump.yml) workflow\n\nIncrement the version in `package.json` at the root of the current repository.\n\n* runner: `ubuntu-latest`\n* trigger: `workflow_call` only\n* inputs: `mode`: patch, minor, major\n* outputs: `version`: bumped version\n\n## Note\n\nThe version information from `package.json` is used by the [`compiler`](https://github.com/miyako/4d-class-compiler) project when `localbuild` is specified.\n   \n# [Create Release](https://github.com/miyako/4D/blob/v1/.github/workflows/create-release.yml) workflow\n\nCreate a new release for the current repository.\n\n* runner: `ubuntu-latest`\n* trigger: `workflow_call` only\n* inputs: `version`: release name, tag name\n* outputs: `upload_url`: the url to upload assets \n\n# [Download tool4d](https://github.com/miyako/4D/blob/v1/.github/actions/tool4d-download/action.yml) action\n\nCross-platfrom workflow to download `tool4d` from 4D.com.\n\n* runner: `macos` `windows` `self-hosted`\n* trigger: `workflow_call` only\n* inputs: see below\n* outputs: `tool4d_download_url` `tool4d_executable_path`\n\n## Note\n\nYou should checkout your repository before running this action.\n\ne.g.\n\n```yml\njobs:\n\n  test:\n    runs-on: [macos-latest]\n    steps:\n      - name: get\n        uses: miyako/4D/.github/actions/get-tool@v1\n        with:\n          platform: macos\n          branch: 20.x\n          version: 20.2\n          build: 100959\n```\n\ne.g. with a `strategy`\n\n```yml\njobs:     \n\n  get:\n    strategy:\n      fail-fast: false\n      matrix:\n        TOOL4D_PLATFORM: [\"windows-latest\", \"macos-latest\"]\n        TOOL4D_BRANCH: [20.x]\n        TOOL4D_VERSION: [20.2]\n        TOOL4D_BUILD: [latest] \n    runs-on: ${{ matrix.TOOL4D_PLATFORM }}\n    steps:\n    \n      - name: get tool4d\n        id: get\n        uses: miyako/4D/.github/actions/get-tool@v1\n        with:\n          platform: ${{ matrix.TOOL4D_PLATFORM }}\n          branch: ${{ matrix.TOOL4D_BRANCH }}\n          version: ${{ matrix.TOOL4D_VERSION }}\n          build: ${{ matrix.TOOL4D_BUILD }}\n```\n\n## Remarks\n\n`curl` on Windows seem to block on the default `pwsh`. Using `shell: bash` instead.\n\n# [Build Application]() action\n\n* runner: `[macos, self-hosted]`, `[windows, self-hosted]`\n* trigger: workflow_call only\n* outputs: `compiler_component_path`\n\nCompile, build on self-hosted runner using the specified agent (4D, not `tool4d`), the [`compiler`](https://github.com/miyako/4d-class-compiler) project as a component, and the command `BUILD APPLICATION`.\n\nYou can call this action with a matrix.\n\ne.g.\n\n```yml\njobs:\n\n  build_both:\n    name: build self-hosted\n    strategy:\n      fail-fast: false\n      matrix:\n        platform: [macos, windows]\n        include: \n          - platform: macos\n            build_agent: ${{ inputs.build_agent_macos }}\n          - platform: windows\n            build_agent: ${{ inputs.build_agent_windows }}\n    runs-on: [self-hosted, \"${{ matrix.platform }}\"]\n    steps:\n      - name: checkout \n        uses: actions/checkout@v4\n\n      - name: build application\n        uses: miyako/4D/.github/actions/build-application/@v1\n        with:\n          build_project_name: ${{ inputs.build_project_name }}\n          build_agent: ${{ matrix.build_agent }}\n          build_dir: ${{ inputs.build_dir }}\n          build_project_path: ${{ inputs.build_project_path }}\n          build_settings_path: ${{ inputs.build_settings_path }}\n          platform: ${{ matrix.platform }}\n```\n\n## Note\n\nThe shell on Windows is `powershell`, not `pwsh` (which may not be installed).\n\n# [Build macOS](https://github.com/miyako/4D/blob/v1/.github/actions/build-macos/action.yml) action\n\n* runner: `[macos, self-hosted]`\n* trigger: workflow_call only\n* outputs: `asset_path` `asset_name` `upload_url`\n\nCompile, build, archive, sign, notarise, staple, macOS product on self-hosted runner using the [`compiler`](https://github.com/miyako/4d-class-compiler) project.\n\nThe created asset should be uploaded to GitHub by the caller workflow with its own `secrets.GITHUB_TOKEN`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiyako%2F4d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiyako%2F4d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiyako%2F4d/lists"}