From c241f600ba8dc5e541624801064a8c34aea395fc Mon Sep 17 00:00:00 2001 From: Jess Thrysoee Date: Mon, 12 Feb 2024 20:19:40 +0100 Subject: [PATCH] add github action --- .github/workflows/docker-image.yml | 47 ++++++++++++++++++++++++++++++ Makefile.build | 41 -------------------------- VERSION | 1 - docker-compose.yml | 7 ++--- 4 files changed, 50 insertions(+), 46 deletions(-) create mode 100644 .github/workflows/docker-image.yml delete mode 100644 Makefile.build delete mode 100644 VERSION diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 0000000..1f06bcb --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,47 @@ +name: Build and Push Docker Image + +on: + push: + tags: + - "*" + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ github.token }} + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Lowercase repo name + run: echo "GITHUB_REPOSITORY_LOWERCASE=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: | + ghcr.io/${{ env.GITHUB_REPOSITORY_LOWERCASE }}/git-registry:${{github.ref_name}} + ghcr.io/${{ env.GITHUB_REPOSITORY_LOWERCASE }}/git-registry:latest + thrysoee/git-registry:${{github.ref_name}} + thrysoee/git-registry:latest diff --git a/Makefile.build b/Makefile.build deleted file mode 100644 index f872316..0000000 --- a/Makefile.build +++ /dev/null @@ -1,41 +0,0 @@ -.PHONY: build push archive archive_bsd - -include VERSION - -REPOSITORY := git-registry -GIT_SHA := $(shell git rev-parse --short HEAD) - -TAG := $(REPOSITORY):$(GIT_REGISTRY_VERSION) -TAG_SHA := $(REPOSITORY):$(GIT_REGISTRY_VERSION)-$(GIT_SHA) -TAG_LATEST := $(REPOSITORY):latest - -REGISTRY := docker.io -NAMESPACE := thrysoee -REMOTE_TAG := $(REGISTRY)/$(NAMESPACE)/$(TAG) -REMOTE_TAG_SHA := $(REGISTRY)/$(NAMESPACE)/$(TAG_SHA) -REMOTE_TAG_LATEST := $(REGISTRY)/$(NAMESPACE)/$(TAG_LATEST) - - -build: - docker build -t "$(TAG)" . - docker tag "$(TAG)" "$(TAG_LATEST)" - docker tag "$(TAG)" "$(REMOTE_TAG)" - docker tag "$(TAG)" "$(REMOTE_TAG_SHA)" - docker tag "$(TAG)" "$(REMOTE_TAG_LATEST)" - - -push: build - docker push "$(REMOTE_TAG)" - docker push "$(REMOTE_TAG_LATEST)" - - -ARCHIVE_FILES = Makefile docker-compose.yml src/backup/ - -archive: - tar -zcf $(REPOSITORY).tar.gz --transform 's,^,$(REPOSITORY)/,' $(ARCHIVE_FILES) - -archive_bsd: - tar -zcf $(REPOSITORY).tar.gz -s ',^,$(REPOSITORY)/,' $(ARCHIVE_FILES) - - -# vim: filetype=make diff --git a/VERSION b/VERSION deleted file mode 100644 index c079c3c..0000000 --- a/VERSION +++ /dev/null @@ -1 +0,0 @@ -GIT_REGISTRY_VERSION=1.0.13 diff --git a/docker-compose.yml b/docker-compose.yml index c5b5087..ea3b694 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,6 @@ -version: "3.9" +--- services: - git-registry: image: thrysoee/git-registry:${GIT_REGISTRY_VERSION:-latest} container_name: git-registry @@ -19,6 +18,6 @@ services: restart: unless-stopped volumes: - git-registry-etc-ssh-volume: - git-registry-repositories-volume: + git-registry-etc-ssh-volume: ~ + git-registry-repositories-volume: ~