diff --git a/.gitea/workflows/container-bot.yml b/.gitea/workflows/container-bot.yml new file mode 100644 index 0000000..fa00f24 --- /dev/null +++ b/.gitea/workflows/container-bot.yml @@ -0,0 +1,76 @@ +name: Docker bot + +run-name: Build and push Docker image + +on: + push: + tags: + - "v*.*.*-bot" + +env: + GITEA_REGISTRY: gitea.antoine-langlois.net + GH_REGISTRY: ghcr.io + GH_REPOSITORY: wyll-io/tech-bot + GITEA_REPOSITORY: datahearth/tech-bot + +jobs: + build-push: + name: Build and push Docker image + + runs-on: debian-docker + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup Docker buildx + uses: docker/setup-buildx-action@v2 + + - name: Log into registry Docker + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Log into registry Gitea + uses: docker/login-action@v2 + with: + registry: ${{ env.GITEA_REGISTRY }} + username: ${{ gitea.repository_owner }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Log into registry GitHub + uses: docker/login-action@v2 + with: + registry: ${{ env.GH_REGISTRY }} + username: ${{ gitea.repository_owner }} + password: ${{ secrets.GH_REGISTRY_TOKEN }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: | + ${{ env.GITEA_REPOSITORY }} + ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_REPOSITORY }} + ${{ env.GH_REGISTRY }}/${{ env.GH_REPOSITORY }} + tags: | + type=semver,pattern=bot-latest + type=semver,pattern=bot-{{version}} + type=semver,pattern=bot-{{major}}.{{minor}} + type=raw,value=latest,enable=false + + - name: Build and push Docker image + id: build-and-push + uses: docker/build-push-action@v4 + with: + context: . + push: true + target: bot + cache-to: type=inline + cache-from: | + type=registry,ref=${{ env.GITEA_REPOSITORY }}:bot-latest + type=registry,ref=${{ env.GITEA_REGISTRY }}/${{ env.GITEA_REPOSITORY }}:bot-latest + type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REPOSITORY }}:bot-latest + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/.gitea/workflows/container-database.yml b/.gitea/workflows/container-database.yml new file mode 100644 index 0000000..99181f6 --- /dev/null +++ b/.gitea/workflows/container-database.yml @@ -0,0 +1,76 @@ +name: Docker database + +run-name: Build and push Docker image + +on: + push: + tags: + - "v*.*.*-database" + +env: + GITEA_REGISTRY: gitea.antoine-langlois.net + GH_REGISTRY: ghcr.io + GH_REPOSITORY: wyll-io/tech-bot + GITEA_REPOSITORY: datahearth/tech-bot + +jobs: + build-push: + name: Build and push Docker image + + runs-on: debian-docker + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup Docker buildx + uses: docker/setup-buildx-action@v2 + + - name: Log into registry Docker + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Log into registry Gitea + uses: docker/login-action@v2 + with: + registry: ${{ env.GITEA_REGISTRY }} + username: ${{ gitea.repository_owner }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Log into registry GitHub + uses: docker/login-action@v2 + with: + registry: ${{ env.GH_REGISTRY }} + username: ${{ gitea.repository_owner }} + password: ${{ secrets.GH_REGISTRY_TOKEN }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: | + ${{ env.GITEA_REPOSITORY }} + ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_REPOSITORY }} + ${{ env.GH_REGISTRY }}/${{ env.GH_REPOSITORY }} + tags: | + type=semver,pattern=database-latest + type=semver,pattern=database-{{version}} + type=semver,pattern=database-{{major}}.{{minor}} + type=raw,value=latest,enable=false + + - name: Build and push Docker image + id: build-and-push + uses: docker/build-push-action@v4 + with: + context: . + push: true + target: database + cache-to: type=inline + cache-from: | + type=registry,ref=${{ env.GITEA_REPOSITORY }}:database-latest + type=registry,ref=${{ env.GITEA_REGISTRY }}/${{ env.GITEA_REPOSITORY }}:database-latest + type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REPOSITORY }}:database-latest + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/.gitea/workflows/container-web.yml b/.gitea/workflows/container-web.yml new file mode 100644 index 0000000..84df4ad --- /dev/null +++ b/.gitea/workflows/container-web.yml @@ -0,0 +1,76 @@ +name: Docker web + +run-name: Build and push Docker image + +on: + push: + tags: + - "v*.*.*-web" + +env: + GITEA_REGISTRY: gitea.antoine-langlois.net + GH_REGISTRY: ghcr.io + GH_REPOSITORY: wyll-io/tech-bot + GITEA_REPOSITORY: datahearth/tech-bot + +jobs: + build-push: + name: Build and push Docker image + + runs-on: debian-docker + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup Docker buildx + uses: docker/setup-buildx-action@v2 + + - name: Log into registry Docker + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Log into registry Gitea + uses: docker/login-action@v2 + with: + registry: ${{ env.GITEA_REGISTRY }} + username: ${{ gitea.repository_owner }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Log into registry GitHub + uses: docker/login-action@v2 + with: + registry: ${{ env.GH_REGISTRY }} + username: ${{ gitea.repository_owner }} + password: ${{ secrets.GH_REGISTRY_TOKEN }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: | + ${{ env.GITEA_REPOSITORY }} + ${{ env.GITEA_REGISTRY }}/${{ env.GITEA_REPOSITORY }} + ${{ env.GH_REGISTRY }}/${{ env.GH_REPOSITORY }} + tags: | + type=semver,pattern=web-latest + type=semver,pattern=web-{{version}} + type=semver,pattern=web-{{major}}.{{minor}} + type=raw,value=latest,enable=false + + - name: Build and push Docker image + id: build-and-push + uses: docker/build-push-action@v4 + with: + context: . + push: true + target: web + cache-to: type=inline + cache-from: | + type=registry,ref=${{ env.GITEA_REPOSITORY }}:web-latest + type=registry,ref=${{ env.GITEA_REGISTRY }}/${{ env.GITEA_REPOSITORY }}:web-latest + type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REPOSITORY }}:web-latest + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}