forgejo-release/testdata/nested-upload-download/.forgejo/workflows/test.yml

88 lines
2.8 KiB
YAML

# SPDX-License-Identifier: MIT
#
# Upload (and download) a release to (and from) a project
# found in a Forgejo instance that is different from the one running the workflow
#
name: two Forgejo
on: [push]
jobs:
setup-forgejo:
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- id: forgejo
uses: https://code.forgejo.org/actions/setup-forgejo@v1.0.1
with:
user: testuser
password: admin1234
lxc-ip-prefix: 10.0.15
image-version: 1.20
- id: testrepo
run: |
url=http://testuser:admin1234@${{ steps.forgejo.outputs.host-port }}
forgejo-test-helper.sh push testrepo $url testuser testrepo > /tmp/output
echo sha=$(forgejo-test-helper.sh branch_tip $url testuser/testrepo main) >> $GITHUB_OUTPUT
- id: release-upload
uses: SELF@vTest
with:
direction: upload
url: ${{ steps.forgejo.outputs.url }}
repo: testuser/testrepo
tag: v1.0
sha: ${{ steps.testrepo.outputs.sha }}
token: ${{ steps.forgejo.outputs.token }}
release-dir: upload-dir
release-notes: "RELEASE NOTES"
verbose: true
- id: release-upload-override
uses: SELF@vTest
with:
direction: upload
url: ${{ steps.forgejo.outputs.url }}
repo: testuser/testrepo
tag: v1.0
sha: ${{ steps.testrepo.outputs.sha }}
token: ${{ steps.forgejo.outputs.token }}
release-dir: upload-dir
release-notes: "RELEASE NOTES"
override: true
verbose: true
- id: release-upload-v2
uses: SELF@vTest
with:
direction: upload
url: ${{ steps.forgejo.outputs.url }}
repo: testuser/testrepo
tag: v2.0
sha: ${{ steps.testrepo.outputs.sha }}
token: ${{ steps.forgejo.outputs.token }}
release-dir: upload-dir-v2
release-notes: "RELEASE NOTES V2"
verbose: true
- id: release-download
uses: SELF@vTest
with:
direction: download
url: ${{ steps.forgejo.outputs.url }}
repo: testuser/testrepo
tag: v1.0
token: ${{ steps.forgejo.outputs.token }}
release-dir: download-dir
verbose: true
- run: |
diff -u upload-dir download-dir
- id: release-download-latest
uses: SELF@vTest
with:
direction: download
url: ${{ steps.forgejo.outputs.url }}
repo: testuser/testrepo
token: ${{ steps.forgejo.outputs.token }}
release-dir: download-dir-v2
download-latest: true
verbose: true
- run: |
diff -u upload-dir-v2 download-dir-v2
- if: failure()
run: docker logs forgejo