mcstructs-viafier/.github/workflows/main.yml

66 lines
2.0 KiB
YAML

name: Publish viafied mcstructs
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
run:
if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0
- name: Init submodule
run: git submodule update --init
- name: Check for changes
id: check_changes
run: |
git fetch origin && [ "$(git rev-parse HEAD)" != "$(git rev-parse origin/HEAD)" ] && echo "changes=y" >> $GITHUB_OUTPUT || true
working-directory: MCStructs
- name: Setup Python
if: steps.check_changes.outputs.changes == 'y'
uses: actions/setup-python@v4
- name: Update and patch mcstructs
if: steps.check_changes.outputs.changes == 'y'
run: |
git submodule update --remote
python mcstructs.py
- name: Setup Java JDK
if: steps.check_changes.outputs.changes == 'y'
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 17
check-latest: true
- name: Publish
if: steps.check_changes.outputs.changes == 'y'
env:
via_username: ${{ secrets.VIA_USERNAME }}
via_password: ${{ secrets.VIA_PASSWORD }}
run: ./gradlew publish -x checkstyleMain -x checkstyleTest -x test
working-directory: MCStructs
- name: Commit changes
if: steps.check_changes.outputs.changes == 'y'
run: |
git config --local user.email "action@github.com"
git config --local user.name "automation"
git add .
git commit -am "Automated update"
- name: Push changes
if: steps.check_changes.outputs.changes == 'y'
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.TOKEN }}
branch: ${{ github.ref }}