Skip to content

Latest commit

 

History

History
123 lines (102 loc) · 4.29 KB

README.md

File metadata and controls

123 lines (102 loc) · 4.29 KB

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/github-deploy-action@2.1.1
    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/github-deploy-action@2.1.1
    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/github-deploy-action@2.1.1
    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/github-deploy-action@2.1.1
      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 }}