Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

version 0.0.105 #42

Merged
merged 4 commits into from
Oct 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/_zrb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
Run-command:
runs-on: ubuntu-latest
container:
image: stalchmst/zrb:0.0.103
image: stalchmst/zrb:0.0.104
steps:
- name: Check out repository code
uses: actions/checkout@v3
Expand All @@ -38,4 +38,4 @@ jobs:
export ZRB_SHOW_PROMPT=false
echo "🏁 Start running"
${{ inputs.command }}
- run: echo "🍏 This job's status is ${{ job.status }}."
- run: echo "🍏 This job's status is ${{ job.status }}."
2 changes: 1 addition & 1 deletion .github/workflows/hello.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ jobs:
with:
environment: DEV
command: |
zrb explain solid
zrb explain solid-principle
15 changes: 15 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: "Release new version"
run-name: "Release Zrb new version for ${{ github.actor }}"
on:
push:
# See: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-including-branches-and-tags
tags:
- v-*

jobs:
run-command:
uses: ./.github/workflows/_zrb.yml
with:
environment: DEV
command: |
zrb publish
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ playground
.coverage.*
.env
.venv
.docker-dir
docker/._docker-compose.*.runtime.yml
htmlcov
8 changes: 0 additions & 8 deletions docker-template/Dockerfile

This file was deleted.

File renamed without changes.
32 changes: 32 additions & 0 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
FROM python:3.10-bookworm

# Create and set workdir
RUN mkdir -p /project
WORKDIR /project

# Define arguments
ARG ZRB_VERSION=latest

# Prepare apt
RUN apt update --fix-missing && apt upgrade -y
RUN apt install -y ca-certificates curl gnupg
RUN install -m 0755 -d /etc/apt/keyrings
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \
chmod a+r /etc/apt/keyrings/docker.gpg && \
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
RUN apt update

# Install packages
RUN apt install -y git ncat curl wget inetutils-tools inetutils-ping \
build-essential docker.io docker-compose-plugin

