mirror of
https://github.com/aykhans/bsky-feedgen.git
synced 2025-11-29 10:39:52 +00:00
update CI/CD
This commit is contained in:
99
.github/workflows/publish-docker.yaml
vendored
Normal file
99
.github/workflows/publish-docker.yaml
vendored
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
name: Publish Docker Images
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- 'cmd/*/version.go'
|
||||||
|
- 'cmd/feedgen/*/version.go'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
detect-changes:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
api: ${{ steps.filter.outputs.api }}
|
||||||
|
consumer: ${{ steps.filter.outputs.consumer }}
|
||||||
|
feedgen-az: ${{ steps.filter.outputs.feedgen-az }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- uses: dorny/paths-filter@v3
|
||||||
|
id: filter
|
||||||
|
with:
|
||||||
|
filters: |
|
||||||
|
api:
|
||||||
|
- 'cmd/api/version.go'
|
||||||
|
consumer:
|
||||||
|
- 'cmd/consumer/version.go'
|
||||||
|
feedgen-az:
|
||||||
|
- 'cmd/feedgen/az/version.go'
|
||||||
|
|
||||||
|
publish-api:
|
||||||
|
needs: detect-changes
|
||||||
|
if: needs.detect-changes.outputs.api == 'true'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Login to Docker Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: git.aykhans.me
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Install Task
|
||||||
|
uses: arduino/setup-task@v2
|
||||||
|
|
||||||
|
- name: Build and publish API
|
||||||
|
run: task docker-publish-api
|
||||||
|
|
||||||
|
publish-consumer:
|
||||||
|
needs: detect-changes
|
||||||
|
if: needs.detect-changes.outputs.consumer == 'true'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Login to Docker Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: git.aykhans.me
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Install Task
|
||||||
|
uses: arduino/setup-task@v2
|
||||||
|
|
||||||
|
- name: Build and publish Consumer
|
||||||
|
run: task docker-publish-consumer
|
||||||
|
|
||||||
|
publish-feedgen-az:
|
||||||
|
needs: detect-changes
|
||||||
|
if: needs.detect-changes.outputs.feedgen-az == 'true'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Login to Docker Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: git.aykhans.me
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Install Task
|
||||||
|
uses: arduino/setup-task@v2
|
||||||
|
|
||||||
|
- name: Build and publish Feedgen AZ
|
||||||
|
run: task docker-publish-feedgen-az
|
||||||
15
Taskfile.yml
15
Taskfile.yml
@@ -3,7 +3,7 @@
|
|||||||
version: "3"
|
version: "3"
|
||||||
|
|
||||||
vars:
|
vars:
|
||||||
DOCKER_REGISTRY: "git.aykhans.me/bsky/"
|
DOCKER_REGISTRY: "git.aykhans.me"
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
ftl:
|
ftl:
|
||||||
@@ -51,7 +51,7 @@ tasks:
|
|||||||
desc: Publish docker image for api service
|
desc: Publish docker image for api service
|
||||||
vars:
|
vars:
|
||||||
GO_VERSION_FILE: ./cmd/api/version.go
|
GO_VERSION_FILE: ./cmd/api/version.go
|
||||||
IMAGE_NAME: feedgen-api
|
IMAGE_NAME: /bsky/feedgen-api
|
||||||
VERSION:
|
VERSION:
|
||||||
sh: grep -o 'const version = "[^"]*"' {{.GO_VERSION_FILE}} | grep -o '"[^"]*"' | tr -d '"'
|
sh: grep -o 'const version = "[^"]*"' {{.GO_VERSION_FILE}} | grep -o '"[^"]*"' | tr -d '"'
|
||||||
VERSIONED_IMAGE: "{{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:{{.VERSION}}"
|
VERSIONED_IMAGE: "{{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:{{.VERSION}}"
|
||||||
@@ -71,7 +71,7 @@ tasks:
|
|||||||
desc: Publish docker image for consumer service
|
desc: Publish docker image for consumer service
|
||||||
vars:
|
vars:
|
||||||
GO_VERSION_FILE: ./cmd/consumer/version.go
|
GO_VERSION_FILE: ./cmd/consumer/version.go
|
||||||
IMAGE_NAME: feedgen-consumer
|
IMAGE_NAME: /bsky/feedgen-consumer
|
||||||
VERSION:
|
VERSION:
|
||||||
sh: grep -o 'const version = "[^"]*"' {{.GO_VERSION_FILE}} | grep -o '"[^"]*"' | tr -d '"'
|
sh: grep -o 'const version = "[^"]*"' {{.GO_VERSION_FILE}} | grep -o '"[^"]*"' | tr -d '"'
|
||||||
VERSIONED_IMAGE: "{{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:{{.VERSION}}"
|
VERSIONED_IMAGE: "{{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:{{.VERSION}}"
|
||||||
@@ -87,7 +87,7 @@ tasks:
|
|||||||
desc: Publish docker image for feedgen-az service
|
desc: Publish docker image for feedgen-az service
|
||||||
vars:
|
vars:
|
||||||
GO_VERSION_FILE: ./cmd/feedgen/az/version.go
|
GO_VERSION_FILE: ./cmd/feedgen/az/version.go
|
||||||
IMAGE_NAME: feedgen-generator-az
|
IMAGE_NAME: /bsky/feedgen-generator-az
|
||||||
VERSION:
|
VERSION:
|
||||||
sh: grep -o 'const version = "[^"]*"' {{.GO_VERSION_FILE}} | grep -o '"[^"]*"' | tr -d '"'
|
sh: grep -o 'const version = "[^"]*"' {{.GO_VERSION_FILE}} | grep -o '"[^"]*"' | tr -d '"'
|
||||||
VERSIONED_IMAGE: "{{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:{{.VERSION}}"
|
VERSIONED_IMAGE: "{{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:{{.VERSION}}"
|
||||||
@@ -101,6 +101,9 @@ tasks:
|
|||||||
|
|
||||||
docker-publish-manager:
|
docker-publish-manager:
|
||||||
desc: Publish docker image for manager service
|
desc: Publish docker image for manager service
|
||||||
|
vars:
|
||||||
|
GO_VERSION_FILE: ./cmd/manager/version.go
|
||||||
|
IMAGE_NAME: /bsky/feedgen-manager
|
||||||
cmds:
|
cmds:
|
||||||
- docker build -t git.aykhans.me/bsky/feedgen-manager:latest -f ./cmd/manager/Dockerfile .
|
- docker build -t {{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:latest -f ./cmd/manager/Dockerfile .
|
||||||
- docker push git.aykhans.me/bsky/feedgen-manager:latest
|
- docker push {{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:latest
|
||||||
|
|||||||
Reference in New Issue
Block a user