{"id":26105395,"url":"https://github.com/josm/josmpluginaction","last_synced_at":"2025-04-12T18:26:23.540Z","repository":{"id":64834292,"uuid":"485916374","full_name":"JOSM/JOSMPluginAction","owner":"JOSM","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-06T21:08:16.000Z","size":4224,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T12:46:51.192Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JOSM.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}},"created_at":"2022-04-26T19:11:54.000Z","updated_at":"2025-01-06T21:08:23.000Z","dependencies_parsed_at":"2023-02-10T06:00:52.730Z","dependency_job_id":"16b0fe48-04c1-4783-afef-c2fe4cf553f6","html_url":"https://github.com/JOSM/JOSMPluginAction","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JOSM%2FJOSMPluginAction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JOSM%2FJOSMPluginAction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JOSM%2FJOSMPluginAction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JOSM%2FJOSMPluginAction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JOSM","download_url":"https://codeload.github.com/JOSM/JOSMPluginAction/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248611944,"owners_count":21133210,"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-09T21:07:20.495Z","updated_at":"2025-04-12T18:26:23.515Z","avatar_url":"https://github.com/JOSM.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JOSMPluginAction\nThis action / reusable workflow does the following:\n1. Builds the appropriate JOSM version for your plugin\n2. Builds your plugin\n3. Runs your plugin tests\n4. Adds a built jar to a GitHub release (triggered on the creation of the GitHub\n   release, steps 1-3 are run and must pass)\n\n## Usage\nNote that currently only `JOSM/JOSMPluginAction/workflows/ant.yml` should\nbe used externally.\n\nIf you use the cron schedule, use\n`awk 'BEGIN { srand(); print int(60 * rand()) \" \" int(24 * rand()) \" * * \" int(7 * rand()) ;}'`\nto generate a random day and time. Also, replace `$default-branch` with the\nactual default branch (GitHub actions doesn't currently allow that variable in\nthe originating workflow).\n\nWe recommend using at least two separate jobs. The first should compile your\nplugin with the minimum JOSM version, and the second should compile your plugin\nwith the current JOSM `svn` head. The job targetting the current `svn` revision\nshould _not_ be called by a `release` trigger. Use the minimum JOSM version for\nthat.\n\n### Minimal Sample\n```yaml\nname: Java CI\n\non:\n  push:\n    branches:\n      - $default-branch\n      - $protected-branches\n  pull_request:\n    branches:\n      - $default-branch\n  release:\n    types: [created]\n  schedule:\n  - cron: \"0 0 * * 0\"\n  workflow_dispatch:\n\njobs:\n  call-workflow:\n    permissions:\n      id-token: write\n      attestations: write\n      contents: write\n      packages: write\n    uses: JOSM/JOSMPluginAction/.github/workflows/ant.yml@v3\n```\n\n## Permissions reference:\n* `id-token` and `attestations`: For writing attestation information\n* `contents`: For auto tags and creating a release\n* `packages`: For pushing to a GH package repo\n\n## Inputs (all optional)\n### `josm-revision`\nThe JOSM revision to use, defaults to an empty string (`''`). This uses the\ncurrent `svn` revision. If you want a specific revision, use `r\u003cREVISION\u003e`\n(e.g. `r18563`). Alternatively, you can use `latest` or `tested`.\n\n### `operating-system`\nUse a specific operating system for running the action.\nDefaults to `ubuntu-latest`.\n\n### `java-version`\nUse a specific java version for running the action. Defaults to `11`.\nJOSM is dropping support for Java 8 starting in 2024 (see [#17858](https://josm.openstreetmap.de/ticket/17858#comment:149)),\nso this action is now running the compilation process using Java 11. Use the\nbuild property `java.lang.version` to set the target Java version, if necessary.\n\n### `java-distribution`\nUse a specific java distribution for running the action. Defaults to `temurin`.\n\n## Environment variables\n### `ANT_HOME`\nThis sets both the `ant` home, but do note that it is used to download the\nspecified `ant` version. Defaults to `apache-ant-1.10.14`. You should generally\navoid changing this environment variable. Open a pull request first.\n\n# License\nGPL-2.0-or-later\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosm%2Fjosmpluginaction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosm%2Fjosmpluginaction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosm%2Fjosmpluginaction/lists"}