name: 'Release' on: create: tags: - fabric/v* jobs: build: runs-on: ubuntu-latest steps: - name: Validate semver env: TAG: ${{ github.event.ref }} run: | echo $TAG | grep -oP '^fabric/v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$' echo "::set-env name=RELEASE::${TAG:1}" - uses: actions/checkout@v2 - name: Set up JDK 1.8 uses: actions/setup-java@v1 with: java-version: 1.8 - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Validate no assets run: test ! -d ./src/generated - name: Build with Gradle env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: ./gradlew generateData build - name: Publish to github packages env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: ./gradlew publish - name: Upload to curseforge env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CURSEFORGE: ${{ secrets.CURSEFORGE }} run: ./gradlew curseforge