Files
iot-cloud-api/.gitea/workflows/build_docker.yaml
Tobias Maier 1d7e9fe22b
Some checks failed
Build Project / test (push) Failing after 3m14s
update docker image
2025-11-05 18:43:11 +01:00

73 lines
2.3 KiB
YAML

name: Build Project
on:
push:
branches: ["main"]
jobs:
test:
runs-on: ubuntu-latest
container:
image: gitea.tobiasmaier.me/tobimai/devcontainer-rust:2.2
services:
db:
image: postgres:latest
env:
POSTGRES_USER: dev
POSTGRES_PASSWORD: dev
POSTGRES_DB: iot
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Checkout Code
uses: actions/checkout@v2
- name: Run migrations
run: sqlx migrate run
- name: Build server binary
run: cargo build --release
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Log in to Docker Registry
uses: docker/login-action@v1
with:
registry: gitea.tobiasmaier.me
username: tobimai
password: ${{ secrets.docker_registry_key }}
- name: Extract Version from Cargo.toml
run: |
VERSION_PATCH=$(grep '^version' Cargo.toml | head -n 1 | cut -d ' ' -f 3 | tr -d '"')
VERSION_MINOR=$(grep '^version' Cargo.toml | head -n 1 | cut -d ' ' -f 3 | tr -d '"' | cut -d '.' -f 1,2)
VERSION_MAJOR=$(grep '^version' Cargo.toml | head -n 1 | cut -d ' ' -f 3 | tr -d '"' | cut -d '.' -f 1)
echo "VERSION_PATCH=$VERSION_PATCH" >> $GITEA_ENV
echo "VERSION_MINOR=$VERSION_MINOR" >> $GITEA_ENV
echo "VERSION_MAJOR=$VERSION_MAJOR" >> $GITEA_ENV
echo "Patch Version: $VERSION_PATCH"
echo "Minor Version: $VERSION_MINOR"
echo "Major Version: $VERSION_MAJOR"
- name: Build and Push Docker Image for Patch version
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: gitea.tobiasmaier.me/tobimai/iot:${{ env.VERSION_PATCH }}
- name: Build and Push Docker Image for minor version
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: gitea.tobiasmaier.me/tobimai/iot:${{ env.VERSION_MINOR }}
- name: Build and Push Docker Image for major version
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: gitea.tobiasmaier.me/tobimai/iot:${{ env.VERSION_MAJOR }}