Skip to content

Automate your Freemius deployments with GitHub actions

Notifications You must be signed in to change notification settings

buttonizer/freemius-deploy

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Freemius Deploy

This Github Action deploys your wordpress plugin on Freemius. It uses the Freemius PHP SDK and uses some of the functionality of CodeAtCode/freemius-suite

Arguments

Argument Required Function Default
file_name Yes File name of the to be uploaded wordpress plugin (zip extension). Note: the file has to be in the root folder of your repository
release_mode No pending, beta, or released. Set to beta to release the product to valid license holders that opted into the beta list. Set to released to release it to all valid license holders. When the product is released, it will be available for download right within the WP Admin dashboard. pending
version Yes This is used to check whether the release is already uploaded. Action will fail if the release has already been uploaded
sandbox No Whether to upload in sandbox mode false

Environment variables

Required:

  • PUBLIC_KEY
  • DEV_ID
  • SECRET_KEY
  • PLUGIN_SLUG
  • PLUGIN_ID

All these are found in your Freemius dashboard.

Tip: store these variables in your secrets

Action outputs (since v0.1.1)

The action downloads both the free and pro version and outputs their filenames as outputs:

  • free_version
  • pro_version

You can access these by setting an id to your workflow step. Consequently you can upload these as artifacts, or upload them to the wordpress svn repository, for example with yukihiko-shinoda/action-deploy-wordpress-plugin.

Example

- name: Deploy to Freemius
  uses: buttonizer/freemius-deploy@v0.1.2
  with:
    file_name: my_wordpress_plugin.zip
    release_mode: pending
    version: 1.1.0
    sandbox: false
  env:
    PUBLIC_KEY: ${{ secrets.FREEMIUS_PUBLIC_KEY }}
    DEV_ID: 1234
    SECRET_KEY: ${{ secrets.FREEMIUS_SECRET_KEY }}
    PLUGIN_SLUG: my-wordpress-plugin
    PLUGIN_ID: 4321