# Clean up apt
RUN apt autoremove -yqq --purge && \
apt clean && \
rm -rf /var/lib/apt/lists/*

# Install zrb
RUN pip install zrb==${ZRB_VERSION}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ services:
build:
dockerfile: Dockerfile
context: .
args:
ZRB_VERSION: ${ZRB_VERSION:-latest}
image: ${ZRB_IMAGE:-docker.io/stalchmst/zrb}
logging: *default-logging
container_name: zrb
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi"

[project]
name = "zrb"
version = "0.0.104"
version = "0.0.105"
authors = [
{ name="Go Frendi Gunawan", email="[email protected]" },
]
Expand Down Expand Up @@ -50,4 +50,4 @@ zrb = "zrb.__main__:cli"
[tool.pytest.ini_options]
pythonpath = [
"src"
]
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Run Command

on:
workflow_call:
inputs:
command:
required: true
type: string
environment:
required: true
type: string
secrets: {}

jobs:

# Docs: https://docs.github.com/en/actions/using-workflows/reusing-workflows
Run-command:
runs-on: ubuntu-latest
container:
image: stalchmst/zrb:zrbVersion
steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Show Info
run: |
echo "🙋 PIC: ${{ github.actor }}"
echo "🎉 Event: ${{ github.event_name }}"
echo "🐧 OS: ${{ runner.os }}"
echo "🔎 Branch: ${{ github.ref }}"
echo "🔎 Repo: ${{ github.repository }}"
- name: Run command
shell: bash
run: |
set -e
export ZRB_ENV=${{ inputs.environment }}
export ZRB_SHOW_PROMPT=false
echo "🏁 Start running"
${{ inputs.command }}
- run: echo "🍏 This job's status is ${{ job.status }}."
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: "Hello"
run-name: "Run hello for ${{ github.actor }}"
on: [push]

jobs:
run-command:
uses: ./.github/workflows/_zrb.yml
with:
environment: DEV
command: |
zrb explain solid-principle
2 changes: 1 addition & 1 deletion src/zrb/task/docker_compose_task.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ def _add_compose_envs(self):
os_name = key
if self._compose_env_prefix != '':
os_name = f'{self._compose_env_prefix}_{os_name}'
self._envs.append(Env(name=key, os_name=os_name, default=value))
self.add_envs(Env(name=key, os_name=os_name, default=value))

def _get_existing_env_map(self) -> Mapping[str, str]:
env_map: Mapping[str, str] = {}
Expand Down
106 changes: 69 additions & 37 deletions zrb_init.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from zrb import (
runner, CmdTask, ResourceMaker, DockerComposeTask, FlowTask,
Env, BoolInput, StrInput, HTTPChecker, Group
runner, CmdTask, DockerComposeTask, FlowTask, HTTPChecker,
Env, Group, BoolInput, StrInput
)
import os
import sys
Expand Down Expand Up @@ -33,6 +33,13 @@
# Input Definitions
###############################################################################

zrb_version_input = StrInput(
name='zrb-version',
description='Zrb version',
prompt='Zrb version',
default=VERSION
)

zrb_image_name_input = StrInput(
name='zrb-image-name',
description='Zrb image name',
Expand All @@ -57,6 +64,12 @@
# Env Definitions
###############################################################################

zrb_version_env = Env(
name='ZRB_VERSION',
os_name='',
default='{{input.zrb_version}}'
)

zrb_image_env = Env(
name='ZRB_IMAGE',
os_name='',
Expand Down Expand Up @@ -116,35 +129,28 @@
)
runner.register(publish_pip_test)

prepare_docker = ResourceMaker(
name='prepare-docker',
description='Create docker directory',
template_path=f'{CURRENT_DIR}/docker-template',
destination_path=f'{CURRENT_DIR}/.docker-dir',
replacements={
'ZRB_VERSION': VERSION
}
)
runner.register(prepare_docker)

check_pip = HTTPChecker(
name='check-pip',
inputs=[zrb_version_input],
is_https=True,
host='pypi.org',
url=f'pypi/zrb/{VERSION}/json',
url='pypi/zrb/{{ input.zrb_version }}/json',
port=443
)

build_image = DockerComposeTask(
name='build-image',
description='Build docker image',
upstreams=[
prepare_docker,
check_pip,
upstreams=[check_pip],
inputs=[
zrb_version_input,
zrb_image_name_input,
],
inputs=[zrb_image_name_input],
envs=[zrb_image_env],
cwd=f'{CURRENT_DIR}/.docker-dir',
envs=[
zrb_version_env,
zrb_image_env,
],
cwd=f'{CURRENT_DIR}/docker',
compose_cmd='build',
compose_args=['zrb']
)
Expand All @@ -154,13 +160,18 @@
name='build-latest-image',
description='Build docker image',
upstreams=[
prepare_docker,
check_pip,
build_image,
],
inputs=[zrb_latest_image_name_input],
envs=[zrb_latest_image_env],
cwd=f'{CURRENT_DIR}/.docker-dir',
inputs=[
zrb_version_input,
zrb_latest_image_name_input,
],
envs=[
zrb_version_env,
zrb_latest_image_env,
],
cwd=f'{CURRENT_DIR}/docker',
compose_cmd='build',
compose_args=['zrb']
)
Expand All @@ -169,10 +180,13 @@
stop_container = DockerComposeTask(
name='stop-container',
description='remove docker container',
upstreams=[prepare_docker],
inputs=[zrb_image_name_input],
envs=[zrb_image_env],
cwd=f'{CURRENT_DIR}/.docker-dir',
inputs=[
zrb_image_name_input
],
envs=[
zrb_image_env
],
cwd=f'{CURRENT_DIR}/docker',
compose_cmd='down'
)
runner.register(stop_container)
Expand All @@ -184,9 +198,15 @@
build_image,
stop_container
],
inputs=[zrb_image_name_input],
envs=[zrb_image_env],
cwd=f'{CURRENT_DIR}/.docker-dir',
inputs=[
zrb_version_input,
zrb_image_name_input,
],
envs=[
zrb_version_env,
zrb_image_env,
],
cwd=f'{CURRENT_DIR}/docker',
compose_cmd='up',
compose_flags=['-d']
)
Expand All @@ -196,9 +216,15 @@
name='push-image',
description='Push docker image',
upstreams=[build_image],
inputs=[zrb_image_name_input],
envs=[zrb_image_env],
cwd=f'{CURRENT_DIR}/.docker-dir',
inputs=[
zrb_version_input,
zrb_image_name_input,
],
envs=[
zrb_version_env,
zrb_image_env,
],
cwd=f'{CURRENT_DIR}/docker',
compose_cmd='push',
compose_args=['zrb']
)
Expand All @@ -211,9 +237,15 @@
build_latest_image,
push_image,
],
inputs=[zrb_latest_image_name_input],
envs=[zrb_latest_image_env],
cwd=f'{CURRENT_DIR}/.docker-dir',
inputs=[
zrb_version_input,
zrb_latest_image_name_input,
],
envs=[
zrb_version_env,
zrb_latest_image_env,
],
cwd=f'{CURRENT_DIR}/docker',
compose_cmd='push',
compose_args=['zrb']
)
Expand Down