name: 'Package plugin'

on:
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-22.04

    steps:
    # set fetch-depth to 0 in order to clone all tags instead of just the current commit
    - uses: actions/checkout@v4
      with:
        fetch-depth: 0

    - name: Checkout latest tag
      id: tag
      run: |
        tag="$(git tag --sort=committerdate | tail -n 1)"
        git checkout "$tag"
        echo "tag=$tag" >> $GITHUB_OUTPUT

    - name: Setup .NET
      uses: actions/setup-dotnet@v3
      with:
        dotnet-version: 6.0.x

    - name: Restore dependencies
      run: dotnet restore

    - name: Package
      run: .github/workflows/package.sh ${{ steps.tag.outputs.tag }}

    - name: Upload plugin archive
      uses: actions/upload-artifact@v3.1.3
      with:
        name: intro-skipper-bundle-${{ steps.tag.outputs.tag }}.zip
        path: |
          package/*.zip
          package/*.json
        if-no-files-found: error
