-
Notifications
You must be signed in to change notification settings - Fork 6
86 lines (78 loc) · 2.85 KB
/
tests.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
name: Tests
on:
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: '30 6 * * *'
concurrency:
# Concurrency group that uses the workflow name and PR number if available
# or commit SHA as a fallback. If a new build is triggered under that
# concurrency group while a previous build is running it will be canceled.
# Repeated pushes to a PR will cancel all previous builds, while multiple
# merges to main will not cancel.
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
build_recipe:
name: Build conda recipe (${{ matrix.subdir }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
subdir: linux-64
- os: macos-13 # ensure x86_64
subdir: osx-64
- os: macos-14 # FUTURE: Use -latest once GHA has fully migrated
subdir: osx-arm64
- os: windows-latest
subdir: win-64
env:
PYTHONUNBUFFERED: "1"
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: conda-incubator/setup-miniconda@v3
with:
auto-activate-base: true
activate-environment: ""
run-post: false
- name: Install dependencies
shell: bash -el {0}
run: conda install -y "conda-build!=3.28.0,!=3.28.1" anaconda-client
- name: Build recipe
shell: bash -el {0}
env:
CONDA_BLD_PATH: ${{ runner.temp }}/bld
run: conda build recipe --override-channels -c conda-forge
- uses: actions/upload-artifact@v4
if: github.event_name == 'pull_request'
with:
name: conda-standalone-${{ matrix.subdir }}
path: ${{ runner.temp }}/bld/${{ matrix.subdir }}/conda-standalone-*.*
- name: Upload package to anaconda.org
shell: bash -el {0}
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
env:
CONDA_BLD_PATH: ${{ runner.temp }}/bld
ANACONDA_ORG_TOKEN: ${{ secrets.ANACONDA_ORG_CONDA_CANARY_TOKEN }}
ANACONDA_ORG_CHANNEL: conda-canary
ANACONDA_ORG_LABEL: dev
run: |
anaconda \
--token="${ANACONDA_ORG_TOKEN}" \
upload \
--force \
--register \
--no-progress \
--user="${ANACONDA_ORG_CHANNEL}" \
--label="${ANACONDA_ORG_LABEL}" \
${CONDA_BLD_PATH}/${{ matrix.subdir }}/conda-standalone-*.*
echo "Uploaded the following files:"
basename -a ${CONDA_BLD_PATH}/${{ matrix.subdir }}/conda-standalone-*.*
echo "Use this command to try out the build:"
echo " conda install -c ${ANACONDA_ORG_CHANNEL}/label/${ANACONDA_ORG_LABEL} conda-standalone"