Skip to content
# name: Validate and organize repo, build and publish Docker images
# on:
# push:
# branches:
# - main
# paths:
# - 'config.toml'
# jobs:
# validate-and-organize:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal access token.
# fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository.
# - name: Set up Python 3.10
# uses: actions/setup-python@v3
# with:
# python-version: "3.10"
# - name: Pip install packages
# run: |
# python -m pip install -U pip
# pip install --no-cache-dir domino-py[cli]
# - name: Login to GitHub Container Registry
# uses: docker/login-action@v2
# with:
# registry: ghcr.io
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}
# - name: pip list
# run: pip list | grep domino
# - name: Run organize and build images
# run: |
# domino piece organize --build-images --source-url=https://github.com/${{github.repository}}
# - name: Install Tests Dependencies
# run: pip install -r requirements-tests.txt
# - name: Run tests over built images
# env:
# OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
# DOMINO_TESTS_ENVIRONMENT: github
# run: |
# pytest -s -v --cov=pieces --cov-report=xml --cov-report=term-missing
# - name: Upload coverage reports to Codecov
# uses: codecov/codecov-action@v3
# env:
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
# - name: Publish images
# env:
# GHCR_USERNAME: ${{ github.actor }}
# run: domino piece publish-images --registry-token ${{ secrets.GITHUB_TOKEN }}
# - name: Commit files
# run: |
# git config --local user.email "github-actions[bot]@users.noreply.github.com"
# git config --local user.name "github-actions[bot]"
# GIT_STATUS=$(git status -s)
# [[ ! -z "$GIT_STATUS" ]] && git add .domino/* && git commit -m "auto-organize" -a || echo "No changes to commit"
# - name: Push changes
# uses: ad-m/github-push-action@master
# with:
# github_token: ${{ secrets.GITHUB_TOKEN }}
# branch: ${{ github.ref }}
# - name: Create Release
# env:
# GITHUB_REPOSITORY: ${{ github.repository }}
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# run: domino piece release