pathfinder-containers/.forgejo/workflows/build_and_push.yaml
Ava Affine 363b419b89 add our own CI for building and pushing containers
Signed-off-by: Ava Affine <ava@sunnypup.io>
2026-02-03 11:34:04 -08:00

45 lines
1.6 KiB
YAML

name: "build and push"
on:
push:
branches:
- 'main'
jobs:
build:
runs-on: docker
steps:
- name: setup docker repo
run: |
apt update
apt install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
- name: install dependencies
run: |
apt update -y
apt install docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin -y
- name: Checkout the repo
uses: actions/checkout@v4
with:
submodules: true
- name: Login and setup builder
run: |
echo "${{ secrets.DOCKER_TOKEN }}" | docker login hephaestus.sunnypup.io \
--username affine --password-stdin
docker context create tls-environment
docker buildx create \
--name container-builder \
--driver docker-container \
--bootstrap --use tls-environment
- name: Build and push pathfinder
run: |
docker compose build --push pathfinder
- name: Build and push pf-websocket
run: |
docker compose build --push pf-websocket