diff --git a/.gitea/workflows/docker-publish-dev.yaml b/.gitea/workflows/docker-publish-dev.yaml new file mode 100644 index 0000000..7cbcee8 --- /dev/null +++ b/.gitea/workflows/docker-publish-dev.yaml @@ -0,0 +1,57 @@ +name: Build and Push Docker Image (Dev) + +on: + push: + branches: + - dev + paths: + - 'src/**' + - 'client/**' + - 'Dockerfile' + - 'docker-compose.dev.yml' + - 'package.json' + - '.gitea/workflows/docker-publish-dev.yaml' + workflow_dispatch: + +env: + REGISTRY: git.app.flexinit.nl + IMAGE_NAME: oussamadouhou/ai-stack-deployer + +jobs: + build-and-push-dev: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Gitea Container Registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: oussamadouhou + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Extract metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=raw,value=dev + type=sha,prefix=dev- + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/.gitea/workflows/docker-publish-main.yaml b/.gitea/workflows/docker-publish-main.yaml new file mode 100644 index 0000000..0936782 --- /dev/null +++ b/.gitea/workflows/docker-publish-main.yaml @@ -0,0 +1,57 @@ +name: Build and Push Docker Image (Production) + +on: + push: + branches: + - main + paths: + - 'src/**' + - 'client/**' + - 'Dockerfile' + - 'docker-compose.prod.yml' + - 'package.json' + - '.gitea/workflows/docker-publish-main.yaml' + workflow_dispatch: + +env: + REGISTRY: git.app.flexinit.nl + IMAGE_NAME: oussamadouhou/ai-stack-deployer + +jobs: + build-and-push-main: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Gitea Container Registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: oussamadouhou + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Extract metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=raw,value=latest + type=sha,prefix=main- + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/.gitea/workflows/docker-publish.yaml b/.gitea/workflows/docker-publish-staging.yaml similarity index 73% rename from .gitea/workflows/docker-publish.yaml rename to .gitea/workflows/docker-publish-staging.yaml index 01e6192..e9fcaf5 100644 --- a/.gitea/workflows/docker-publish.yaml +++ b/.gitea/workflows/docker-publish-staging.yaml @@ -1,18 +1,16 @@ -name: Build and Push Docker Image +name: Build and Push Docker Image (Staging) on: push: branches: - - dev - staging - - main paths: - 'src/**' - 'client/**' - 'Dockerfile' - - 'docker-compose*.yml' + - 'docker-compose.staging.yml' - 'package.json' - - '.gitea/workflows/**' + - '.gitea/workflows/docker-publish-staging.yaml' workflow_dispatch: env: @@ -20,7 +18,7 @@ env: IMAGE_NAME: oussamadouhou/ai-stack-deployer jobs: - build-and-push: + build-and-push-staging: runs-on: ubuntu-latest permissions: contents: read @@ -46,10 +44,8 @@ jobs: with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | - type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }} - type=raw,value=dev,enable=${{ github.ref == 'refs/heads/dev' }} - type=raw,value=staging,enable=${{ github.ref == 'refs/heads/staging' }} - type=sha,prefix={{branch}}- + type=raw,value=staging + type=sha,prefix=staging- - name: Build and push Docker image uses: docker/build-push-action@v5