@@ -170,11 +170,42 @@ jobs:
170170 - name : Test cli works in runtime image
171171 run : docker run ${{ env.IMAGE_REPOSITORY }} --version
172172
173+ conda :
174+ needs : [dist]
175+ runs-on : ubuntu-latest
176+
177+ steps :
178+ - uses : actions/download-artifact@v3
179+
180+ - name : Create Conda recipe
181+ run : |
182+ mkdir -p conda/recipe
183+ pipx run grayskull pypi -o conda/recipe dist/*.tar.gz
184+
185+ - name : Install conda-build
186+ run : conda install -y conda-build
187+
188+ - name : Build Conda distribution
189+ run : |
190+ mkdir -p conda/build
191+ conda build --output-folder conda/build conda/recipe/*/meta.yaml
192+
193+ - name : Upload conda build
194+ uses : actions/upload-artifact@v3
195+ with :
196+ name : conda_build
197+ path : |
198+ conda/build/
199+ !conda/build/*/.cache
200+
173201 release :
174202 # upload to PyPI and make a release on every tag
175- needs : [lint, dist, test]
203+ needs : [lint, dist, test, conda ]
176204 if : ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags') }}
177205 runs-on : ubuntu-latest
206+ env :
207+ HAS_PYPI_TOKEN : ${{ secrets.PYPI_TOKEN != '' }}
208+ HAS_ANACONDA_TOKEN : ${{ secrets.ANACONDA_TOKEN != '' }}
178209
179210 steps :
180211 - uses : actions/download-artifact@v3
@@ -197,6 +228,11 @@ jobs:
197228 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
198229
199230 - name : Publish to PyPI
231+ if : ${{ env.HAS_PYPI_TOKEN }}
200232 uses : pypa/gh-action-pypi-publish@release/v1
201233 with :
202234 password : ${{ secrets.PYPI_TOKEN }}
235+
236+ - name : Publish to Anaconda
237+ if : ${{ env.HAS_ANACONDA_TOKEN }}
238+ run : pipx run --spec anaconda-client anaconda --token ${{ secrets.ANACONDA_TOKEN }} upload conda_build/noarch/*.tar.bz2
0 commit comments