Skip to content

Commit

Permalink
update the github build script and push path
Browse files Browse the repository at this point in the history
  • Loading branch information
oOhyeahh committed Oct 25, 2024
1 parent f166544 commit a04d421
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 19 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/docker-release.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
name: Docker Publish Release

on:
release:
types: [published, edited]
push:
branches:
- "*"

# Can be triggered manually
workflow_dispatch:
Expand Down
6 changes: 1 addition & 5 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,7 @@ name: Docker
on:
push:
branches:
- "master"
- "[0-9].[0-9]"
pull_request:
branches:
- "master"
- "*"

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
Expand Down
22 changes: 10 additions & 12 deletions scripts/build_docker.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ def is_latest_release(release: str) -> bool:


def make_docker_tag(l: list[str]) -> str:
return f"{REPO}:" + "-".join([o for o in l if o])
return f"lemonyeah:" + "-".join([o for o in l if o])


def get_docker_tags(
Expand Down Expand Up @@ -178,7 +178,7 @@ def get_docker_command(
)
docker_tags = ("\\\n" + 8 * " ").join([f"-t {s} " for s in tags])

docker_args = "--load" if not is_authenticated else "--push"
docker_args = "--load"
target_argument = f"--target {build_target}" if build_target else ""

cache_ref = f"{CACHE_REPO}:{py_ver}"
Expand All @@ -189,19 +189,15 @@ def get_docker_command(
platform_arg = "--platform " + ",".join(build_platforms)

cache_from_arg = f"--cache-from=type=registry,ref={cache_ref}"
cache_to_arg = (
f"--cache-to=type=registry,mode=max,ref={cache_ref}" if is_authenticated else ""
)
build_arg = f"--build-arg PY_VER={py_ver}" if py_ver else ""
actor = os.getenv("GITHUB_ACTOR")

return dedent(
return {"command": dedent(
f"""\
docker buildx build \\
{docker_args} \\
{docker_tags} \\
{cache_from_arg} \\
{cache_to_arg} \\
{build_arg} \\
{platform_arg} \\
{target_argument} \\
Expand All @@ -211,7 +207,7 @@ def get_docker_command(
--label base={py_ver} \\
--label build_actor={actor} \\
{docker_context}"""
)
), "tags": docker_tags}


@click.command()
Expand Down Expand Up @@ -259,7 +255,7 @@ def main(
print("Release number has to be provided")
exit(1)

docker_build_command = get_docker_command(
docker_build_result = get_docker_command(
build_preset,
platform,
is_authenticated,
Expand All @@ -271,20 +267,22 @@ def main(

if not dry_run:
print("Executing Docker Build Command:")
print(docker_build_command)
print(docker_build_result["command"])
script = ""
if os.getenv("DOCKERHUB_USER"):
script = dedent(
f"""\
docker logout
docker login --username "{os.getenv("DOCKERHUB_USER")}" --password "{os.getenv("DOCKERHUB_TOKEN")}"
DOCKER_ARGS="--push"
"""
)
script = script + docker_build_command
script = script + docker_build_result["command"]
if verbose:
run_cmd("cat Dockerfile")
stdout = run_cmd(script)
run_cmd("docker image ls")
for tag in docker_build_result["tags"]:
run_cmd(f"docker image push {tag}")
else:
print("Dry Run - Docker Build Command:")
print(docker_build_command)
Expand Down

0 comments on commit a04d421

Please sign in to comment.