# Read the Javadoc of RepoPatternDump for more info name: RepoPattern env: data_repo: hannibal002/SkyHanni-REPO repo_action: true on: push: workflow_dispatch: permissions: { } jobs: regexes: runs-on: ubuntu-latest name: "Generate regexes" steps: - uses: actions/checkout@v3 - name: Set up JDK 17 uses: actions/setup-java@v3 with: java-version: 17 distribution: temurin cache: gradle - name: Setup gradle uses: gradle/gradle-build-action@v2 - name: Generate Repo Patterns using Gradle run: | ./gradlew generateRepoPatterns --stacktrace - uses: actions/upload-artifact@v3 name: Upload generated repo regexes with: name: Repo Regexes path: build/regexes/constants.json publish-regexes: runs-on: ubuntu-latest needs: regexes name: "Publish regexes" # 511310721 is the Repository ID for SkyHanni if: ${{ 'push' == github.event_name && 'beta' == github.ref_name && '511310721' == github.repository_id }} steps: - uses: actions/checkout@v3 with: repository: ${{ env.data_repo }} branch: main - uses: actions/download-artifact@v3 name: Upload generated repo regexes with: name: Repo Regexes - name: Commit generated regex run: | mkdir -p constants/ new_cmp="$(jq -S '.regexes' < constants.json)" old_cmp="$(jq -S '.regexes' < constants/regexes.json)" if [ "$new_cmp" = "$old_cmp" ]; then echo Old and new are the same. We are in a never ending loop. exit 0 fi mv constants.json constants/regexes.json git config user.name 'github-actions[bot]' git config user.email 'github-action@users.noreply.github.com' git add constants/regexes.json git commit -m "Update regexes based on https://github.com/hannibal002/Skyhanni/commit/$GITHUB_SHA" - name: Publish new repository run: | git config --unset-all http.https://github.com/.extraheader git remote add restream https://user:${{secrets.REPO_PAT}}@github.com/${{env.data_repo}} git push restream HEAD:main