diff --git a/.gitea/workflows/base-build.yml b/.gitea/workflows/base-build.yml new file mode 100644 index 0000000..1015899 --- /dev/null +++ b/.gitea/workflows/base-build.yml @@ -0,0 +1,60 @@ +name: Build and Push teamspeak-server Docker Images + +on: + push: + branches: + - main + +jobs: + build: + runs-on: docker-build + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set image tags and names + id: vars + run: | + IMAGE_REGISTRY=gitea.fithwum.tech + IMAGE_ORG=fithwum + IMAGE_REPO=teamspeak-server + + # Set the tag based on the folder name (alpine, basic, debian) + IMAGE_TAG_ALPINE=alpine + IMAGE_TAG_BASIC=basic + IMAGE_TAG_DEBIAN=debian + + echo "IMAGE_TAG_ALPINE=${IMAGE_TAG_ALPINE}" >> $GITHUB_ENV + echo "IMAGE_TAG_BASIC=${IMAGE_TAG_BASIC}" >> $GITHUB_ENV + echo "IMAGE_TAG_DEBIAN=${IMAGE_TAG_DEBIAN}" >> $GITHUB_ENV + + # Set image names for each subfolder Dockerfile + IMAGE_ALPINE=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}:${IMAGE_TAG_ALPINE} + IMAGE_BASIC=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}:${IMAGE_TAG_BASIC} + IMAGE_DEBIAN=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}:${IMAGE_TAG_DEBIAN} + + echo "IMAGE_ALPINE=${IMAGE_ALPINE}" >> $GITHUB_ENV + echo "IMAGE_BASIC=${IMAGE_BASIC}" >> $GITHUB_ENV + echo "IMAGE_DEBIAN=${IMAGE_DEBIAN}" >> $GITHUB_ENV + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to Gitea Registry + run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login gitea.fithwum.tech -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin + + # Build and Push alpine Docker Image + - name: Build and Push alpine Docker Image + run: | + docker buildx build --platform linux/amd64 --push -t ${{ env.IMAGE_ALPINE }} ./alpine + + # Build and Push basic Docker Image + - name: Build and Push basic Docker Image + run: | + docker buildx build --platform linux/amd64 --push -t ${{ env.IMAGE_BASIC }} ./basic + + # Build and Push debian Docker Image + - name: Build and Push debian Docker Image + run: | + docker buildx build --platform linux/amd64 --push -t ${{ env.IMAGE_DEBIAN }} ./debian