Deploy / deploy (push) Successful in 2m15s
docsite/ becomes the repository root; the whole repository is the site. The image is vantage/vantage-docs:latest, was mrhid6/vantage/docsite. The workflow passes no build args, as the monorepo's did not: DOCS_URL, DOCS_BASE_URL, APP_URL and HQ_URL have correct defaults in the Dockerfile, and passing an unset repo variable would blank one rather than leave it alone.
46 lines
1.8 KiB
YAML
46 lines
1.8 KiB
YAML
name: Deploy
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
# DOCS_URL, DOCS_BASE_URL and APP_URL are repo variables, and editing one
|
|
# pushes no commit — so nothing would rebuild on its own. This is the
|
|
# escape hatch for that, and DOCS_BASE_URL in particular is baked into
|
|
# every asset path in the build.
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-docker
|
|
container: docker:dind
|
|
steps:
|
|
- name: Setup
|
|
run: apk add --update nodejs npm git
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Log in to registry
|
|
run: |
|
|
echo "${{ secrets.RELEASE_TOKEN }}" | \
|
|
docker login ${{ vars.DOCKER_HOST }} \
|
|
-u "${{ secrets.REGISTRY_USER }}" --password-stdin
|
|
|
|
# One image, one directory — the whole repository is the docs site,
|
|
# so there is nothing to detect a change in. It rebuilds on every
|
|
# push, which is what a docs site wants anyway.
|
|
#
|
|
# No build args are passed, deliberately: DOCS_URL, DOCS_BASE_URL,
|
|
# APP_URL and HQ_URL all have correct defaults in the Dockerfile,
|
|
# and passing an unset repo variable would blank one rather than
|
|
# leave it alone. DOCS_BASE_URL in particular must match the proxy
|
|
# location that routes here and the directory the runtime stage
|
|
# serves from; when those three disagree the HTML loads and every
|
|
# asset 404s. Change it in the Dockerfile, not here.
|
|
- name: Build and push image
|
|
run: |
|
|
IMAGE="${{ vars.DOCKER_HOST }}/vantage/vantage-docs:latest"
|
|
docker build -t "$IMAGE" .
|
|
docker push "$IMAGE"
|