CI: Strict channel Priority
State: closed

- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit) for how to run them
- [ ] whatsnew entry

Hopefully, this makes the slow Database CI that takes 6+ hours go faster(most of the time is in the resolve environments step). Also turns on the database builds for commits to 1.3.x which was left out due to an oversight.

Unfortunately, this doesn't work for posix since the env doesn't resolve with strict channel priority.

Labels:
name: CI
description: Continuous Integration

Comments:
thanks!
@meeseeksdev backport 1.3.x
Owee, I'm MrMeeseeks, Look at me.

There seem to be a conflict, please backport manually. Here are approximate instructions:

1. Checkout backport branch and update it.

```
$ git checkout 1.3.x
$ git pull
```

2. Cherry pick the first parent branch of the this PR on top of the older branch:
```
$ git cherry-pick -m1 849d38aabfa002cd3d2821f4a8c98ffa390ad15d
```

3. You will likely have some merge/cherry-pick conflict here, fix them and commit:

```
$ git commit -am 'Backport PR #43677: CI: Strict channel Priority'
```

4. Push to a named branch :

```
git push YOURFORK 1.3.x:auto-backport-of-pr-43677-on-1.3.x
```

5. Create a PR against branch 1.3.x, I would have named this PR:

> "Backport PR #43677 on branch 1.3.x (CI: Strict channel Priority)"

And apply the correct labels and milestones.

Congratulation you did some good work! Hopefully your backport PR will be tested by the continuous integration and merged soon!

Remember to remove `Still Needs Manual Backport` label once the PR gets merged.

If these instruction are inaccurate, feel free to [suggest an improvement](https://github.com/MeeseeksBox/MeeseeksDev).
                
Owee, I'm MrMeeseeks, Look at me.

There seem to be a conflict, please backport manually. Here are approximate instructions:

1. Checkout backport branch and update it.

```
$ git checkout 1.3.x
$ git pull
```

2. Cherry pick the first parent branch of the this PR on top of the older branch:
```
$ git cherry-pick -m1 849d38aabfa002cd3d2821f4a8c98ffa390ad15d
```

3. You will likely have some merge/cherry-pick conflict here, fix them and commit:

```
$ git commit -am 'Backport PR #43677: CI: Strict channel Priority'
```

4. Push to a named branch :

```
git push YOURFORK 1.3.x:auto-backport-of-pr-43677-on-1.3.x
```

5. Create a PR against branch 1.3.x, I would have named this PR:

> "Backport PR #43677 on branch 1.3.x (CI: Strict channel Priority)"

And apply the correct labels and milestones.

Congratulation you did some good work! Hopefully your backport PR will be tested by the continuous integration and merged soon!

Remember to remove `Still Needs Manual Backport` label once the PR gets merged.

If these instruction are inaccurate, feel free to [suggest an improvement](https://github.com/MeeseeksBox/MeeseeksDev).
                
Would it be possible that each CI step caches the valid package combinations for let's say 24h?

If the CI was using poetry, we could use the much faster `poetry install` (reads the list of package combinations from poetry.lock) instead of the much slower `poetry update`. I'm sure there is some conda equivalent.