diff --git a/.github b/.github deleted file mode 120000 index 0db043d..0000000 --- a/.github +++ /dev/null @@ -1 +0,0 @@ -.forgejo/ \ No newline at end of file diff --git a/.github/workflows/README.md b/.github/workflows/README.md new file mode 100644 index 0000000..fa0cc5f --- /dev/null +++ b/.github/workflows/README.md @@ -0,0 +1,2 @@ +As of 2024-08-30, Github actions is not capable of following symlinks :-/ +https://github.com/orgs/community/discussions/109744 diff --git a/.github/workflows/generate-release-zipfile.yml b/.github/workflows/generate-release-zipfile.yml new file mode 100644 index 0000000..74a4b2e --- /dev/null +++ b/.github/workflows/generate-release-zipfile.yml @@ -0,0 +1,64 @@ +on: + push: + +jobs: + GenerateReleaseZipfile: + runs-on: docker + container: + image: entrepot.xlii.si/actions/alpine-wget-git-zip:latest + steps: + - name: Generate some content + run: | + set -ex + mkdir toto + echo tata > toto/tata.txt + echo titi > toto/titi.txt + echo titi titi > "toto/titi titi.txt" + echo tutu > tutu.txt + echo tutu >> tutu.txt + echo tutuuuuu >> tutu2.txt + echo tutuuuuu >> "tutu tutu.txt" + echo ratata >> 'tutu tutu*.txt' + ls -R + + - name: Testing the artifact uploading + id: "uploading" + uses: "${{ github.server_url }}/${{ github.repository }}@${{ github.sha }}" + with: + path: | + toto + tutu* + + - name: Is there any output for the previous step ? + run: | + set -x + printf "steps.uploading.outputs.artifact-id: %s\n" "${{ steps.uploading.outputs.artifact-id }}" + printf "steps.uploading.outputs.artifact-url: %s\n" "${{ steps.uploading.outputs.artifact-url }}" + + - name: Check the content of the uploaded artifact + run: | + # Stop at first error and be verbose + set -ex + + # Create some temporary files/directory + DOWNLOAD_FILE="$( mktemp )" + SHASUM_FILE="$( mktemp )" + TEST_ARTIFACT_DIR="$( mktemp -d )" + + # Get the fingerprint of our test + find . -type f -exec sha256sum \{\} \; > "$SHASUM_FILE" + # Little optional checkup + cat "$SHASUM_FILE" + + cd "$TEST_ARTIFACT_DIR" + # In case the repository becomes private, we add our GITHUB_TOKEN to the artifact-url. + MY_AUTHENTICATED_URL="$( echo "${{ steps.uploading.outputs.artifact-url }}" | sed "s#^\(https\?://\)#\1$GITHUB_TOKEN\@#" )" + wget -O "$DOWNLOAD_FILE" "$MY_AUTHENTICATED_URL" + unzip "$DOWNLOAD_FILE" + sha256sum -c "$SHASUM_FILE" + + # Cleanup + cd - + rm -f "$DOWNLOAD_FILE" + rm -f "$SHASUM_FILE" + rm -rf "$TEST_ARTIFACT_DIR"