# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java#apache-maven-with-a-settings-path

name: Maven Package

on:
  push:
  pull_request:
  schedule:
    - cron: '0 0 * * 0' # weekly

jobs:
  build:
    strategy:
      matrix:
        include:
          - { os: ubuntu-20.04, arch: "linux/amd64" }
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v2
        with:
          submodules: "recursive"
      - name: Setup variables
        shell: bash
        run: |
          # ====== Variables
          export REVISION=${{ github.run_number }}

          echo "REVISION=$REVISION" >> $GITHUB_ENV
      - name: Set up JDK 15
        if: github.ref == 'refs/heads/master'
        uses: actions/setup-java@v1
        with:
          java-version: 15
          server-id: mchv-release-distribution
          server-username: MAVEN_USERNAME
          server-password: MAVEN_PASSWORD
        env:
          MAVEN_USERNAME: ${{ secrets.MCHV_USERNAME }}
          MAVEN_PASSWORD: ${{ secrets.MCHV_TOKEN }}
      - name: Deploy to Maven (Release)
        if: github.ref == 'refs/heads/master'
        shell: bash
        run: |
          echo "REVISION: $REVISION"

          mvn -B -Drevision=${REVISION} clean deploy
        env:
          MAVEN_USERNAME: ${{ secrets.MCHV_USERNAME }}
          MAVEN_PASSWORD: ${{ secrets.MCHV_TOKEN }}