name: Publish
on:
  pull_request:
  push:
    branches:
      - develop
      - master

env:
  GIT_AUTHOR_NAME: "@swisspost-devs"
  GIT_AUTHOR_EMAIL: "oss@post.ch"
  GIT_COMMITTER_NAME: "swisspost-devs"
  GIT_COMMITTER_EMAIL: "oss@post.ch"

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2
      with:
        fetch-depth: 0
        persist-credentials: false
    - name: Setup node.js
      uses: actions/setup-node@v2
      with:
        node-version: 10
        
    - name: Install dependencies
      run: |
        rm -rf node_modules
        npm i node@14 --no-save
    
    - name: Release (dry-run)
      if: github.event_name == 'pull_request'
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
      run: npx -p node@14 -c "npx semantic-release --dry-run"
      
    - name: Release
      if: github.event_name == 'push'
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
        # Override node 10 .npmrc created by Gihub Action
        NPM_CONFIG_USERCONFIG: ./.npmrc
      run: npx -p node@14 -c "npx semantic-release"
