Skip to content

updated jobs to run in a sequence #28

updated jobs to run in a sequence

updated jobs to run in a sequence #28

Workflow file for this run

name: CI Workflow
on:
push:
branches:
- main
pull_request:
jobs:
compile:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: maven
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y make net-tools
- name: Compile project
run: |
make build-no-tests
unit_tests:
runs-on: self-hosted
needs: compile
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: maven
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y make net-tools sqlite3
- name: Run unit tests
working-directory: ../../../../
run: |
make tests
build_image:
runs-on: ubuntu-latest
needs: unit_tests
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: maven
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y make net-tools
- name: Compile project
run: |
make build-no-tests
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v6
with:
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/expense-watcher:latest