This repository was archived by the owner on Apr 2, 2026. It is now read-only.
Bump org.apache.maven.plugins:maven-shade-plugin in /server (#839) #912
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This workflow will build a Java project with Maven | |
| # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven | |
| name: Java CI with Maven | |
| on: | |
| push: | |
| branches: [ main ] | |
| paths: | |
| - "server/src/**" | |
| - "server/pom.xml" | |
| pull_request: | |
| branches: [ main ] | |
| paths: | |
| - "server/src/**" | |
| - "server/pom.xml" | |
| # Allows you to run this workflow manually from the Actions tab | |
| workflow_dispatch: | |
| permissions: {} # disable all | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| permissions: | |
| security-events: write | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Initialize CodeQL | |
| uses: github/codeql-action/init@v4 | |
| with: | |
| languages: java | |
| source-root: server/src | |
| - name: Set up JDK | |
| uses: actions/setup-java@v5.2.0 | |
| with: | |
| java-version: 17 | |
| distribution: temurin | |
| cache: maven | |
| - name: Build & run tests with Maven | |
| run: mvn --batch-mode test --file pom.xml | |
| working-directory: server | |
| - name: Create Uber Jar | |
| run: mvn --batch-mode package --file pom.xml -Dmaven.test.skip -DskipTests | |
| working-directory: server | |
| - name: Upload Uber Jar | |
| uses: actions/upload-artifact@v6.0.0 | |
| with: | |
| name: server-uber-jar | |
| path: server/snake-server-*.jar | |
| retention-days: 10 | |
| if-no-files-found: error | |
| - name: Maven Dependency Report | |
| run: mvn --batch-mode project-info-reports:dependencies | |
| working-directory: server | |
| - name: Upload Dependency Report | |
| uses: actions/upload-artifact@v6.0.0 | |
| with: | |
| name: maven-dependencies | |
| path: server/target/site/**/* | |
| retention-days: 10 | |
| if-no-files-found: warn | |
| - name: Perform CodeQL Analysis | |
| uses: github/codeql-action/analyze@v4 | |
| with: | |
| category: "/language:java" | |
| upload: ${{ (github.ref == 'refs/heads/main') && 'always' || 'failure-only' }} | |
| deploy: | |
| if: github.ref == 'refs/heads/main' | |
| runs-on: ubuntu-latest | |
| needs: build | |
| concurrency: game-server # avoid multiple jobs of this kind to run at the same time | |
| steps: | |
| - name: Download jar from previous job | |
| uses: actions/download-artifact@v7.0.0 | |
| with: | |
| name: server-uber-jar | |
| - name: Rename file | |
| run: mv snake-server-*.jar snake-server.jar | |
| - name: Setup SSH | |
| uses: kielabokkie/ssh-key-and-known-hosts-action@v1.4.1 | |
| with: | |
| ssh-private-key: ${{ secrets.DEPLOY_SSH_KEY }} | |
| ssh-host: ${{ secrets.DEPLOY_SERVER }} | |
| - name: Upload new jar to server | |
| run: scp snake-server.jar ci@${{ secrets.DEPLOY_SERVER }}:/home/ci | |
| - name: Restart server | |
| run: ssh ci@${{ secrets.DEPLOY_SERVER }} "./restart.sh" |