name: build & release on: push: tags: - 'v*' workflow_dispatch: jobs: check-version: runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v4 - name: check python version uses: samuelcolvin/check-python-version@v4 id: check-python-version with: version_file_path: invokeai/version/invokeai_version.py frontend-checks: needs: check-version uses: ./.github/workflows/frontend-checks.yml frontend-tests: needs: check-version uses: ./.github/workflows/frontend-tests.yml python-checks: needs: check-version uses: ./.github/workflows/python-checks.yml python-tests: needs: check-version uses: ./.github/workflows/python-tests.yml build: needs: [ check-version, frontend-checks, frontend-tests, python-checks, python-tests, ] uses: ./.github/workflows/build.yml publish-testpypi: runs-on: ubuntu-latest timeout-minutes: 5 # expected run time: <1 min needs: [ check-version, frontend-checks, frontend-tests, python-checks, python-tests, build, ] environment: name: testpypi url: https://test.pypi.org/p/invokeai steps: - name: download distribution from build job uses: actions/download-artifact@v4 with: name: dist path: dist/ - name: publish distribution to TestPyPI uses: pypa/gh-action-pypi-publish@release/v1 with: repository-url: https://test.pypi.org/legacy/ publish-pypi: runs-on: ubuntu-latest timeout-minutes: 5 # expected run time: <1 min needs: [ check-version, frontend-checks, frontend-tests, python-checks, python-tests, build, ] environment: name: pypi url: https://pypi.org/p/invokeai steps: - name: download distribution from build job uses: actions/download-artifact@v4 with: name: dist path: dist/ - name: publish distribution to PyPI uses: pypa/gh-action-pypi-publish@release/v1