diff --git a/.github/workflows/build-n-publish.yml b/.github/workflows/build-n-publish.yml new file mode 100644 index 0000000..79185d7 --- /dev/null +++ b/.github/workflows/build-n-publish.yml @@ -0,0 +1,55 @@ +name: Build and Publish + +on: + push: + branches: [ develop ] + +jobs: + gradle-build: + name: Gradle build + runs-on: ubuntu-latest + env: + working-directory: ./backend + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + + - name: Grant execute permission to gradlew + run: chmod +x ./gradlew + working-directory: ${{ env.working-directory }} + + - name: Build with Gradle + run: ./gradlew bootJar + working-directory: ${{ env.working-directory }} + + - name: Temporarily save build artifact + uses: actions/upload-artifact@v2 + with: + name: gradle-build + path: backend/build/libs/*.jar + retention-days: 1 + + publish-gcr: + runs-on: ubuntu-latest + needs: gradle-build + + steps: + - uses: actions/checkout@v2 + + - name: Get gradle built artifact + uses: actions/download-artifact@v2 + with: + name: gradle-build + path: backend/build/libs + + - name: Docker Build and Publish latest image + uses: VaultVulp/gp-docker-action@1.2.0 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + image-name: pupmory-backend # tag will be automatically set to latest \ No newline at end of file