Merge pull request 'fix race condition when using v1.20 in tests' (#2) from wip-build-publish into main

Reviewed-on: https://code.forgejo.org/actions/forgejo-release/pulls/2
This commit is contained in:
earl-warren 2023-09-02 09:02:44 +00:00
commit 4ac9bbc591
3 changed files with 26 additions and 7 deletions

View file

@ -10,26 +10,29 @@ jobs:
with:
user: testuser
password: admin1234
image-version: 1.19
image-version: 1.20
- name: Make the forgejo-release action available for testing
- name: push self
run: |
forgejo-test-helper.sh push_self_action http://testuser:admin1234@${{ steps.forgejo.outputs.host-port }} testuser forgejo-release vTest
- name: Actions tests from testdata/upload-download/.forgejo/workflows
- name: testdata/upload-download
run: |
export FORGEJO_RUNNER_LOGS="${{ steps.forgejo.outputs.runner-logs }}"
forgejo-test-helper.sh run_workflow testdata/upload-download http://testuser:admin1234@${{ steps.forgejo.outputs.host-port }} testuser upload-download forgejo-release "${{ steps.forgejo.outputs.token }}"
- name: Actions tests from testdata/nested-upload-download/.forgejo/workflows
- name: testdata/nested-upload-download
run: |
export FORGEJO_RUNNER_LOGS="${{ steps.forgejo.outputs.runner-logs }}"
forgejo-test-helper.sh run_workflow testdata/nested-upload-download http://testuser:admin1234@${{ steps.forgejo.outputs.host-port }} testuser nested-upload-download forgejo-release "${{ steps.forgejo.outputs.token }}"
- name: Integration tests of the supporting script forgejo-release.sh
- name: test forgejo-release.sh
run: |
set -ex
export FORGEJO="${{ steps.forgejo.outputs.url }}"
export TOKEN="${{ steps.forgejo.outputs.token }}"
export VERBOSE=true
testdata/forgejo-release-test.sh test_run testuser otherrepo
- if: failure()
run: docker logs forgejo

View file

@ -44,7 +44,16 @@ upload_release() {
test ${releasetype+false} || echo "Uploading as Stable"
ensure_tag
anchor=$(echo $TAG | sed -e 's/^v//' -e 's/[^a-zA-Z0-9]/-/g')
$BIN_DIR/tea release create $assets --repo $REPO --note "$RELEASENOTES" --tag $TAG --title $TAG --draft ${releasetype}
if ! $BIN_DIR/tea release create $assets --repo $REPO --note "$RELEASENOTES" --tag $TAG --title $TAG --draft ${releasetype} >& $TMP_DIR/tea.log ; then
if grep --quiet 'Unknown API Error: 500' $TMP_DIR/tea.log && grep --quiet services/release/release.go:194 $TMP_DIR/tea.log ; then
echo "workaround v1.20 race condition https://codeberg.org/forgejo/forgejo/issues/1370"
sleep 10
$BIN_DIR/tea release create $assets --repo $REPO --note "$RELEASENOTES" --tag $TAG --title $TAG --draft ${releasetype}
else
cat $TMP_DIR/tea.log
return 1
fi
fi
release_draft false
}

View file

@ -1,6 +1,10 @@
# SPDX-License-Identifier: MIT
name: Upload (and download) a release to (and from) a project found in a Forgejo instance that is different from the one running the workflow
#
# 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:
@ -13,6 +17,7 @@ jobs:
user: testuser
password: admin1234
lxc-ip-prefix: 10.0.15
image-version: 1.20
- id: testrepo
run: |
forgejo-test-helper.sh push testrepo http://testuser:admin1234@${{ steps.forgejo.outputs.host-port }} testuser testrepo > /tmp/output
@ -41,3 +46,5 @@ jobs:
verbose: true
- run: |
diff -u upload-dir download-dir
- if: failure()
run: docker logs forgejo