You've already forked hotpocket
BTHLABS-62: Display progress in extension popup
Co-authored-by: Tomek Wójcik <labs@tomekwojcik.pl> Co-committed-by: Tomek Wójcik <labs@tomekwojcik.pl>
This commit is contained in:
@@ -11,18 +11,17 @@ on:
|
||||
- "public"
|
||||
|
||||
jobs:
|
||||
setup:
|
||||
name: "Setup"
|
||||
run-checks:
|
||||
name: "Checks"
|
||||
runs-on: "ubuntu-latest"
|
||||
outputs:
|
||||
SHORT_SHA: ${{ steps.get-build-options.outputs.SHORT_SHA }}
|
||||
BUILD_ARCH: ${{ steps.get-build-options.outputs.BUILD_ARCH }}
|
||||
BUILD_PLATFORM: ${{ steps.get-build-options.outputs.BUILD_PLATFORM }}
|
||||
HOTPOCKET_BACKEND_VERSION: ${{ steps.get-backend-version.outputs.HOTPOCKET_BACKEND_VERSION }}
|
||||
HOTPOCKET_BACKEND_BUILD: ${{ steps.get-backend-version.outputs.HOTPOCKET_BACKEND_BUILD }}
|
||||
steps:
|
||||
- name: "Checkout the code"
|
||||
uses: "actions/checkout@v2"
|
||||
- name: "Get run info"
|
||||
id: "get-run-info"
|
||||
run: |
|
||||
set -x
|
||||
echo "COMPOSE_PROJECT=${{ vars.COMPOSE_PROJECT_BASE }}-${GITHUB_RUN_NUMBER}" >> $GITHUB_OUTPUT
|
||||
- name: "Get build options"
|
||||
id: "get-build-options"
|
||||
run: |
|
||||
@@ -37,28 +36,6 @@ jobs:
|
||||
echo "SHORT_SHA=$SHORT_SHA" >> $GITHUB_OUTPUT
|
||||
echo "BUILD_ARCH=$BUILD_ARCH" >> $GITHUB_OUTPUT
|
||||
echo "BUILD_PLATFORM=$BUILD_PLATFORM" >> $GITHUB_OUTPUT
|
||||
- name: "Get `backend` version"
|
||||
id: "get-backend-version"
|
||||
run: |
|
||||
set -x
|
||||
if [ "${GITHUB_REF_NAME}" = "development" ]; then
|
||||
VERSION="${GITHUB_SHA::8}"
|
||||
BUILD="${GITHUB_RUN_NUMBER}"
|
||||
else
|
||||
VERSION="v$(grep -Po '(?<=^version\s=\s")[^"]+' services/backend/pyproject.toml)"
|
||||
BUILD="01"
|
||||
fi
|
||||
echo "HOTPOCKET_BACKEND_VERSION=$VERSION" >> $GITHUB_OUTPUT
|
||||
echo "HOTPOCKET_BACKEND_BUILD=$BUILD" >> $GITHUB_OUTPUT
|
||||
|
||||
run-checks:
|
||||
name: "Checks"
|
||||
runs-on: "ubuntu-latest"
|
||||
needs:
|
||||
- "setup"
|
||||
steps:
|
||||
- name: "Checkout the code"
|
||||
uses: "actions/checkout@v2"
|
||||
- name: "Set up Docker Buildx"
|
||||
id: "setup-docker-buildx"
|
||||
uses: "docker/setup-buildx-action@v3"
|
||||
@@ -76,8 +53,10 @@ jobs:
|
||||
context: "services/"
|
||||
push: false
|
||||
load: true
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/postgres:15.13-local"
|
||||
platforms: "${{ needs.setup.outputs.BUILD_PLATFORM }}"
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/postgres:15.13-${{ steps.get-run-info.outputs.COMPOSE_PROJECT }}"
|
||||
platforms: "${{ steps.get-build-options.outputs.BUILD_PLATFORM }}"
|
||||
cache-from: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket"
|
||||
cache-to: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket,mode=max"
|
||||
- name: "Build `keycloak` image"
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
@@ -85,8 +64,10 @@ jobs:
|
||||
context: "services/"
|
||||
push: false
|
||||
load: true
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/keycloak:22.0.3-local"
|
||||
platforms: "${{ needs.setup.outputs.BUILD_PLATFORM }}"
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/keycloak:22.0.3-${{ steps.get-run-info.outputs.COMPOSE_PROJECT }}"
|
||||
platforms: "${{ steps.get-build-options.outputs.BUILD_PLATFORM }}"
|
||||
cache-from: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket"
|
||||
cache-to: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket,mode=max"
|
||||
- name: "Build `rabbitmq` image"
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
@@ -94,8 +75,10 @@ jobs:
|
||||
context: "services/"
|
||||
push: false
|
||||
load: true
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/rabbitmq:3.10.8-local"
|
||||
platforms: "${{ needs.setup.outputs.BUILD_PLATFORM }}"
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/rabbitmq:3.10.8-${{ steps.get-run-info.outputs.COMPOSE_PROJECT }}"
|
||||
platforms: "${{ steps.get-build-options.outputs.BUILD_PLATFORM }}"
|
||||
cache-from: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket"
|
||||
cache-to: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket,mode=max"
|
||||
- name: "Build `backend-ci` image"
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
@@ -104,8 +87,10 @@ jobs:
|
||||
target: "ci"
|
||||
push: false
|
||||
load: true
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/backend:ci-local"
|
||||
platforms: "${{ needs.setup.outputs.BUILD_PLATFORM }}"
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/backend:ci-${{ steps.get-run-info.outputs.COMPOSE_PROJECT }}"
|
||||
platforms: "${{ steps.get-build-options.outputs.BUILD_PLATFORM }}"
|
||||
cache-from: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket"
|
||||
cache-to: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket,mode=max"
|
||||
- name: "Build `packages-ci` image"
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
@@ -114,8 +99,10 @@ jobs:
|
||||
target: "ci"
|
||||
push: false
|
||||
load: true
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/packages:ci-local"
|
||||
platforms: "${{ needs.setup.outputs.BUILD_PLATFORM }}"
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/packages:ci-${{ steps.get-run-info.outputs.COMPOSE_PROJECT }}"
|
||||
platforms: "${{ steps.get-build-options.outputs.BUILD_PLATFORM }}"
|
||||
cache-from: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket"
|
||||
cache-to: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket,mode=max"
|
||||
- name: "Build `extension-ci` image"
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
@@ -124,8 +111,10 @@ jobs:
|
||||
target: "ci"
|
||||
push: false
|
||||
load: true
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/extension:ci-local"
|
||||
platforms: "${{ needs.setup.outputs.BUILD_PLATFORM }}"
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/extension:ci-${{ steps.get-run-info.outputs.COMPOSE_PROJECT }}"
|
||||
platforms: "${{ steps.get-build-options.outputs.BUILD_PLATFORM }}"
|
||||
cache-from: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket"
|
||||
cache-to: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket,mode=max"
|
||||
- name: "Build `apple-ci` image"
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
@@ -134,29 +123,79 @@ jobs:
|
||||
target: "ci"
|
||||
push: false
|
||||
load: true
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/apple:ci-local"
|
||||
platforms: "${{ needs.setup.outputs.BUILD_PLATFORM }}"
|
||||
tags: "docker-hosted.nexus.bthlabs.pl/hotpocket/apple:ci-${{ steps.get-run-info.outputs.COMPOSE_PROJECT }}"
|
||||
platforms: "${{ steps.get-build-options.outputs.BUILD_PLATFORM }}"
|
||||
cache-from: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket"
|
||||
cache-to: "type=registry,ref=nexus.bthlab.bthlabs.net:8001/hotpocket,mode=max"
|
||||
- name: "Prepare the build"
|
||||
id: "prepare"
|
||||
env:
|
||||
COMPOSE_PROJECT: "${{ steps.get-run-info.outputs.COMPOSE_PROJECT }}"
|
||||
run: |
|
||||
set -x
|
||||
./.gitea/tools/render-docker-compose-ci.sh
|
||||
- name: "Run `backend` checks"
|
||||
if: "steps.prepare.conclusion == 'success'"
|
||||
env:
|
||||
COMPOSE_PROJECT: "${{ steps.get-run-info.outputs.COMPOSE_PROJECT }}"
|
||||
run: |
|
||||
set -x
|
||||
docker compose -f docker-compose.yaml -f docker-compose-ci.yaml run --rm backend-ci inv ci
|
||||
docker compose \
|
||||
-p "${COMPOSE_PROJECT}" \
|
||||
-f "docker-compose.yaml" \
|
||||
-f "docker-compose-ci.yaml" \
|
||||
-f "docker-compose-ci-${COMPOSE_PROJECT}.yaml" \
|
||||
run --rm \
|
||||
backend-ci inv ci
|
||||
- name: "Run `packages` checks"
|
||||
if: always()
|
||||
if: "steps.prepare.conclusion == 'success'"
|
||||
env:
|
||||
COMPOSE_PROJECT: "${{ steps.get-run-info.outputs.COMPOSE_PROJECT }}"
|
||||
run: |
|
||||
set -x
|
||||
docker compose -f docker-compose.yaml -f docker-compose-ci.yaml run --rm packages-ci inv ci
|
||||
docker compose \
|
||||
-p "${COMPOSE_PROJECT}" \
|
||||
-f "docker-compose.yaml" \
|
||||
-f "docker-compose-ci.yaml" \
|
||||
-f "docker-compose-ci-${COMPOSE_PROJECT}.yaml" \
|
||||
run --rm \
|
||||
packages-ci inv ci
|
||||
- name: "Run `extension` checks"
|
||||
if: always()
|
||||
if: "steps.prepare.conclusion == 'success'"
|
||||
env:
|
||||
COMPOSE_PROJECT: "${{ steps.get-run-info.outputs.COMPOSE_PROJECT }}"
|
||||
run: |
|
||||
set -x
|
||||
docker compose -f docker-compose.yaml -f docker-compose-ci.yaml run --rm extension-ci inv ci
|
||||
docker compose \
|
||||
-p "${COMPOSE_PROJECT}" \
|
||||
-f "docker-compose.yaml" \
|
||||
-f "docker-compose-ci.yaml" \
|
||||
-f "docker-compose-ci-${COMPOSE_PROJECT}.yaml" \
|
||||
run --rm \
|
||||
extension-ci inv ci
|
||||
- name: "Run `apple` checks"
|
||||
if: always()
|
||||
if: "steps.prepare.conclusion == 'success'"
|
||||
env:
|
||||
COMPOSE_PROJECT: "${{ steps.get-run-info.outputs.COMPOSE_PROJECT }}"
|
||||
run: |
|
||||
set -x
|
||||
docker compose -f docker-compose.yaml -f docker-compose-ci.yaml run --rm apple-ci inv ci
|
||||
docker compose \
|
||||
-p "${COMPOSE_PROJECT}" \
|
||||
-f "docker-compose.yaml" \
|
||||
-f "docker-compose-ci.yaml" \
|
||||
-f "docker-compose-ci-${COMPOSE_PROJECT}.yaml" \
|
||||
run --rm \
|
||||
apple-ci inv ci
|
||||
- name: "Clean up"
|
||||
if: always()
|
||||
env:
|
||||
COMPOSE_PROJECT: "${{ steps.get-run-info.outputs.COMPOSE_PROJECT }}"
|
||||
run: |
|
||||
set -x
|
||||
docker compose -f docker-compose.yaml -f docker-compose-ci.yaml down --volumes
|
||||
docker compose \
|
||||
-p "${COMPOSE_PROJECT}" \
|
||||
-f "docker-compose.yaml" \
|
||||
-f "docker-compose-ci.yaml" \
|
||||
-f "docker-compose-ci-${COMPOSE_PROJECT}.yaml" \
|
||||
down --volumes --rmi all || true
|
||||
rm -f "docker-compose-ci-${COMPOSE_PROJECT}.yaml" || true
|
||||
|
||||
Reference in New Issue
Block a user