Skip to content

neurosis via push

neurosis via push #67

Workflow file for this run

name: Container Build & Push
run-name: neurosis via ${{ github.event_name }}
on:
push:
branches:
- "main"
- "release"
paths:
- ".github/workflows/build-push.yaml"
- "src/**"
- "docker/**"
- "docker-bake.hcl"
- "docker-compose.yml"
- "!**.md"
- "setup.cfg"
- "pyproject.toml"
workflow_dispatch:
inputs:
force-push:
description: "push to GHCR"
type: boolean
required: true
default: false
pull_request:
paths:
- ".github/workflows/build-push.yaml"
- "src/**"
- "docker/**"
- "docker-bake.hcl"
- "docker-compose.yml"
- "!**.md"
- "setup.cfg"
- "pyproject.toml"
defaults:
run:
shell: bash
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}-base
cancel-in-progress: true
env:
IMAGE_REGISTRY: ghcr.io
IMAGE_PLATFORMS: "linux/amd64"
jobs:
build:
name: Build
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
strategy:
fail-fast: false
max-parallel: 1
matrix:
include:
- target: neurosis
cuda-ver: cu121
torch-ver: torch210
- target: neurosis
cuda-ver: cu118
torch-ver: torch210
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
with:
platforms: ${{ env.IMAGE_PLATFORMS }}
- name: Log in to GHCR
uses: docker/login-action@v3
with:
registry: ${{ env.IMAGE_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Generate docker tags
id: meta
uses: docker/metadata-action@v5
with:
flavor: |
suffix=-${{ matrix.cuda-ver }}-${{ matrix.torch-ver }}
images: |
${{ env.IMAGE_REGISTRY }}/${{ github.repository }}/${{ matrix.target }}
tags: |
type=raw,value=latest,enable={{is_default_branch}}
type=sha,format=short
type=ref,event=branch
type=ref,event=tag
type=ref,event=pr
labels: |
org.opencontainers.image.title=neurosis
org.opencontainers.image.description=a docker image for neurosis, a pytorch lightning trainer
org.opencontainers.image.vendor=neggles.dev
- name: Free disk space
id: free-disk-space
run: |
df -h .
sudo find "$AGENT_TOOLSDIRECTORY" -delete
sudo find /usr/share/dotnet -delete
sudo find /usr/local/lib/android -delete
df -h .
- name: Build & Push Image
id: build-push
uses: docker/bake-action@v4
env:
CUDA_VERSION: ${{ matrix.cuda-ver }}
TORCH_VERSION: ${{ matrix.torch-ver }}
with:
targets: ${{ matrix.target }}
files: |
./docker-bake.hcl
${{ steps.meta.outputs.bake-file }}
push: ${{ (github.event_name == 'push' && github.ref == 'refs/heads/main') || inputs.force-push }}
set: |
*.cache-from=type=gha
*.cache-to=type=gha,mode=min