# This is a basic workflow to help you get started with Actions

name: Dev Tag Publishing

# Controls when the action will run. Triggers the workflow on push or pull request 
# events but only for the master branch
on:
  push:
    # Sequence of patterns matched against refs/tags
    tags:
      - '*-dev*'

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 1.8
        uses: actions/setup-java@v1
        with:
          java-version: 1.8
      - name: Grant execute permission for gradlew
        run: chmod +x gradlew
      - name: Gradle clean
        run: ./gradlew clean
      - name: Gradle build
        run: ./gradlew build # if test's failed, don't publish
      - name: Check keys
        run: ./gradlew
          :mirai-console:ensureBintrayAvailable
          -Dbintray_user=${{ secrets.BINTRAY_USER }} -Pbintray_user=${{ secrets.BINTRAY_USER }}
          -Dbintray_key=${{ secrets.BINTRAY_KEY }} -Pbintray_key=${{ secrets.BINTRAY_KEY }}
      - name: Gradle :mirai-console:fillBuildConstants
        run: ./gradlew
          :mirai-console:fillBuildConstants
          -Dbintray_user=${{ secrets.BINTRAY_USER }} -Pbintray_user=${{ secrets.BINTRAY_USER }}
          -Dbintray_key=${{ secrets.BINTRAY_KEY }} -Pbintray_key=${{ secrets.BINTRAY_KEY }}
      - name: Gradle :mirai-console:bintrayUpload
        run: ./gradlew
          :mirai-console:bintrayUpload
          -Dbintray_user=${{ secrets.BINTRAY_USER }} -Pbintray_user=${{ secrets.BINTRAY_USER }}
          -Dbintray_key=${{ secrets.BINTRAY_KEY }} -Pbintray_key=${{ secrets.BINTRAY_KEY }}
      - name: Gradle :mirai-console-terminal:bintrayUpload
        run: ./gradlew
          :mirai-console-terminal:bintrayUpload
          -Dbintray_user=${{ secrets.BINTRAY_USER }} -Pbintray_user=${{ secrets.BINTRAY_USER }}
          -Dbintray_key=${{ secrets.BINTRAY_KEY }} -Pbintray_key=${{ secrets.BINTRAY_KEY }}
      - name: Gradle :mirai-console-compiler-common:bintrayUpload
        run: ./gradlew
          :mirai-console-compiler-common:bintrayUpload
          -Dbintray_user=${{ secrets.BINTRAY_USER }} -Pbintray_user=${{ secrets.BINTRAY_USER }}
          -Dbintray_key=${{ secrets.BINTRAY_KEY }} -Pbintray_key=${{ secrets.BINTRAY_KEY }}
      - name: Gradle :mirai-console-intellij:bintrayUpload
        run: ./gradlew
          :mirai-console-intellij:bintrayUpload
          -Dbintray_user=${{ secrets.BINTRAY_USER }} -Pbintray_user=${{ secrets.BINTRAY_USER }}
          -Dbintray_key=${{ secrets.BINTRAY_KEY }} -Pbintray_key=${{ secrets.BINTRAY_KEY }}
      - name: Publish Gradle plugin
        run: ./gradlew
          :mirai-console-gradle:publishPlugins
          -Dgradle.publish.key=${{ secrets.GRADLE_PUBLISH_KEY }} -Pgradle.publish.key=${{ secrets.GRADLE_PUBLISH_KEY }}
          -Dgradle.publish.secret=${{ secrets.GRADLE_PUBLISH_SECRET }} -Pgradle.publish.secret=${{ secrets.GRADLE_PUBLISH_SECRET }}
