diff --git a/.forgejo/workflows/integration.yml b/.forgejo/workflows/integration.yml index 5f23aa3..50d4a3a 100644 --- a/.forgejo/workflows/integration.yml +++ b/.forgejo/workflows/integration.yml @@ -6,7 +6,7 @@ jobs: - uses: actions/checkout@v4 - id: forgejo - uses: https://code.forgejo.org/actions/setup-forgejo@v3.0.2 + uses: https://code.forgejo.org/actions/setup-forgejo@v3.0.1 with: user: testuser password: admin1234 @@ -61,11 +61,5 @@ jobs: export VERBOSE=true testdata/forgejo-release-test.sh test_run testuser otherrepo - - if: always() - name: '[RUNNER] and [FORGEJO] logs' - run: | - runner_logs="${{ steps.forgejo.outputs.runner-logs }}" - if test -f "$runner_logs"; then - sed -e 's/^/[RUNNER] /' < $runner_logs - fi - docker logs forgejo | sed -e 's/^/[FORGEJO] /' + - if: failure() + run: docker logs forgejo diff --git a/README.md b/README.md index 9ff302a..f532c6b 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ jobs: runs-on: docker steps: - uses: actions/checkout@v4 - - uses: actions/forgejo-release@v2.7.2 + - uses: actions/forgejo-release@v2.6.0 with: direction: upload url: https://my-forgejo-instance.net @@ -63,7 +63,7 @@ jobs: runs-on: docker steps: - uses: actions/checkout@v4 - - uses: actions/forgejo-release@v2.7.2 + - uses: actions/forgejo-release@v2.6.0 with: direction: download url: https://my-forgejo-instance.net diff --git a/action.yml b/action.yml index f6725c7..7e09788 100644 --- a/action.yml +++ b/action.yml @@ -6,21 +6,21 @@ description: | inputs: url: description: 'URL of the Forgejo instance' - default: '${{ env.FORGEJO_SERVER_URL }}' + default: '${{ env.GITHUB_SERVER_URL }}' repo: description: 'owner/project relative to the URL' - default: '${{ forge.repository }}' + default: '${{ github.repository }}' tag: description: 'Tag of the release' - default: '${{ forge.ref_name }}' + default: '${{ github.ref_name }}' title: description: 'Title of the release (defaults to tag)' sha: description: 'SHA of the release' - default: '${{ forge.sha }}' + default: '${{ github.sha }}' token: description: 'Forgejo application token' - default: '${{ forge.token }}' + default: '${{ secrets.GITHUB_TOKEN }}' release-dir: description: 'Directory in whichs release assets are uploaded or downloaded' required: true @@ -57,13 +57,7 @@ inputs: runs: using: "composite" steps: - - if: ${{ inputs.release-notes-assistant }} - uses: https://data.forgejo.org/actions/cache@v4 - with: - key: rna-${{ inputs.repo }} - path: ${{ forge.action_path }}/rna - - - run: echo "${{ forge.action_path }}" >> $FORGEJO_PATH + - run: echo "${{ github.action_path }}" >> $GITHUB_PATH shell: bash - run: | export FORGEJO="${{ inputs.url }}" @@ -84,11 +78,10 @@ runs: export PRERELEASE="${{ inputs.prerelease }}" export RELEASE_NOTES_ASSISTANT="${{ inputs.release-notes-assistant }}" - export RELEASE_NOTES_ASSISTANT_WORKDIR=${{ forge.action_path }}/rna export HIDE_ARCHIVE_LINK="${{ inputs.hide-archive-link }}" - export TOKEN=${{ inputs.token }} + export TOKEN="${{ inputs.token }}" export RELEASE_DIR="${{ inputs.release-dir }}" diff --git a/forgejo-release.sh b/forgejo-release.sh index 041d1c4..73b8e7b 100755 --- a/forgejo-release.sh +++ b/forgejo-release.sh @@ -19,8 +19,6 @@ if ${VERBOSE:-false}; then set -x; fi : ${RETRY:=1} : ${DELAY:=10} -RELEASE_NOTES_ASSISTANT_VERSION=v1.4.0 # renovate: datasource=forgejo-releases depName=forgejo/release-notes-assistant registryUrl=https://code.forgejo.org - TAG_FILE="$TMP_DIR/tag$$.json" TAG_URL=$(echo "$TAG" | sed 's/\//%2F/g') @@ -29,7 +27,7 @@ export GNUPGHOME setup_tea() { if which tea 2>/dev/null; then TEA_BIN=$(which tea) - elif ! test -f $TEA_BIN; then + else ! test -f $TEA_BIN; ARCH=$(dpkg --print-architecture) curl -sL https://dl.gitea.io/tea/$TEA_VERSION/tea-$TEA_VERSION-linux-"$ARCH" >$TEA_BIN chmod +x $TEA_BIN @@ -118,10 +116,9 @@ release_draft() { maybe_use_release_note_assistant() { if "$RELEASE_NOTES_ASSISTANT"; then - curl --fail -s -S -o rna https://code.forgejo.org/forgejo/release-notes-assistant/releases/download/$RELEASE_NOTES_ASSISTANT_VERSION/release-notes-assistant + curl --fail -s -S -o rna https://code.forgejo.org/forgejo/release-notes-assistant/releases/download/v1.2.3/release-notes-assistant chmod +x ./rna - mkdir -p $RELEASE_NOTES_ASSISTANT_WORKDIR - ./rna --workdir=$RELEASE_NOTES_ASSISTANT_WORKDIR --storage release --storage-location "$TAG" --token "$TOKEN" --forgejo-url "$SCHEME://$HOST" --repository $REPO --token "$TOKEN" release "$TAG" + ./rna --storage release --storage-location "$TAG" --forgejo-url "$SCHEME"://placeholder:"$TOKEN"@"$HOST" --repository $REPO --token "$TOKEN" release "$TAG" fi } diff --git a/testdata/nested-upload-download/.forgejo/workflows/test.yml b/testdata/nested-upload-download/.forgejo/workflows/test.yml index c6939b5..ff6806a 100644 --- a/testdata/nested-upload-download/.forgejo/workflows/test.yml +++ b/testdata/nested-upload-download/.forgejo/workflows/test.yml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/checkout@v4 - id: forgejo - uses: https://code.forgejo.org/actions/setup-forgejo@v3.0.2 + uses: https://code.forgejo.org/actions/setup-forgejo@v3.0.1 with: user: testuser password: admin1234 diff --git a/testdata/upload-download/.forgejo/workflows/gpg-no-passphrase.yml b/testdata/upload-download/.forgejo/workflows/gpg-no-passphrase.yml index a0cf926..5ab367f 100644 --- a/testdata/upload-download/.forgejo/workflows/gpg-no-passphrase.yml +++ b/testdata/upload-download/.forgejo/workflows/gpg-no-passphrase.yml @@ -98,7 +98,7 @@ jobs: uses: SELF@vTest with: direction: upload - tag: v1.3 + tag: v1.2 token: FORGEJO_TEST_TOKEN release-dir: upload-dir release-notes: "RELEASE NOTES" @@ -109,7 +109,7 @@ jobs: uses: SELF@vTest with: direction: download - tag: v1.3 + tag: v1.2 token: FORGEJO_TEST_TOKEN release-dir: download-dir verbose: true diff --git a/testdata/upload-download/.forgejo/workflows/test.yml b/testdata/upload-download/.forgejo/workflows/test.yml index e77982e..6254a27 100644 --- a/testdata/upload-download/.forgejo/workflows/test.yml +++ b/testdata/upload-download/.forgejo/workflows/test.yml @@ -4,7 +4,7 @@ name: Upload (and download) a release to (and from) the project that runs the wo on: [push] jobs: upload-download: - runs-on: lxc-bookworm + runs-on: self-hosted steps: - uses: actions/checkout@v4 - if: ${{ !startsWith(github.ref, 'refs/tags/v') }} @@ -45,6 +45,28 @@ jobs: - \backslash escape - !exclamation_mark verbose: true + - if: ${{ !startsWith(github.ref, 'refs/tags/v') }} + id: release-upload-slash-in-tag + uses: SELF@vTest + with: + direction: upload + tag: a/v3.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-slash-in-tag + uses: SELF@vTest + with: + direction: upload + tag: a/v3.0 + token: FORGEJO_TOKEN + release-dir: upload-dir + release-notes-assistant: true + hide-archive-link: true + override: true + verbose: true - if: ${{ !startsWith(github.ref, 'refs/tags/v') }} id: release-download uses: SELF@vTest @@ -69,28 +91,18 @@ jobs: - if: ${{ !startsWith(github.ref, 'refs/tags/v') }} run: | diff -u upload-dir-v2 download-dir-v2 - - - if: ${{ !startsWith(github.ref, 'refs/tags/v') }} - id: release-upload-slash-in-tag - uses: SELF@vTest - with: - direction: upload - tag: v/3.0 - token: FORGEJO_TEST_TOKEN - release-dir: upload-dir-v3 - release-notes: "RELEASE NOTES" - verbose: true - if: ${{ !startsWith(github.ref, 'refs/tags/v') }} id: release-download-with-slash-in-tag uses: SELF@vTest with: direction: download - tag: v/3.0 + tag: a/v3.0 token: FORGEJO_TEST_TOKEN - release-dir: download-dir-v3 + release-dir: download-dir-v3a + download-latest: true verbose: true - if: ${{ !startsWith(github.ref, 'refs/tags/v') }} run: | - diff -u upload-dir-v3 download-dir-v3 + diff -u upload-dir download-dir-v3a - if: failure() run: docker logs forgejo diff --git a/testdata/upload-download/upload-dir-v3/file1-v3.txt b/testdata/upload-download/upload-dir-v3/file1-v3.txt deleted file mode 100644 index d6c6b5f..0000000 --- a/testdata/upload-download/upload-dir-v3/file1-v3.txt +++ /dev/null @@ -1 +0,0 @@ -FILE1-V3 diff --git a/testdata/upload-download/upload-dir-v3/file2-v3.txt b/testdata/upload-download/upload-dir-v3/file2-v3.txt deleted file mode 100644 index 9fa78bc..0000000 --- a/testdata/upload-download/upload-dir-v3/file2-v3.txt +++ /dev/null @@ -1 +0,0 @@ -FILE2-V3