mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-11-04 03:03:43 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			68 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: build
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - main
 | 
						|
jobs:
 | 
						|
  build:
 | 
						|
    if: github.repository_owner == 'IntellectualSites'
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - name: Checkout Repository
 | 
						|
        uses: actions/checkout@v5
 | 
						|
      - name: Validate Gradle Wrapper
 | 
						|
        uses: gradle/actions/wrapper-validation@v5
 | 
						|
      - name: Setup Java
 | 
						|
        uses: actions/setup-java@v5
 | 
						|
        with:
 | 
						|
          distribution: temurin
 | 
						|
          java-version: 21
 | 
						|
      - name: Clean Build
 | 
						|
        run: ./gradlew clean build
 | 
						|
      - name: Determine release status
 | 
						|
        if: ${{ runner.os == 'Linux' }}
 | 
						|
        run: |
 | 
						|
          if [ "$(./gradlew properties | awk '/^version:/ { print $2; }' | grep '\-SNAPSHOT')" ]; then
 | 
						|
            echo "STATUS=snapshot" >> $GITHUB_ENV
 | 
						|
          else
 | 
						|
            echo "STATUS=release" >> $GITHUB_ENV
 | 
						|
          fi
 | 
						|
      - name: Publish Release
 | 
						|
        if: ${{ runner.os == 'Linux' && env.STATUS == 'release' && github.event_name == 'push' && github.ref == 'refs/heads/main'}}
 | 
						|
        run: ./gradlew publishAndReleaseToMavenCentral --no-configuration-cache
 | 
						|
        env:
 | 
						|
          ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.CENTRAL_USERNAME }}
 | 
						|
          ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.CENTRAL_PASSWORD }}
 | 
						|
          ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
 | 
						|
          ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}
 | 
						|
      - name: Publish Snapshot
 | 
						|
        if: ${{ runner.os == 'Linux' && env.STATUS != 'release' && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
 | 
						|
        run: ./gradlew publishAllPublicationsToMavenCentralRepository
 | 
						|
        env:
 | 
						|
          ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.CENTRAL_USERNAME }}
 | 
						|
          ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.CENTRAL_PASSWORD }}
 | 
						|
      - name: Publish core javadoc
 | 
						|
        if: ${{ runner.os == 'Linux' && env.STATUS == 'release' && github.event_name == 'push' && github.ref == 'refs/heads/main'}}
 | 
						|
        uses: cpina/github-action-push-to-another-repository@main
 | 
						|
        env:
 | 
						|
          SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
 | 
						|
        with:
 | 
						|
          source-directory: 'Core/build/docs/javadoc'
 | 
						|
          destination-github-username: 'IntellectualSites'
 | 
						|
          destination-repository-name: 'plotsquared-javadocs'
 | 
						|
          user-email: ${{ secrets.USER_EMAIL }}
 | 
						|
          target-branch: main
 | 
						|
          target-directory: v7/core
 | 
						|
      - name: Publish bukkit javadoc
 | 
						|
        if: ${{ runner.os == 'Linux' && env.STATUS == 'release' && github.event_name == 'push' && github.ref == 'refs/heads/main'}}
 | 
						|
        uses: cpina/github-action-push-to-another-repository@main
 | 
						|
        env:
 | 
						|
          SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
 | 
						|
        with:
 | 
						|
          source-directory: 'Bukkit/build/docs/javadoc'
 | 
						|
          destination-github-username: 'IntellectualSites'
 | 
						|
          destination-repository-name: 'plotsquared-javadocs'
 | 
						|
          user-email: ${{ secrets.USER_EMAIL }}
 | 
						|
          target-branch: main
 | 
						|
          target-directory: v7/bukkit
 |