{"id":22746229,"url":"https://github.com/yukihiko-shinoda/action-deploy-wordpress-plugin","last_synced_at":"2026-02-26T00:34:11.095Z","repository":{"id":37018349,"uuid":"225904974","full_name":"yukihiko-shinoda/action-deploy-wordpress-plugin","owner":"yukihiko-shinoda","description":"GitHub Action for deploy WordPress plugin into SubVersion repository on WordPress.org.","archived":false,"fork":false,"pushed_at":"2024-03-31T14:35:01.000Z","size":18,"stargazers_count":1,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-11T06:25:36.579Z","etag":null,"topics":["deploy","deployment","deployment-automation","docker","dockerfile","github-actions","wordpress-plugin","wp-plugin"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yukihiko-shinoda.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-04T16:01:17.000Z","updated_at":"2024-12-23T18:08:08.000Z","dependencies_parsed_at":"2023-01-11T17:21:07.771Z","dependency_job_id":null,"html_url":"https://github.com/yukihiko-shinoda/action-deploy-wordpress-plugin","commit_stats":{"total_commits":11,"total_committers":1,"mean_commits":11.0,"dds":0.0,"last_synced_commit":"e9191f098013f5fb3a4df8a9503e15030e52c1a7"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukihiko-shinoda%2Faction-deploy-wordpress-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukihiko-shinoda%2Faction-deploy-wordpress-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukihiko-shinoda%2Faction-deploy-wordpress-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukihiko-shinoda%2Faction-deploy-wordpress-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yukihiko-shinoda","download_url":"https://codeload.github.com/yukihiko-shinoda/action-deploy-wordpress-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237257484,"owners_count":19280436,"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":["deploy","deployment","deployment-automation","docker","dockerfile","github-actions","wordpress-plugin","wp-plugin"],"created_at":"2024-12-11T02:12:27.885Z","updated_at":"2025-10-20T03:32:09.605Z","avatar_url":"https://github.com/yukihiko-shinoda.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deploy WordPress plugin\n\n[![Test](https://github.com/yukihiko-shinoda/action-deploy-wordpress-plugin/workflows/Test/badge.svg)](https://github.com/yukihiko-shinoda/action-deploy-wordpress-plugin/actions?query=workflow%3ATest)\n[![Docker Cloud Automated build](https://img.shields.io/docker/cloud/automated/futureys/deploy-wordpress-plugin.svg)](https://hub.docker.com/r/futureys/deploy-wordpress-plugin/builds)\n[![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/futureys/deploy-wordpress-plugin.svg)](https://hub.docker.com/r/futureys/deploy-wordpress-plugin/builds)\n[![Docker Image Size (latest semver)](https://img.shields.io/docker/image-size/futureys/deploy-wordpress-plugin)](https://hub.docker.com/r/futureys/deploy-wordpress-plugin/dockerfile)\n[![Twitter URL](https://img.shields.io/twitter/url?style=social\u0026url=https%3A%2F%2Fgithub.com%2Fyukihiko-shinoda%2Faction-deploy-wordpress-plugin)](http://twitter.com/share?text=Deploy%20WordPress%20plugin\u0026url=https://github.com/marketplace/actions/deploy-wordpress-plugin\u0026hashtags=wordpress)\n\nThis is deployment action for WordPress Plugin from Git repository to SubVersion on WordPress.org.\n\n## requirement\n\nYour WordPress Plugin project can accept that:\n\n- Tag revision on Git repository before deploy into WordPress.org\n- Tag name of revision on source Git repository to deploy is the same as version number of plugin’s main PHP file on tagged revision of source Git repository\n\n## out of scope\n\n- Deploying old version than latest version\n- [Deploying Assets](https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/)\n  (Even if Git repository includes assets, this project will deploy\n   the revision content as it is under trunk and tags\n   of SubVersion repository on WordPress.org.)\n\n## excluding strategy\n\nThe process executes rsync from Git working tree to SubVersion working tree with ```.rsync-filter```.\n\n### default behavior\n\nrsync will read [default .rsync-filter file](https://github.com/yukihiko-shinoda/dockerfile-deploy-wordpress-plugin/blob/master/runner/project/roles/rsync_git_to_svn/templates/.rsync-filter.j2).\n\n### customizing behavior\n\nIf ```.rsync-filter``` file is exist on the root of Git working tree, rsync will read it. The most primitive how to write it is to list up files and directories you want to exclude. For more details, following contents will be helpful.\n\n- [linux - Using Rsync filter to include/exclude files - Stack Overflow](https://stackoverflow.com/questions/35364075/using-rsync-filter-to-include-exclude-files)\n- [rsync(1) - Linux man page](https://linux.die.net/man/1/rsync)\n\n## Usage\n\nThe code example is given first and some key points are explained later.\n\nEx:\n\n```yaml\nname: Deploy WordPress plugin\non:\n  push:\n    # 1. Trigger by pushing tag\n    tags:\n      - '[0-9]+.[0-9]+.[0-9]+'\njobs:\n  build:\n    name: Deploy WordPress plugin\n    # 2. Specify Linux runner\n    runs-on: ubuntu-20.04\n    steps:\n      # 3. Checkout before Use this deployment action\n      - name: Checkout\n        uses: actions/checkout@v3\n      # 4. Use action with environment variable set by secrets\n      - name: Deploy\n        uses: yukihiko-shinoda/action-deploy-wordpress-plugin@v2\n        env:\n          SVN_REPOSITORY_URL: ${{ secrets.SvnRepositoryUrl }}\n          SVN_USER_NAME: ${{ secrets.SvnUserName }}\n          SVN_USER_PASSWORD: ${{ secrets.SvnUserPassword }}\n```\n\n### key point\n\n#### 1. Trigger by pushing tag\n\nIf you prefer, you can use [filter pattern](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet).\n\n#### 2. Specify Linux runner\n\nWe recommend Linux runner. Windows and Mac also may use this action,\nhowever we are not running test on these environment to save testing cost now.\n\n#### 3. Checkout before Use this deployment action\n\nThis deployment action assumes that the Git repository has been checked out.\n\n#### 4. Use action with environment variable set by secrets\n\nIn this example, environment variables are [presented by secrets](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets). At least, you'd better to use secret for ```SVN_USER_NAME``` and ```SVN_USER_PASSWORD```.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukihiko-shinoda%2Faction-deploy-wordpress-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyukihiko-shinoda%2Faction-deploy-wordpress-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukihiko-shinoda%2Faction-deploy-wordpress-plugin/lists"}