-
Notifications
You must be signed in to change notification settings - Fork 8
132 lines (118 loc) · 3.91 KB
/
test-release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
name: test and release python package
on: push
jobs:
build-n-publish:
name: test conda setup
strategy:
matrix:
python-version: ["3.8"]
os: [macOS-latest, ubuntu-latest]
runs-on: ${{ matrix.os }}
# timeout-minutes: 480
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v2
- uses: mamba-org/setup-micromamba@v1
with:
generate-run-shell: true
micromamba-version: '1.3.1-0'
environment-file: env.yml
init-shell: >-
bash
powershell
cache-environment: true
post-cleanup: 'all'
# - name: show pytest version
# run: |
# pytest --version
# pytest
# shell: micromamba-shell {0}
# - name: Import numpy in micromamba environment (bash)
# run: python -c "import numpy"
# shell: bash -el {0}
# - name: Import numpy in micromamba environment (pwsh)
# run: python -c "import numpy"
# shell: pwsh
# - name: Run custom command in micromamba environment
# run: pytest --version
# shell: micromamba-shell {0}
# # set up mamba
# - name: Set up mamba
# uses: conda-incubator/setup-mamba@v1
# with:
# # miniconda-version: "latest"
# # environment variables don’t persist between steps in a workflow, which breaks some things in Conda.
# # Installing the environment’s packages into the base environment avoids this issue
# # activate-environment: test
# python-version: ${{ matrix.python-version }}
# miniforge-version: latest
# # mamba-version: "*"
# # channel-priority: true
# #channels: conda-forge,defaults
# auto-activate-base: false
# activate-environment: anaconda-client-env
# environment-file: env.yml
# #auto-update-conda: true
# - name: Set up conda
# uses: conda-incubator/setup-miniconda@v2
# with:
# # miniconda-version: "latest"
# # environment variables don’t persist between steps in a workflow, which breaks some things in Conda.
# # Installing the environment’s packages into the base environment avoids this issue
# # activate-environment: test
# python-version: ${{ matrix.python-version }}
# miniforge-version: latest
# # mamba-version: "*"
# # channel-priority: true
# #channels: conda-forge,defaults
# auto-activate-base: false
# activate-environment: anaconda-client-env
# environment-file: env.yml
# use-mamba: true
#auto-update-conda: true
# - name: show conda info
# run: |
# conda info
# conda list
- name: install locally and test
shell: micromamba-shell {0}
run: |
make test
- name: build and install locally
shell: micromamba-shell {0}
run: |
make
- name: Store the ${{ matrix.os }} wheel
uses: actions/upload-artifact@v2
with:
name: python-package-distributions
path: src/dist/
deploy:
name: Publish 🐍📦 to (Test)PyPI
needs:
- build-n-publish
runs-on: ubuntu-latest
steps:
- name: Download all the dists
uses: actions/download-artifact@v2
with:
name: python-package-distributions
path: dist/
- name: Publish distribution 📦 to Test PyPI
uses: pypa/gh-action-pypi-publish@master
with:
packages_dir: dist/
verbose: true
skip_existing: true
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
repository_url: https://test.pypi.org/legacy/
- name: Publish distribution 📦 to PyPI
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@master
with:
packages_dir: dist/
verbose: true
skip_existing: true
password: ${{ secrets.PYPI_API_TOKEN }}