mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-10-14 03:28:14 +00:00
feat(workflow): build images for canary
This commit is contained in:
36
.github/workflows/docker-build.yaml
vendored
36
.github/workflows/docker-build.yaml
vendored
@@ -4,6 +4,7 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
|
- canary
|
||||||
release:
|
release:
|
||||||
types: [published]
|
types: [published]
|
||||||
|
|
||||||
@@ -43,6 +44,19 @@ jobs:
|
|||||||
-t itzcrazykns1337/${IMAGE_NAME}:amd64 \
|
-t itzcrazykns1337/${IMAGE_NAME}:amd64 \
|
||||||
--push .
|
--push .
|
||||||
|
|
||||||
|
- name: Build and push AMD64 Canary Docker image
|
||||||
|
if: github.ref == 'refs/heads/canary' && github.event_name == 'push'
|
||||||
|
run: |
|
||||||
|
DOCKERFILE=app.dockerfile
|
||||||
|
IMAGE_NAME=perplexica
|
||||||
|
docker buildx build --platform linux/amd64 \
|
||||||
|
--cache-from=type=registry,ref=itzcrazykns1337/${IMAGE_NAME}:canary-amd64 \
|
||||||
|
--cache-to=type=inline \
|
||||||
|
--provenance false \
|
||||||
|
-f $DOCKERFILE \
|
||||||
|
-t itzcrazykns1337/${IMAGE_NAME}:canary-amd64 \
|
||||||
|
--push .
|
||||||
|
|
||||||
- name: Build and push AMD64 release Docker image
|
- name: Build and push AMD64 release Docker image
|
||||||
if: github.event_name == 'release'
|
if: github.event_name == 'release'
|
||||||
run: |
|
run: |
|
||||||
@@ -91,6 +105,19 @@ jobs:
|
|||||||
-t itzcrazykns1337/${IMAGE_NAME}:arm64 \
|
-t itzcrazykns1337/${IMAGE_NAME}:arm64 \
|
||||||
--push .
|
--push .
|
||||||
|
|
||||||
|
- name: Build and push ARM64 Canary Docker image
|
||||||
|
if: github.ref == 'refs/heads/canary' && github.event_name == 'push'
|
||||||
|
run: |
|
||||||
|
DOCKERFILE=app.dockerfile
|
||||||
|
IMAGE_NAME=perplexica
|
||||||
|
docker buildx build --platform linux/arm64 \
|
||||||
|
--cache-from=type=registry,ref=itzcrazykns1337/${IMAGE_NAME}:canary-arm64 \
|
||||||
|
--cache-to=type=inline \
|
||||||
|
--provenance false \
|
||||||
|
-f $DOCKERFILE \
|
||||||
|
-t itzcrazykns1337/${IMAGE_NAME}:canary-arm64 \
|
||||||
|
--push .
|
||||||
|
|
||||||
- name: Build and push ARM64 release Docker image
|
- name: Build and push ARM64 release Docker image
|
||||||
if: github.event_name == 'release'
|
if: github.event_name == 'release'
|
||||||
run: |
|
run: |
|
||||||
@@ -128,6 +155,15 @@ jobs:
|
|||||||
--amend itzcrazykns1337/${IMAGE_NAME}:arm64
|
--amend itzcrazykns1337/${IMAGE_NAME}:arm64
|
||||||
docker manifest push itzcrazykns1337/${IMAGE_NAME}:main
|
docker manifest push itzcrazykns1337/${IMAGE_NAME}:main
|
||||||
|
|
||||||
|
- name: Create and push multi-arch manifest for canary
|
||||||
|
if: github.ref == 'refs/heads/canary' && github.event_name == 'push'
|
||||||
|
run: |
|
||||||
|
IMAGE_NAME=perplexica
|
||||||
|
docker manifest create itzcrazykns1337/${IMAGE_NAME}:canary \
|
||||||
|
--amend itzcrazykns1337/${IMAGE_NAME}:canary-amd64 \
|
||||||
|
--amend itzcrazykns1337/${IMAGE_NAME}:canary-arm64
|
||||||
|
docker manifest push itzcrazykns1337/${IMAGE_NAME}:canary
|
||||||
|
|
||||||
- name: Create and push multi-arch manifest for releases
|
- name: Create and push multi-arch manifest for releases
|
||||||
if: github.event_name == 'release'
|
if: github.event_name == 'release'
|
||||||
run: |
|
run: |
|
||||||
|
Reference in New Issue
Block a user