name: PPM Release Known Hosts Manager

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:

      - name: Add repoistory for PHP 8.0
        run: sudo add-apt-repository ppa:ondrej/php
      - name: Install PHP 8.0
        run: sudo apt-get install php8.0 php8.0-curl php8.0-mbstring php8.0-tokenizer php8.0-fileinfo

      - uses: actions/checkout@v2
        with:
          repository: intellivoid/ppm
          ref: "production"
          token: ${{ secrets.PPM_ACCESS_TOKEN }}
      - name: Install PPM
        run: sudo ./install
      - name: Configuring PPM
        run: sudo ppm --github-add-pat --alias="system" --token="${{ secrets.PPM_ACCESS_TOKEN }}"
      - uses: actions/checkout@master
      - name: Make build directory
        run: mkdir build

      - name: Prepare Known Hosts Manager
        run: ppm --generate-package="src/khm"
      - name: Compile Known Hosts Manager
        run: ppm --no-intro --verbose --compile="src/khm" --directory="build"
      - name: Install Known Hosts Manager
        run: sudo -H ppm --no-prompt --fix-conflict --verbose --install="build/net.intellivoid.khm.ppm"

      - name: Get Package Version
        run: echo package_version=$(ppm --get-version="build/net.intellivoid.khm.ppm") >> $GITHUB_ENV
      - name: Create Release
        uses: softprops/action-gh-release@v1
        with:
          files: build/net.intellivoid.khm.ppm
          name: "Known Hosts Manager v${{ env.package_version }}"
          tag_name: "v${{ env.package_version }}"
          body: "Compiled PPM package for Known Hosts Manager, version ${{ env.package_version }}"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}