{"id":26365401,"url":"https://github.com/2moe/get-release-url-action","last_synced_at":"2025-03-16T19:36:21.432Z","repository":{"id":243976175,"uuid":"813914774","full_name":"2moe/get-release-url-action","owner":"2moe","description":"Github Action: Invoke the GitHub API to get releases, and obtain the URL for a specific platform from them.","archived":false,"fork":false,"pushed_at":"2024-06-14T02:08:42.000Z","size":156,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2024-06-15T02:22:04.696Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/2moe.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-MIT","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":"2024-06-12T01:44:26.000Z","updated_at":"2024-06-14T02:07:32.000Z","dependencies_parsed_at":"2024-06-12T10:08:27.801Z","dependency_job_id":"23ceb6e5-c2a2-456d-8388-3ef213064f72","html_url":"https://github.com/2moe/get-release-url-action","commit_stats":null,"previous_names":["2moe/get-release-url-action"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2moe%2Fget-release-url-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2moe%2Fget-release-url-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2moe%2Fget-release-url-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2moe%2Fget-release-url-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2moe","download_url":"https://codeload.github.com/2moe/get-release-url-action/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243920711,"owners_count":20369094,"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":[],"created_at":"2025-03-16T19:36:20.879Z","updated_at":"2025-03-16T19:36:21.421Z","avatar_url":"https://github.com/2moe.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Get Release URL Action\n\n| Languages/語言                                 | ID         |\n| ---------------------------------------------- | ---------- |\n| English                                        | en-Latn-US |\n| [中文](./docs/Readme-zh.md)                    | zh-Hans-CN |\n| [中文 (Traditional)](./docs/Readme-zh-Hant.md) | zh-Hant-TW |\n\nGet the URL for a specific platform from the GitHub releases API.\n\nFor example, an open-source project has released software packages for arm64 macOS, x64 Windows, and x64 Linux.\n\nYou can match x64, filter out Windows, and finally get the URL of the x64 Linux software package.\n\n## Inputs\n\n| Inputs        | Description                                                                              | Default |\n| ------------- | ---------------------------------------------------------------------------------------- | ------- |\n| repo          | Name of the GitHub repository. e.g., actions/runner                                      |         |\n| tag           | Tag for releases                                                                         | latest  |\n| include       | Matching items, you can specify multiple matching items with a multiline string          |         |\n| exclude       | Filtering items                                                                          |         |\n| token         | Token is only needed when accessing private repositories                                 |         |\n| write-to-file | Write the URL to a specific file (e.g., url.txt), instead of outputting to GitHub output |         |\n\n## Outputs\n\n| Outputs | Description                                                                                            | Default |\n| ------- | ------------------------------------------------------------------------------------------------------ | ------- |\n| url     | The final URL obtained after matching and filtering (requirement: the value of write-to-file is empty) |         |\n\n## Get Started\n\nAssume the releases URL of a project is: \u003chttps://github.com/actions/runner/releases\u003e\n\nWe got `repo: actions/runner` from it.\n\nFile list:\n\n- linux-arm-2.317.0.tar.gz\n- linux-arm64-2.317.0.tar.gz\n- linux-x64-2.317.0.tar.gz\n- osx-arm64-2.317.0.tar.gz\n- osx-x64-2.317.0.tar.gz\n- win-arm64-2.317.0.zip\n- win-x64-2.317.0.zip\n\nIf you want to get the URL of linux-arm64, you can do this:\n\n```yaml\nname: test\non: push\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - id: get-rurl\n        uses: 2moe/get-releases-url-action@v0\n        with:\n          repo: actions/runner\n          include: |\n            linux\n            arm\n          exclude: |\n            arm-\n      - name: print url\n        run: printf \"url: ${{steps.get-rurl.outputs.url}}\\n\"\n```\n\n## Options\n\n### repo\n\n```yaml\nwith:\n  repo: [owner]/[repo-name]\n```\n\n- type: string\n\nThe name of the GitHub repository, if empty, use the current project repository. (`env.GITHUB_REPOSITORY`)\n\n### tag\n\n```yaml\nwith:\n  tag: latest\n```\n\n- type: string\n- default: latest\n\nTag (label) of GitHub releases, e.g., `v2.1.0`.\n\n### include\n\n```yaml\nwith:\n  include: |\n    x64\n    Windows\n```\n\n- type: string\n- required: true\n\nMatch the filenames included in the file list.\n\nAssume the releases file list is:\n\n- aarch64-apple-darwin.dmg\n- riscv64gc-unknown-linux-musl.tar.zst\n- riscv64gc-unknown-linux-gnu.tar.zst\n- x86_64-pc-windows-msvc.zip\n\nIf you want to match riscv64 linux musl, you can use:\n\n```yaml\nwith:\n  include: riscv64gc-unknown-linux-musl\n```\n\nIf you need to use multiple values for matching, please use a multiline string, one per line.\nThe first line uses riscv64, the second line uses musl.\n\n```yaml\nwith:\n  include: |\n    riscv64gc\n    musl\n```\n\n### exclude\n\n```yaml\nwith:\n  exclude: |\n    gnu\n    arm\n    aarch64\n```\n\n- type: string\n- required: false\n\nFilter out specific items.\n\nIn general, it should be used together with include.\n\nAssume the file list is:\n\n- riscv64gc-unknown-linux-gnu.tzst\n- riscv64gc-unknown-linux-musl.tzst\".\n\nIf you want to match \"musl\", filter out \"gnu\", you can do this:\n\n```yaml\nwith:\n  include: |\n    linux\n    musl\n  exclude: gnu\n```\n\nIf you need to use multiple values for filtering, please use a multiline string.\n\n### token\n\n```yaml\nwith:\n  token: ${{secrets.GITHUB_TOKEN}}\n```\n\n- type: string\n\nTOKEN is only needed when accessing private repositories.\n\nIf empty, get from `env.GITHUB_TOKEN`.\n\n### write-to-file\n\n```yaml\nwith:\n  write-to-file: url.txt\n```\n\n- type: string\n\nIf you don't want to get the URL through `${{steps.\"step-id\".outputs.url}}`, you can also write the URL to a specific file, e.g., a.txt.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2moe%2Fget-release-url-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2moe%2Fget-release-url-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2moe%2Fget-release-url-action/lists"}