serverless/github-action

Add support for deploying to specific stage

edipetres opened this issue ยท 4 comments

Right now, we can only deploy to the default stage which is dev. Is it possible to add support for pushing to different stages?

adim commented

you can do it like that:
- name: serverless deploy
uses: serverless/github-action@python-nodejs
with:
args: deploy --stage stage
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

@adim where does the stage env come from in your example?

Hi, you can get your environment by setting it in a specific step:

on:
  release:
    types: [prereleased, released]

name: Deploy serverless function
jobs:
  deploy:
    name: deploy
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    
    - name: Get environment from event
      id: environment
      run: |
        if '${{ github.event.release.prerelease }}' == 'true'; then echo ::set-output name=env::"dev";else echo ::set-output name=env::"prod"; fi
    
    - uses: actions/setup-node@v1
      with:
        node-version: '12'
    - run: npm install
    
    - name: serverless deploy
      uses: serverless/github-action@master
      with:
        args: deploy --stage ${{ steps.environment.outputs.env }}
      env:
        AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
        AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

how do you run it with severless plugin install?