diff --git a/.gitea/workflows/docker-build.yml b/.gitea/workflows/docker-build.yml index d14eda6..972847e 100644 --- a/.gitea/workflows/docker-build.yml +++ b/.gitea/workflows/docker-build.yml @@ -1,3 +1,4 @@ + name: Build and Push Docker Images on: @@ -8,13 +9,16 @@ on: - '.gitea/workflows/docker-build.yml' jobs: - build: + build-rust-latest: runs-on: ubuntu-latest - container: git.hofer.link/philipp/ci-images:rust-latest + if: github.event_name == 'push' && contains(github.event.commits[0].modified, 'rust-latest/Dockerfile') steps: - name: Checkout code uses: actions/checkout@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to Gitea Container Registry uses: docker/login-action@v2 with: @@ -22,26 +26,34 @@ jobs: username: ${{ secrets.USERNAME_GITEA }} password: ${{ secrets.PASSWORD_GITEA }} - - name: Find changed Dockerfiles - id: find-changes - run: | - # Get list of changed files - CHANGED_FILES=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }} || git diff --name-only HEAD~1 HEAD) - - # Find directories with changed Dockerfiles - for file in $CHANGED_FILES; do - if [[ $file == */Dockerfile ]]; then - dir=$(echo $file | sed 's/\/Dockerfile$//') - echo "Building image for directory: $dir" - - # Extract image name from directory - IMAGE_NAME=$(basename $dir) - echo "Building image: $IMAGE_NAME" - - # Build and push the Docker image - docker build -t git.hofer.link/philipp/ci-images:$IMAGE_NAME $dir - docker push git.hofer.link/philipp/ci-images:$IMAGE_NAME - fi - done - + - name: Build and push rust-latest + uses: docker/build-push-action@v4 + with: + context: ./rust-latest + push: true + tags: git.hofer.link/philipp/ci-images:rust-latest + # Add more jobs for other images following the same pattern + # build-another-image: + # runs-on: ubuntu-latest + # if: github.event_name == 'push' && contains(github.event.commits[0].modified, 'another-image/Dockerfile') + # steps: + # - name: Checkout code + # uses: actions/checkout@v3 + # + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v2 + # + # - name: Login to Gitea Container Registry + # uses: docker/login-action@v2 + # with: + # registry: git.hofer.link + # username: ${{ secrets.GITEA_USERNAME }} + # password: ${{ secrets.GITEA_PASSWORD }} + # + # - name: Build and push another-image + # uses: docker/build-push-action@v4 + # with: + # context: ./another-image + # push: true + # tags: git.hofer.link/philipp/ci-images:another-image