# See: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions

# Workflow name
name: AlmaLinux 8.5 RPM build

# Run on tag push
on:
 push:
  tags:
  - '**'

jobs:

  #
  # Build on AlmaLinux 8.5 using go-toolset
  #
  AlmaLinux-RPM-build:
    runs-on: ubuntu-latest
    # See: https://hub.docker.com/_/almalinux
    container: almalinux:8.5
    steps:

    # Use dnf to install development packages
    - name: Install development packages
      run: dnf --assumeyes group install "Development Tools" "RPM Development Tools"

    # Checkout git repository and submodules
    # fetch-depth must be 0 to use git describe
    # See: https://github.com/marketplace/actions/checkout
    - name: Checkout
      uses: actions/checkout@v2
      with:
        submodules: recursive
        fetch-depth: 0

    # Use dnf to install build dependencies
    - name: Install build dependencies
      run: dnf --assumeyes builddep scripts/cc-metric-collector.spec

    - name: RPM build MetricCollector
      id: rpmbuild
      run: make RPM

    # See: https://github.com/actions/upload-artifact
    - name: Save RPM as artifact
      uses: actions/upload-artifact@v2
      with:
        name: cc-metric-collector RPM for AlmaLinux 8.5
        path: ${{ steps.rpmbuild.outputs.RPM }}
    - name: Save SRPM as artifact
      uses: actions/upload-artifact@v2
      with:
        name: cc-metric-collector SRPM for AlmaLinux 8.5
        path: ${{ steps.rpmbuild.outputs.SRPM }}

    # See: https://github.com/softprops/action-gh-release
    - name: Release
      uses: softprops/action-gh-release@v1
      if: startsWith(github.ref, 'refs/tags/')
      with:
        name: cc-metric-collector-${{github.ref_name}}
        files: |
         ${{ steps.rpmbuild.outputs.RPM }}
         ${{ steps.rpmbuild.outputs.SRPM }}