From 3a07a6062fc7a2d0b93a9a108ae2d4dafc994cd4 Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Thu, 30 Mar 2023 08:52:59 +0200 Subject: [PATCH] non nested upload/download tests --- .forgejo/workflows/integration.yml | 1 + action.yml | 16 +++++++++-- .../.forgejo/workflows/test.yml | 28 +++++++++++++++++++ testdata/upload-download/upload-dir/file1.txt | 1 + testdata/upload-download/upload-dir/file2.txt | 1 + 5 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 testdata/upload-download/.forgejo/workflows/test.yml create mode 100644 testdata/upload-download/upload-dir/file1.txt create mode 100644 testdata/upload-download/upload-dir/file2.txt diff --git a/.forgejo/workflows/integration.yml b/.forgejo/workflows/integration.yml index 6f1dbff..d309df5 100644 --- a/.forgejo/workflows/integration.yml +++ b/.forgejo/workflows/integration.yml @@ -15,6 +15,7 @@ jobs: set -ex export FORGEJO_RUNNER_LOGS="${{ steps.forgejo.outputs.runner-logs }}" forgejo-test-helper.sh push_self_action http://testuser:admin1234@${{ steps.forgejo.outputs.host-port }} testuser forgejo-release vTest + forgejo-test-helper.sh run_workflow testdata/upload-download http://testuser:admin1234@${{ steps.forgejo.outputs.host-port }} testuser upload-download forgejo-release forgejo-test-helper.sh run_workflow testdata/nested-upload-download http://testuser:admin1234@${{ steps.forgejo.outputs.host-port }} testuser nested-upload-download forgejo-release - name: 002 run: | diff --git a/action.yml b/action.yml index fa4ef3f..e13642e 100644 --- a/action.yml +++ b/action.yml @@ -5,10 +5,8 @@ description: | inputs: url: description: 'URL of the Forgejo instance' - required: true repo: description: 'owner/project relative to the URL' - required: true tag: description: 'Tag of the release' required: true @@ -38,13 +36,27 @@ runs: shell: bash - run: | export FORGEJO="${{ inputs.url }}" + if test -z "$FORGEJO"; then + export FORGEJO="${{ github.server_url }}" + fi export REPO="${{ inputs.repo }}" + if test -z "$REPO"; then + export REPO="${{ github.repository }}" + fi export TAG="${{ inputs.tag }}" export DOER="${{ inputs.doer }}" export TOKEN="${{ inputs.token }}" + if test -z "$TOKEN"; then + export TOKEN="${{ github.token }}" + fi + if test -z "$TOKEN"; then + export TOKEN="${{ secrets.GITHUB_TOKEN }}" + fi + test "$TOKEN" export RELEASE_DIR="${{ inputs.release-dir }}" export RELEASENOTES="${{ inputs.release-notes }}" export VERBOSE="${{ inputs.verbose }}" + export SHA="${{ inputs.sha }}" if test -z "$SHA"; then export SHA="${{ github.sha }}" diff --git a/testdata/upload-download/.forgejo/workflows/test.yml b/testdata/upload-download/.forgejo/workflows/test.yml new file mode 100644 index 0000000..ec626d6 --- /dev/null +++ b/testdata/upload-download/.forgejo/workflows/test.yml @@ -0,0 +1,28 @@ +name: Upload & Download a Forgejo Release +on: [push] +jobs: + setup-forgejo: + runs-on: self-hosted + steps: + - uses: actions/checkout@v3 + - id: release-upload + uses: SELF@vTest + with: + url: FORGEJO_URL + direction: upload + tag: v1.0 + doer: testuser + release-dir: upload-dir + release-notes: "RELEASE NOTES" + verbose: true + - id: release-download + uses: SELF@vTest + with: + url: FORGEJO_URL + direction: download + tag: v1.0 + doer: testuser + release-dir: download-dir + verbose: true + - run: | + diff -u upload-dir download-dir diff --git a/testdata/upload-download/upload-dir/file1.txt b/testdata/upload-download/upload-dir/file1.txt new file mode 100644 index 0000000..cb4ee5e --- /dev/null +++ b/testdata/upload-download/upload-dir/file1.txt @@ -0,0 +1 @@ +FILE1 diff --git a/testdata/upload-download/upload-dir/file2.txt b/testdata/upload-download/upload-dir/file2.txt new file mode 100644 index 0000000..d77231c --- /dev/null +++ b/testdata/upload-download/upload-dir/file2.txt @@ -0,0 +1 @@ +FILE2