# SPDX-License-Identifier: MIT

name: Upload (and download) a release to (and from) the project that runs the workflow
on: [push]
jobs:
  upload-download:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v3
      - if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
        id: release-upload
        uses: SELF@vTest
        with:
          direction: upload
          tag: v1.0
          token: FORGEJO_TOKEN
          release-dir: upload-dir
          release-notes: "RELEASE NOTES"
          verbose: true
      - if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
        id: release-upload-override
        uses: SELF@vTest
        with:
          direction: upload
          tag: v1.0
          token: FORGEJO_TOKEN
          release-dir: upload-dir
          release-notes: "RELEASE NOTES"
          override: true
          verbose: true
      - if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
        id: release-upload-v2
        uses: SELF@vTest
        with:
          direction: upload
          tag: v2.0
          token: FORGEJO_TOKEN
          release-dir: upload-dir-v2
          release-notes: |-
            No shell expansion should on these notes:
            - $(some_command)
            - `other_commend`
            - "double quoted" and 'single quoted' strings
            - \backslash escape
            - !exclamation_mark
          verbose: true
      - if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
        id: release-download
        uses: SELF@vTest
        with:
          direction: download
          tag: v1.0
          token: FORGEJO_TOKEN
          release-dir: download-dir
          verbose: true
      - if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
        run: |
          diff -u upload-dir download-dir
      - if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
        id: release-download-latest
        uses: SELF@vTest
        with:
          direction: download
          token: FORGEJO_TOKEN
          release-dir: download-dir-v2
          download-latest: true
          verbose: true
      - if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
        run: |
          diff -u upload-dir-v2 download-dir-v2
      - if: failure()
        run: docker logs forgejo