mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
244239e5f6
* macOS CI workflow, dream.py exits with an error, but the workflow completes. * Files for testing Co-authored-by: James Reynolds <magnsuviri@me.com> Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
80 lines
2.8 KiB
YAML
80 lines
2.8 KiB
YAML
name: Build
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
pull_request:
|
|
branches: [ main ]
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
os: [ macos-12 ]
|
|
name: Build on ${{ matrix.os }} miniconda
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v3
|
|
- name: Cache model
|
|
id: cache-sd-v1-4
|
|
uses: actions/cache@v3
|
|
env:
|
|
cache-name: cache-sd-v1-4
|
|
with:
|
|
path: models/ldm/stable-diffusion-v1/model.ckpt
|
|
key: ${{ env.cache-name }}
|
|
restore-keys: |
|
|
${{ env.cache-name }}
|
|
- name: Download Stable Diffusion v1.4 model
|
|
if: ${{ steps.cache-sd-v1-4.outputs.cache-hit != 'true' }}
|
|
continue-on-error: true
|
|
run: |
|
|
if [ ! -e models/ldm/stable-diffusion-v1 ]; then
|
|
mkdir -p models/ldm/stable-diffusion-v1
|
|
fi
|
|
if [ ! -e models/ldm/stable-diffusion-v1/model.ckpt ]; then
|
|
curl -o models/ldm/stable-diffusion-v1/model.ckpt ${{ secrets.SD_V1_4_URL }}
|
|
fi
|
|
# Uncomment this when we no longer make changes to environment-mac.yaml
|
|
# - name: Cache environment
|
|
# id: cache-conda-env-ldm
|
|
# uses: actions/cache@v3
|
|
# env:
|
|
# cache-name: cache-conda-env-ldm
|
|
# with:
|
|
# path: ~/.conda/envs/ldm
|
|
# key: ${{ env.cache-name }}
|
|
# restore-keys: |
|
|
# ${{ env.cache-name }}
|
|
- name: Install dependencies
|
|
# if: ${{ steps.cache-conda-env-ldm.outputs.cache-hit != 'true' }}
|
|
run: |
|
|
conda env create -f environment-mac.yaml
|
|
- name: Cache hugginface and torch models
|
|
id: cache-hugginface-torch
|
|
uses: actions/cache@v3
|
|
env:
|
|
cache-name: cache-hugginface-torch
|
|
with:
|
|
path: ~/.cache
|
|
key: ${{ env.cache-name }}
|
|
restore-keys: |
|
|
${{ env.cache-name }}
|
|
- name: Download Huggingface and Torch models
|
|
if: ${{ steps.cache-hugginface-torch.outputs.cache-hit != 'true' }}
|
|
continue-on-error: true
|
|
run: |
|
|
export PYTHON_BIN=/usr/local/miniconda/envs/ldm/bin/python
|
|
$PYTHON_BIN scripts/preload_models.py
|
|
- name: Run the tests
|
|
run: |
|
|
# Note, can't "activate" via automation, and activation is just env vars and path
|
|
export PYTHON_BIN=/usr/local/miniconda/envs/ldm/bin/python
|
|
export PYTORCH_ENABLE_MPS_FALLBACK=1
|
|
$PYTHON_BIN scripts/preload_models.py
|
|
mkdir -p outputs/img-samples
|
|
time $PYTHON_BIN scripts/dream.py --from_file tests/prompts.txt </dev/null 2> outputs/img-samples/err.log > outputs/img-samples/out.log
|
|
- name: Archive results
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: results
|
|
path: outputs/img-samples |