# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: "Distribute Groovy SNAPSHOT"

on: [push, pull_request]

jobs:
  dist:
    strategy:
      fail-fast: true
      matrix:
        os: [ubuntu-18.04]
        java: [11.0.6]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v1
      - name: Set up JDK
        uses: actions/setup-java@v1
        with:
          java-version: ${{ matrix.java }}
      - name: Build and package
        run: ./gradlew clean dist --no-build-cache --no-scan
        timeout-minutes: 60
      - name: Move binary distribution
        run:  mkdir target/distributions/binary/ && mv target/distributions/apache-groovy-binary-*.zip target/distributions/binary/
      - name: Move src distribution
        run:  mkdir target/distributions/src/ && mv target/distributions/apache-groovy-src-*.zip target/distributions/src/
      - name: Move docs distribution
        run:  mkdir target/distributions/docs/ && mv target/distributions/apache-groovy-docs-*.zip target/distributions/docs/
      - name: Move sdk distribution
        run:  mkdir target/distributions/sdk/ && mv target/distributions/apache-groovy-sdk-*.zip target/distributions/sdk/
      - name: Upload binary distribution
        uses: actions/upload-artifact@v1
        with:
          name: apache-groovy-binary-SNAPSHOT
          path: target/distributions/binary/
      - name: Upload src distribution
        uses: actions/upload-artifact@v1
        with:
          name: apache-groovy-src-SNAPSHOT
          path: target/distributions/src/
      - name: Upload docs distribution
        uses: actions/upload-artifact@v1
        with:
          name: apache-groovy-docs-SNAPSHOT
          path: target/distributions/docs/
      - name: Upload sdk distribution
        uses: actions/upload-artifact@v1
        with:
          name: apache-groovy-sdk-SNAPSHOT
          path: target/distributions/sdk/
