diff --git a/.github/workflows/release-tarball.yml b/.github/workflows/release-tarball.yml new file mode 100644 index 00000000..d5653824 --- /dev/null +++ b/.github/workflows/release-tarball.yml @@ -0,0 +1,35 @@ +name: Release Tarball + +on: + release: + types: [published] + +jobs: + upload-release-tarball: + name: upload complete source code for release + runs-on: ubuntu-latest + + steps: + - name: checkout tagged release recursively incl. submodules + uses: actions/checkout@v3 + with: + submodules: recursive + + - name: set environment variables + run: | + NAME="${{ github.repository }}" + NAME="${NAME#*/}-full-${{ github.ref_name }}" + FILE="./${NAME}.tar.gz" + echo "NAME=${NAME}" >> "${GITHUB_ENV}" + echo "FILE=${FILE}" >> "${GITHUB_ENV}" + + - name: create compressed tarball with git-archive(1) + uses: qmonnet/git-archive-all-action@v1 + with: + prefix: ${{ format('{0}/', env.NAME) }} + output-files: ${{ env.FILE }} + + - name: upload static release asset + uses: svenstaro/upload-release-action@v2 + with: + file: ${{ env.FILE }}