|
3 | 3 | schedule: |
4 | 4 | # Run the tests once every 24 hours to catch dependency problems early |
5 | 5 | - cron: '0 7 * * *' |
6 | | - push: |
7 | | - branches: |
8 | | - - install-canary |
9 | 6 |
|
10 | 7 | jobs: |
11 | | - canary-installs: |
12 | | - timeout-minutes: 12 |
13 | | - runs-on: ${{ matrix.os }} |
14 | | - strategy: |
15 | | - fail-fast: false |
16 | | - matrix: |
17 | | - os: [ubuntu-latest, windows-latest, macos-13] |
18 | | - python-version: ["3.10", "3.11"] |
19 | | - defaults: |
20 | | - run: |
21 | | - shell: bash -l {0} |
22 | | - steps: |
23 | | - - name: Setup python ${{ matrix.python-version }} conda environment |
24 | | - uses: conda-incubator/setup-miniconda@v3 |
25 | | - with: |
26 | | - python-version: ${{ matrix.python-version }} |
27 | | - miniconda-version: "latest" |
28 | | - - name: Install activity-browser |
29 | | - run: | |
30 | | - conda create -y -n ab -c conda-forge --solver libmamba activity-browser python=${{ matrix.python-version }} |
31 | | - - name: Environment info |
32 | | - run: | |
33 | | - conda activate ab |
34 | | - conda list |
35 | | - conda env export |
36 | | - conda env export -f env.yaml |
37 | | - - name: Upload final environment as artifact |
38 | | - uses: actions/upload-artifact@v4 |
39 | | - with: |
40 | | - name: env-${{ matrix.os }}-${{ matrix.python-version }} |
41 | | - path: env.yaml |
42 | | - |
43 | | - # also run install with micromamba instead of conda to have a timing comparison |
44 | | - canary-installs-mamba: |
45 | | - runs-on: ${{ matrix.os }} |
46 | | - timeout-minutes: 30 |
47 | | - strategy: |
48 | | - fail-fast: false |
49 | | - matrix: |
50 | | - os: [ubuntu-latest, windows-latest, macos-latest] |
51 | | - python-version: ['3.11'] |
52 | | - defaults: |
53 | | - run: |
54 | | - shell: bash -l {0} |
55 | | - steps: |
56 | | - - name: Setup python ${{ matrix.python-version }} conda environment |
57 | | - uses: mamba-org/setup-micromamba@v1 |
58 | | - with: |
59 | | - micromamba-version: '1.5.9-1' |
60 | | - environment-name: ab |
61 | | - create-args: >- |
62 | | - python=${{ matrix.python-version }} |
63 | | - activity-browser |
64 | | - - name: Environment info |
65 | | - run: | |
66 | | - micromamba list |
67 | | - micromamba env export |
68 | | - micromamba env export > env.yaml |
69 | | - - name: Upload final environment as artifact |
70 | | - uses: actions/upload-artifact@v4 |
71 | | - with: |
72 | | - name: env-${{ matrix.os }}-${{ matrix.python-version }}-mamba |
73 | | - path: env.yaml |
74 | | - |
75 | | - conda-micromamba-comparison: |
76 | | - runs-on: ubuntu-latest |
77 | | - defaults: |
78 | | - run: |
79 | | - shell: bash -l {0} |
80 | | - needs: |
81 | | - - canary-installs |
82 | | - - canary-installs-mamba |
83 | | - steps: |
84 | | - - name: Download all artifacts |
85 | | - uses: actions/download-artifact@v4 |
86 | | - - name: show files |
87 | | - run: | |
88 | | - ls -la |
89 | | - - name: correct yaml formatting |
90 | | - # add correct indentation to make diffing possible |
91 | | - uses: mikefarah/yq@master |
92 | | - with: |
93 | | - cmd: | |
94 | | - ls | grep mamba | while read d; do yq -i $d/env.yaml; done |
95 | | - - name: diff ubuntu |
96 | | - run: | |
97 | | - diff -u env-ubuntu-latest-3.11* || : |
98 | | - - name: diff windows |
99 | | - run: | |
100 | | - diff -u env-windows-latest-3.11* || : |
101 | | - - name: diff macos |
102 | | - run: | |
103 | | - diff -u env-macos-latest-3.11* || : |
104 | | -
|
105 | 8 | canary-installs-pip: |
106 | 9 | timeout-minutes: 12 |
107 | 10 | runs-on: ${{ matrix.os }} |
108 | 11 | strategy: |
109 | 12 | fail-fast: false |
110 | 13 | matrix: |
111 | | - os: [ ubuntu-latest, windows-latest, macos-13 ] |
112 | | - python-version: [ '3.10' ] |
| 14 | + os: [ubuntu-latest, windows-latest, macos-15, macos-latest] |
| 15 | + py-version: ["3.10", "3.11", "3.12"] |
113 | 16 | defaults: |
114 | 17 | run: |
115 | 18 | shell: bash -e {0} |
|
0 commit comments