diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..934a894 --- /dev/null +++ b/.gitea/workflows/release.yml @@ -0,0 +1,64 @@ +name: Build and Release Resource Pack + +on: + push: + tags: + - 'v*' + - 'V*' + - '*.*.*' + workflow_dispatch: + inputs: + tag: + description: 'Tag name to release (e.g., v1.2.3)' + required: false + type: string + prerelease: + description: 'Mark as prerelease (GitHub only)' + required: false + default: false + type: boolean +name: Release Resource Pack + +on: + push: + tags: + - 'v*' + - '*.*.*' + workflow_dispatch: + +jobs: + release: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Ensure zip is available + run: | + if ! command -v zip >/dev/null 2>&1; then + sudo apt-get update && sudo apt-get install -y zip + fi + + - name: Zip and SHA1 + run: | + set -euo pipefail + test -f pack.mcmeta || { echo "pack.mcmeta not found at repo root"; exit 1; } + TAG="${GITHUB_REF_NAME:-dev}" + REPO_NAME="${GITHUB_REPOSITORY##*/}" + ZIP_NAME="${REPO_NAME}-${TAG}.zip" + zip -r -9 "${ZIP_NAME}" pack.mcmeta pack.png assets -x "**/.DS_Store" "**/Thumbs.db" + sha1sum "${ZIP_NAME}" | tee "${ZIP_NAME}.sha1" + echo "ZIP_PATH=${ZIP_NAME}" >> "$GITHUB_ENV" + echo "SHA1_PATH=${ZIP_NAME}.sha1" >> "$GITHUB_ENV" + + - name: Release (Forgejo/Gitea) + uses: https://gitea.com/actions/forgejo-release@v1 + env: + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} + with: + direction: upload + tag: ${{ github.ref_name }} + files: | + ${{ env.ZIP_PATH }} + ${{ env.SHA1_PATH }} + else diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..022cceb --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +# Build artifacts +*.zip +*.sha1 + +# OS junk +.DS_Store +Thumbs.db + +# Editors/IDE +.vscode/ +.idea/ + +# Node, Python, etc. (in case future tooling is added) +node_modules/ +dist/ +build/ +__pycache__/ +*.pyc