name: build and publish docker image / deploy on: push: branches: ["dev"] pull_request: branches: ["dev"] jobs: build: runs-on: ubuntu-latest steps: - name: Restore cached Primes id: maven-cache-restore uses: https://github.com/actions/cache/restore@v4 with: path: | path/to/dependencies some/other/dependencies key: linux-maven - uses: https://github.com/actions/checkout@v4 with: repository: 'learningpulse/server' ref: 'dev' token: '${{ secrets.token }}' - name: 'Set up java 22' uses: https://github.com/actions/setup-java@v4 with: java-version: "22" distribution: "temurin" - name: Setup maven if: steps.maven-cache.outputs.cache-hit != 'true' uses: https://github.com/stCarolas/setup-maven@v5 with: maven-version: 3.9.6 - name: Build with Maven run: mvn -Dtoken=${{ secrets.token }} clean compile jib:build -e - name: Cache local Maven repository uses: https://github.com/actions/cache/save@v4 id: maven-cache-save with: path: ~/.m2/repository key: linux-maven restore-keys: | linux-maven - name: executing remote ssh commands using ssh key uses: https://github.com/appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.KEY }} port: ${{ secrets.PORT }} script: cd services/server && docker compose pull && docker compose up -d