name: Build Hugo Artifact

# Controls when the action will run.
on:
    # Triggers the workflow on push or pull request events but only for the master branch
    push:
        branches: [master]

    # Allows you to run this workflow manually from the Actions tab
    workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
    # This workflow contains a single job called "build"
    build:
        # The type of runner that the job will run on
        runs-on: ubuntu-latest

        # Steps represent a sequence of tasks that will be executed as part of the job
        steps:
            # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
            - uses: actions/checkout@v2

            - name: Hugo setup
              uses: peaceiris/actions-hugo@v2.4.13
              with:
                  # The Hugo version to download (if necessary) and use. Example: 0.58.2
                  hugo-version: latest # optional, default is latest
                  # Download (if necessary) and use Hugo extended version. Example: true
                  extended: true # optional, default is false

            # Runs a set of commands using the runners shell
            - name: Generate Hugo site
              run: cd exampleSite && hugo --gc --themesDir ../..

            - name: Upload Hugo artifact
              uses: actions/upload-artifact@v2.2.2
              with:
                  # Artifact name
                  name: resources
                  # A file, directory or wildcard pattern that describes what to upload
                  path: |
                    exampleSite/resources
                    !exampleSite/resources/_gen/images
