125 lines
3.2 KiB
YAML
125 lines
3.2 KiB
YAML
|
|
version: '3'
|
||
|
|
|
||
|
|
vars:
|
||
|
|
REGISTRY: ghcr.io/host-uk
|
||
|
|
VERSION:
|
||
|
|
sh: git describe --tags --always --dirty 2>/dev/null || echo "dev"
|
||
|
|
|
||
|
|
tasks:
|
||
|
|
default:
|
||
|
|
desc: List available tasks
|
||
|
|
cmds:
|
||
|
|
- task --list
|
||
|
|
|
||
|
|
# ============================================================
|
||
|
|
# Build All
|
||
|
|
# ============================================================
|
||
|
|
build:
|
||
|
|
desc: Build all images (Docker + TIM)
|
||
|
|
deps:
|
||
|
|
- build:developer
|
||
|
|
- build:server-php
|
||
|
|
|
||
|
|
build:docker:
|
||
|
|
desc: Build all Docker images
|
||
|
|
deps:
|
||
|
|
- build:developer:docker
|
||
|
|
- build:server-php:docker
|
||
|
|
|
||
|
|
build:tim:
|
||
|
|
desc: Build all TIM bundles
|
||
|
|
deps:
|
||
|
|
- build:developer:tim
|
||
|
|
- build:server-php:tim
|
||
|
|
|
||
|
|
# ============================================================
|
||
|
|
# Developer Image
|
||
|
|
# ============================================================
|
||
|
|
build:developer:
|
||
|
|
desc: Build developer image (Docker + TIM)
|
||
|
|
deps:
|
||
|
|
- build:developer:docker
|
||
|
|
- build:developer:tim
|
||
|
|
|
||
|
|
build:developer:docker:
|
||
|
|
desc: Build developer Docker image
|
||
|
|
dir: developer
|
||
|
|
cmds:
|
||
|
|
- |
|
||
|
|
docker build \
|
||
|
|
--tag {{.REGISTRY}}/core-dev:{{.VERSION}} \
|
||
|
|
--tag {{.REGISTRY}}/core-dev:latest \
|
||
|
|
--build-arg VERSION={{.VERSION}} \
|
||
|
|
.
|
||
|
|
|
||
|
|
build:developer:tim:
|
||
|
|
desc: Build developer TIM bundle
|
||
|
|
dir: developer
|
||
|
|
cmds:
|
||
|
|
- echo "TODO: core build --type tim -o ../dist/core-dev-{{OS}}-{{ARCH}}.tim"
|
||
|
|
|
||
|
|
push:developer:
|
||
|
|
desc: Push developer image to registry
|
||
|
|
cmds:
|
||
|
|
- docker push {{.REGISTRY}}/core-dev:{{.VERSION}}
|
||
|
|
- docker push {{.REGISTRY}}/core-dev:latest
|
||
|
|
|
||
|
|
# ============================================================
|
||
|
|
# Server PHP Image
|
||
|
|
# ============================================================
|
||
|
|
build:server-php:
|
||
|
|
desc: Build server-php image (Docker + TIM)
|
||
|
|
deps:
|
||
|
|
- build:server-php:docker
|
||
|
|
- build:server-php:tim
|
||
|
|
|
||
|
|
build:server-php:docker:
|
||
|
|
desc: Build server-php Docker image
|
||
|
|
dir: server-php
|
||
|
|
cmds:
|
||
|
|
- |
|
||
|
|
docker build \
|
||
|
|
--tag {{.REGISTRY}}/server-php:{{.VERSION}} \
|
||
|
|
--tag {{.REGISTRY}}/server-php:latest \
|
||
|
|
--build-arg VERSION={{.VERSION}} \
|
||
|
|
.
|
||
|
|
|
||
|
|
build:server-php:tim:
|
||
|
|
desc: Build server-php TIM bundle
|
||
|
|
dir: server-php
|
||
|
|
cmds:
|
||
|
|
- echo "TODO: core build --type tim -o ../dist/server-php-{{OS}}-{{ARCH}}.tim"
|
||
|
|
|
||
|
|
push:server-php:
|
||
|
|
desc: Push server-php image to registry
|
||
|
|
cmds:
|
||
|
|
- docker push {{.REGISTRY}}/server-php:{{.VERSION}}
|
||
|
|
- docker push {{.REGISTRY}}/server-php:latest
|
||
|
|
|
||
|
|
# ============================================================
|
||
|
|
# Release
|
||
|
|
# ============================================================
|
||
|
|
release:
|
||
|
|
desc: Build and push all images
|
||
|
|
cmds:
|
||
|
|
- task: build
|
||
|
|
- task: push:developer
|
||
|
|
- task: push:server-php
|
||
|
|
|
||
|
|
# ============================================================
|
||
|
|
# Utilities
|
||
|
|
# ============================================================
|
||
|
|
clean:
|
||
|
|
desc: Remove build artifacts
|
||
|
|
cmds:
|
||
|
|
- rm -rf dist/
|
||
|
|
- docker rmi {{.REGISTRY}}/core-dev:{{.VERSION}} || true
|
||
|
|
- docker rmi {{.REGISTRY}}/server-php:{{.VERSION}} || true
|
||
|
|
|
||
|
|
dist:
|
||
|
|
desc: Create dist directory
|
||
|
|
cmds:
|
||
|
|
- mkdir -p dist
|
||
|
|
status:
|
||
|
|
- test -d dist
|