Skip to content

rollbar/github-deploy-action

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

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub deploy action

CI

A GitHub action that notifies deploys to Rollbar.

Usage

This action requires that you set the ROLLBAR_ACCESS_TOKEN environment variable with a token that must have the post_server_item scope. You can find it under your project's settings in the Project access token section.

When notifiying deploys in two stages, for sending to Rollbar when a deploy starts and the status of its result (succeeded or failed ) you need also to set the DEPLOY_ID environment variable with the ouput of the previous step.

Optionally set ROLLBAR_USERNAME environment variable, usernames can be found at:

https://rollbar.com/settings/accounts/YOUR_TEAM/members/

NOTE: When using github.actor as the ROLLBAR_USERNAME ensure the username in Rollbar matches your GitHub username. If your Rollbar usernames don't match GitHub usernames, you may want to instead set the local_username input.

Inputs

Input Required Default Description
environment true The environment where the deploy is being done.
version true The version being deployed.
status false succeeded The status of the deploy.
source_maps false JS source map files.
minified_urls false Minified URLs linked to source maps above
local_username false Username of the deploying user. Alternative to setting ROLLBAR_USERNAME

Outputs

Input Description
deploy_id The id of the deploy.

Example

steps:
  - name: Notify deploy to Rollbar
    uses: rollbar/[email protected]
    id: rollbar_deploy
    with:
      environment: 'production'
      version: ${{ github.sha }}
    env:
      ROLLBAR_ACCESS_TOKEN: ${{ secrets.ROLLBAR_ACCESS_TOKEN }}
      ROLLBAR_USERNAME: ${{ github.actor }}

Example with deploy update

steps:
  - name: Notify start deploy to Rollbar
    uses: rollbar/[email protected]
    id: rollbar_pre_deploy
    with:
      environment: 'production'
      version: ${{ github.sha }}
      status: 'started'
    env:
      ROLLBAR_ACCESS_TOKEN: ${{ secrets.ROLLBAR_ACCESS_TOKEN }}
      ROLLBAR_USERNAME: ${{ github.actor }}

...

steps:
  - name: Notify finish deploy to Rollbar
    uses: rollbar/[email protected]
    id: rollbar_post_deploy
    with:
      environment: 'production'
      version: ${{ github.sha }}
      status: 'succeeded'
    env:
      ROLLBAR_ACCESS_TOKEN: ${{ secrets.ROLLBAR_ACCESS_TOKEN }}
      ROLLBAR_USERNAME: ${{ github.actor }}
      DEPLOY_ID: ${{ steps.rollbar_pre_deploy.outputs.deploy_id }}

Example with JS Source Map

jobs:
  # This workflow builds source maps
  build:
    - uses: actions/checkout@v2
    - name: npm run build
      run: npm run build --prefix templates/static/
    - uses: actions/upload-artifact@v2
      with:
        name: bundle.js.map
        path: public/bundle.js.map
    - uses: actions/upload-artifact@v2
      with:
        name: bundle2.js.map
        path: public/bundle2.js.map
  # This workflow deploys source maps to Rollbar
  deploy:
    needs: build
    steps:
    - uses: actions/checkout@v2
    - uses: actions/download-artifact@v2
      with:
        name: bundle.js.map
    - uses: actions/download-artifact@v2
      with:
        name: bundle2.js.map
    - name: Rollbar deploy
      uses: rollbar/[email protected]
      with:
        environment: production
        version: ${{ github.sha }}
        status: succeeded
        source_maps: bundle.js.map bundle2.js.map
        minified_urls: https://www.example.com/public/bundle.js https://www.example.com/public/bundle2.js
      env:
          ROLLBAR_ACCESS_TOKEN: ${{ secrets.ROLLBAR_ACCESS_TOKEN }}