52 lines
1.2 KiB
YAML
52 lines
1.2 KiB
YAML
name: Publish Docker Image
|
|
|
|
on:
|
|
push:
|
|
branches: ["master"]
|
|
paths-ignore:
|
|
- .gitignore
|
|
- README.md
|
|
- LICENSE
|
|
|
|
jobs:
|
|
docker:
|
|
strategy:
|
|
matrix:
|
|
arch: [ "ubuntu-latest" ]
|
|
git-version: [ "2.44.0" ]
|
|
java-version: [ "17" ]
|
|
maven-version: [ "3.8.5" ]
|
|
runs-on: ${{ matrix.arch }}
|
|
|
|
# Steps to run
|
|
steps:
|
|
# Checkout the repo
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
# Setup Java and Maven
|
|
- name: Set up JDK and Maven
|
|
uses: s4u/setup-maven-action@v1.12.0
|
|
with:
|
|
java-version: ${{ matrix.java-version }}
|
|
distribution: "zulu"
|
|
maven-version: ${{ matrix.maven-version }}
|
|
|
|
# Run JUnit Tests
|
|
- name: Run Tests
|
|
run: mvn --batch-mode test -q
|
|
|
|
# Login to Docker Hub
|
|
- name: Login to Repo
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.REPO_USERNAME }}
|
|
password: ${{ secrets.REPO_TOKEN }}
|
|
|
|
# Build the Docker image
|
|
- name: Build Docker Image
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
push: true
|
|
context: .
|
|
tags: fascinated/paste-backend:latest |