Compare commits

...

11 Commits

Author SHA1 Message Date
c05b658f61 ci
Some checks failed
Build and Push Docker Images / build-and-push (push) Has been cancelled
2025-05-19 18:15:14 +02:00
528448b13c ci 2025-05-19 18:12:50 +02:00
e6ed5a38b2 push
All checks were successful
Build and Push Docker Images / build-and-push (push) Successful in 24m18s
2025-05-19 18:05:48 +02:00
9e4241aafc ci 2025-05-19 18:05:30 +02:00
d6e4ece79b ci
Some checks failed
Build and Push Docker Images / build-and-push (push) Failing after 53s
2025-05-19 18:03:09 +02:00
b4b620b74e ci
Some checks failed
Build and Push Docker Images / build-and-push (push) Failing after 11s
2025-05-19 18:01:25 +02:00
26fa8c6856 ci 2025-05-19 18:01:15 +02:00
4ff699dd97 ci
Some checks failed
Build and Push Docker Images / build-and-push (push) Failing after 26s
2025-05-19 17:58:57 +02:00
46513a3146 ci
Some checks failed
Build and Push Docker Images / build-and-push (push) Failing after 13s
2025-05-19 17:54:41 +02:00
ebbeeebc38 trigger ci
Some checks failed
Build and Push Docker Images / build-and-push (push) Failing after 1m52s
2025-05-19 17:51:45 +02:00
d3f1a4e15f try ci 2025-05-19 17:50:07 +02:00
2 changed files with 74 additions and 1 deletions

View File

@@ -0,0 +1,73 @@
name: Build and Push Docker Images
on:
push:
paths:
- '*/Dockerfile'
jobs:
build-and-push:
runs-on: ubuntu-latest
container: git.hofer.link/philipp/ci-images:rust-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
# Install Docker for Debian
- name: Install Docker
run: |
if ! command -v docker &> /dev/null; then
echo "Installing Docker for Debian..."
apt-get update
apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
# Add Docker's official GPG key
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to sources list
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install -y docker-ce docker-ce-cli containerd.io
else
echo "Docker is already installed"
fi
# Determine which image to build
- name: Set image details
id: image_details
run: |
# Extract the directory of the changed Dockerfile
CHANGED_FILE="${{ github.event.commits[0].modified[0] }}"
if [[ $CHANGED_FILE == */Dockerfile ]]; then
IMAGE_PATH=$(dirname "$CHANGED_FILE")
else
IMAGE_PATH="rust-latest" # Default
fi
# Set outputs
echo "image_path=$IMAGE_PATH" >> $GITHUB_OUTPUT
echo "image_name=$(basename $IMAGE_PATH)" >> $GITHUB_OUTPUT
echo "Building image from directory: $IMAGE_PATH"
echo "Image name: $(basename $IMAGE_PATH)"
- name: Login to Gitea Docker Registry
uses: docker/login-action@v2
with:
registry: git.hofer.link
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and Push Docker image
uses: docker/build-push-action@v4
with:
context: ./${{ steps.image_details.outputs.image_path }}
push: true
tags: git.hofer.link/philipp/ci-images:${{ steps.image_details.outputs.image_name }}

View File

@@ -5,7 +5,7 @@
# 2. Tag the image: `docker tag <id> git.hofer.link/philipp/ci-images:rust-latest`
# 3. Push the image: `docker push git.hofer.link/philipp/ci-images:rust-latest`
FROM rust:1.86
FROM rust:1.87
RUN apt-get update && apt-get install -y sqlite3