name: Create Release ZIP on: push: tags: - 'v*' permissions: contents: write jobs: build-and-release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Build ZIP id: build_zip run: | set -e TAG=${GITHUB_REF##*/} ZIP_NAME="${GITHUB_REPOSITORY##*/}-$TAG.zip" echo "Creating $ZIP_NAME" zip -r "$ZIP_NAME" . -x ".git/*" "node_modules/*" ".github/*" "tests/*" "*.zip" echo "zip_name=$ZIP_NAME" >> $GITHUB_OUTPUT - name: Create GitHub Release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref_name }} release_name: ${{ github.ref_name }} body: Release ${{ github.ref_name }} draft: false prerelease: false - name: Upload Release Asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ${{ steps.build_zip.outputs.zip_name }} asset_name: ${{ steps.build_zip.outputs.zip_name }} asset_content_type: application/zip