packages #35
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: packages | |
on: | |
push: | |
tags: | |
- "[0-9]+.[0-9]+.[0-9]+" | |
- "[0-9]+.[0-9]+.[0-9]+a[0-9]+" | |
- "[0-9]+.[0-9]+.[0-9]+b[0-9]+" | |
- "[0-9]+.[0-9]+.[0-9]+rc[0-9]+" | |
# Dry-run only | |
workflow_dispatch: | |
defaults: | |
run: | |
shell: bash -l {0} | |
env: | |
PYTHON_VERSION: "3.10" | |
PACKAGE: "intake-dremio" | |
jobs: | |
waiting_room: | |
name: Waiting Room | |
runs-on: ubuntu-latest | |
needs: [conda_build, pip_install] | |
# if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') | |
steps: | |
- run: echo "All builds have finished, have been approved, and ready to publish" | |
conda_build: | |
name: Build Conda | |
runs-on: "ubuntu-latest" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Fetch unshallow | |
run: git fetch --prune --tags --unshallow -f | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
miniconda-version: "latest" | |
python-version: "3.10" | |
- name: conda setup | |
run: | | |
conda install -y conda-build python-build | |
- name: conda build | |
run: | | |
source ./scripts/conda-build.sh | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: conda | |
path: dist/*.tar.bz2 | |
if-no-files-found: error | |
conda_publish: | |
name: Publish Conda | |
runs-on: ubuntu-latest | |
needs: [conda_build, waiting_room] | |
# if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: conda | |
path: dist/ | |
- name: Set environment variables | |
run: | | |
echo "TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | |
echo "CONDA_FILE=$(ls dist/*.tar.bz2)" >> $GITHUB_ENV | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
miniconda-version: "latest" | |
- name: conda setup | |
run: | | |
conda install -y anaconda-client | |
# - name: conda dev upload | |
# if: contains(env.TAG, 'a') || contains(env.TAG, 'b') || contains(env.TAG, 'rc') | |
# run: | | |
# anaconda --token ${{ secrets.CONDA_UPLOAD_TOKEN }} upload --user pyviz --label=dev $CONDA_FILE | |
# - name: conda main upload | |
# if: (!(contains(env.TAG, 'a') || contains(env.TAG, 'b') || contains(env.TAG, 'rc'))) | |
# run: | | |
# anaconda --token ${{ secrets.CONDA_UPLOAD_TOKEN }} upload --user pyviz --label=dev --label=main $CONDA_FILE | |
pip_build: | |
name: Build PyPI | |
runs-on: "ubuntu-latest" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Fetch unshallow | |
run: git fetch --prune --tags --unshallow -f | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
- name: Install build | |
run: | | |
python -m pip install build | |
- name: Build package | |
run: python -m build . | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: pip | |
path: dist/ | |
if-no-files-found: error | |
pip_install: | |
name: Install PyPI | |
runs-on: "ubuntu-latest" | |
needs: [pip_build] | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
- uses: actions/download-artifact@v4 | |
with: | |
name: pip | |
path: dist/ | |
- name: Install package | |
run: python -m pip install dist/*.whl | |
- name: Test package | |
env: | |
PACKAGE: "intake_dremio" | |
run: python -c "import $PACKAGE; print($PACKAGE.__version__)" | |
pip_publish: | |
name: Publish PyPI | |
runs-on: ubuntu-latest | |
needs: [pip_build, waiting_room] | |
# if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: pip | |
path: dist/ | |
# - name: Publish to PyPI | |
# uses: pypa/gh-action-pypi-publish@release/v1 | |
# with: | |
# user: ${{ secrets.PPU }} | |
# password: ${{ secrets.PPP }} | |
# repository-url: "https://upload.pypi.org/legacy/" | |
# jobs: | |
# conda_build: | |
# name: Build Conda Packages | |
# runs-on: "ubuntu-latest" | |
# defaults: | |
# run: | |
# shell: bash -l {0} | |
# env: | |
# CHANS_DEV: "-c conda-forge" | |
# PKG_TEST_PYTHON: "--test-python=py310" | |
# PYTHON_VERSION: "3.10" | |
# CHANS: "-c pyviz" | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - name: Fetch unshallow | |
# run: git fetch --prune --tags --unshallow -f | |
# - uses: actions/setup-python@v5 | |
# with: | |
# python-version: ${{ env.PYTHON_VERSION }} | |
# - uses: conda-incubator/setup-miniconda@v3 | |
# with: | |
# auto-update-conda: true | |
# python-version: ${{ env.PYTHON_VERSION }} | |
# - name: Set output | |
# id: vars | |
# run: echo ::set-output name=tag::${GITHUB_REF#refs/*/} | |
# - name: conda setup | |
# run: | | |
# conda config --set always_yes True | |
# conda install -c pyviz "pyctdev>=0.5" | |
# doit ecosystem_setup | |
# - name: conda build | |
# run: doit package_build $CHANS_DEV $PKG_TEST_PYTHON --test-group=all | |
# - name: conda dev upload | |
# if: (contains(steps.vars.outputs.tag, 'a') || contains(steps.vars.outputs.tag, 'b') || contains(steps.vars.outputs.tag, 'rc')) | |
# run: doit package_upload --token=${{ secrets.CONDA_UPLOAD_TOKEN }} --label=dev | |
# - name: conda main upload | |
# if: (!(contains(steps.vars.outputs.tag, 'a') || contains(steps.vars.outputs.tag, 'b') || contains(steps.vars.outputs.tag, 'rc'))) | |
# run: doit package_upload --token=${{ secrets.CONDA_UPLOAD_TOKEN }} --label=dev --label=main | |
# | |
# pip_build: | |
# name: Build PyPI Packages | |
# runs-on: "ubuntu-latest" | |
# defaults: | |
# run: | |
# shell: bash -l {0} | |
# env: | |
# CHANS_DEV: "-c pyviz/label/dev -c conda-forge" | |
# PKG_TEST_PYTHON: "--test-python=py310" | |
# PYTHON_VERSION: "3.10" | |
# CHANS: "-c pyviz" | |
# PYPI: "https://upload.pypi.org/legacy/" | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - name: Fetch unshallow | |
# run: git fetch --prune --tags --unshallow -f | |
# - uses: actions/setup-python@v5 | |
# with: | |
# python-version: ${{ matrix.python-version }} | |
# - uses: conda-incubator/setup-miniconda@v3 | |
# with: | |
# miniconda-version: "latest" | |
# - name: conda setup | |
# run: | | |
# conda config --set always_yes True | |
# conda install -c pyviz "pyctdev>=0.5" | |
# doit ecosystem_setup | |
# doit env_create $CHANS_DEV --python=$PYTHON_VERSION | |
# - name: env setup | |
# run: | | |
# eval "$(conda shell.bash hook)" | |
# conda activate test-environment | |
# doit develop_install $CHANS_DEV -o tests | |
# doit pip_on_conda | |
# - name: pip build | |
# run: | | |
# eval "$(conda shell.bash hook)" | |
# conda activate test-environment | |
# doit ecosystem=pip package_build $PKG_TEST_PYTHON --test-group=unit_deploy | |
# - name: pip upload | |
# run: | | |
# eval "$(conda shell.bash hook)" | |
# conda activate test-environment | |
# doit ecosystem=pip package_upload -u ${{ secrets.PPU }} -p ${{ secrets.PPP }} -r $PYPI |