Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug with GNU make on windows jobs #7253

Closed
3 of 10 tasks
felipec opened this issue Mar 8, 2023 · 19 comments
Closed
3 of 10 tasks

Bug with GNU make on windows jobs #7253

felipec opened this issue Mar 8, 2023 · 19 comments

Comments

@felipec
Copy link

felipec commented Mar 8, 2023

Description

It took me a long time to figure out what was the problem, but it seems there's a problem in make when the configured shell ends in .exe, for example bash works, but not bash.exe, and the shell I see by default is sh.exe.

I tried configuring the sell manually:

make SHELL='C:/Program Files/Git/usr/bin/bash'

And that works, but only on the top level Makefile, when doing a submake with $(MAKE) -C the variable is reset to sh.exe, and then I see this error:

Windows Subsystem for Linux has no installed distributions.

Distributions can be installed by visiting the Microsoft Store:

https://aka.ms/wslstore

So presumably make is ignoring the default SHELL variable and running C:/Windows/System32/bash.exe for some reason.

I found this curious message online for CMake:

  sh.exe was found in your PATH, here:

  C:/Program Files/Git/usr/bin/sh.exe

  For MinGW make to work correctly sh.exe must NOT be in your path.

  Run cmake from a shell that does not have sh.exe in your PATH.

  If you want to use a UNIX shell, then use MSYS Makefiles.

I see a ton of people mentioning, but no one explains why make doesn't work, but I can confirm that it doesn't.

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 18.04
  • Ubuntu 20.04
  • Ubuntu 22.04
  • macOS 11
  • macOS 12
  • Windows Server 2019
  • Windows Server 2022

Image version and build link

2.302.1

Is it regression?

I don't know

Expected behavior

I would expect make to just work (even with sub-makes).

Actual behavior

make doesn't work, it's using a wrong shell (not bash).

Repro steps

  1. Run a job with windows-latest
  2. Run make

If you need an way to reproduce this, I probably can create a very simple repo that reproduces it, but any project using make should be affected.

@felipec
Copy link
Author

felipec commented Mar 8, 2023

I forgot to mention something else, the failure only happens when the Makefile runs a bash script directly, like:

./script.sh

If it's a command it works fine (IIRC), like:

bash script.sh

Or:

./script.sh || true

@sergei-pyshnoi
Copy link
Contributor

Hello @felipec. Can you please provide more detailed repro steps with code and pipeline example?

@felipec
Copy link
Author

felipec commented Mar 8, 2023

@sergei-pyshnoi OK, I created a very simple repo that reproduces the issue: felipec/make-simple. It literally does nothing but call a simple script in many ways.

Here's a test run. As you can see it works perfectly fine in ubuntu, but not windows.

## info
main SHELL C:/Program Files/Git/bin/sh.exe
main MAKE C:/ProgramData/Chocolatey/lib/mingw/tools/install/mingw64/bin/mingw32-make.exe
## test
sub/foo.t
Windows Subsystem for Linux has no installed distributions.

mingw32-make: *** [makefile:[10]: test] Error 1
Distributions can be installed by visiting the Microsoft Store:

https://aka.ms/wslstore

Error: Process completed with exit code 1.

The only way to make the test in the subdir work is to specify -C sub in the command, and the SHELL variable:

make SHELL='C:/Program Files/Git/usr/bin/bash' -C sub

Here's a run where that works.

I don't know how to tell GitHub actions to run all the steps regardless (I'm don't know powershell, although I guess I could use bash and do || true).

@felipec
Copy link
Author

felipec commented Mar 8, 2023

Ah, make -i ignores all errors and now I was able to test all the steps in this run.

test sh.exe/bash.exe sh/bash
test (sub/foo.t) Fail OK
straight (bash -c sub/foo.t) OK OK
sub-test (./foo.t) Fail OK
sub-straight-test (bash -c ./foo.t) OK OK

As you can see the default shell just doesn't work. I don't know how make is picking it.

In theory I could just do make SHELL='C:/Program Files/Git/usr/bin/bash' but as you can see in the step "Test with shell" that variable doesn't get carried to the sub-test ($(MAKE) -C sub test), I don't know why.

@sergei-pyshnoi
Copy link
Contributor

Thanks for detailed information. We will take a look.

@ilia-shipitsin
Copy link
Contributor

@felipec , git bash is "mingw" app while "make" is native win app. I'm afraid that here we observe one of mingw interoperation side effects ((

@felipec
Copy link
Author

felipec commented Mar 10, 2023

What do you mean native win app? I did make -v everywhere (on the runner shell, in the make shell, and even $(MAKE) -v, all of them show the same version:

GNU Make 4.3
Built for x86_64-w64-mingw32
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

@felipec
Copy link
Author

felipec commented Mar 10, 2023

As you can see from this job, the issue doesn't just happen with sh.exe, but bash.exe as well.

This works: 'C:/Program Files/Git/bin/sh', this doesn't 'C:/Program Files/Git/bin/sh.exe'.

Maybe make is checking the extension and doing something different?

@ilia-shipitsin
Copy link
Contributor

I planned to run make with debug -d and compare output. Maybe it will give some clue

@felipec
Copy link
Author

felipec commented Mar 10, 2023

@ilia-shipitsin Here it is: test with debug.

The interesting part is this with sh:

CreateProcess(NULL,C:/Program Files/Git/bin/sh -c sub/foo.t,...)

And this with sh.exe:

CreateProcess(NULL,bash D:\a\make-simple\make-simple\sub\foo.t,...)

@ilia-shipitsin
Copy link
Contributor

can you try bash as well in order to compare "bash" and "bash" ?

@felipec
Copy link
Author

felipec commented Mar 10, 2023

I'm not sure I follow, but I called bash sub/foo.t directly in this job.

With C:/Program Files/Git/bin/sh it's:

CreateProcess(NULL,C:/Program Files/Git/bin/sh -c "bash sub/foo.t",...)

With C:/Program Files/Git/bin/sh.exe it's:

CreateProcess(C:\Program Files\Git\bin\bash.exe,bash sub/foo.t,...)

@sergei-pyshnoi sergei-pyshnoi self-assigned this Mar 16, 2023
@sergei-pyshnoi
Copy link
Contributor

Hello @felipec . Sorry for the late response. Please, can you take a look on result of this job . Look like every tests was passed. I am just changed #!/bin/bash => #!/bin/sh in the script. Look like it was reason why is make choses wrong executor of shell.

@felipec
Copy link
Author

felipec commented Mar 17, 2023

Look like every tests was passed. I am just changed #!/bin/bash => #!/bin/sh in the script.

Yes, I thought that might work, but /bin/bash should work as well.

Look like it was reason why is make choses wrong executor of shell.

No, this comes from the Unix world, a script that starts with #!/bin/bash is supposed to be interpreted by a program /bin/bash: see shebang.

For example a program /tmp/test.perl like this:

#!/bin/perl

print("foo\n")

Is supposed to be interpreted by perl, so doing /tmp/test.perl or perl /tmp/test.perl should be equivalent.

If the shebang was #!/bin/python then that should be the interpreter, but it could even be #!/bin/cat.

GNU make isn't making a mistake here, a foo.t script that starts !#/bin/bash is meant to be interpreted by bash. Note that in some Linux distributions this does make a difference, as /bin/sh could be a POSIX-compatible shell, not necessarily bash, so a script with bash-specific features would fail with sh but succeed with bash.


The question is why does this fail:

CreateProcess(NULL,bash D:\a\make-simple\make-simple\sub\foo.t,...)

But this succeed:

CreateProcess(NULL,sh D:\a\make-simple\make-simple\sub\bar.t,...)

@sergei-pyshnoi
Copy link
Contributor

@felipec After some testing, I found that GNU make + GitBash works a little differently on Windows than it does on UNIX systems. For using bash as interpreter in this case you can put #!/usr/bin/env bash as shebang to your script. Here is success result of running make command.

@felipec
Copy link
Author

felipec commented Mar 20, 2023

After some testing, I found that GNU make + GitBash works a little differently on Windows than it does on UNIX systems.

Yes, that's explained in the documentation of GNU make: Choosing a Shell in DOS and Windows.

For using bash as interpreter in this case you can put #!/usr/bin/env bash as shebang to your script.

Yes, that changes this:

CreateProcess(NULL,bash D:\a\make-simple\make-simple\sub\foo.t,...)

To this:

CreateProcess(NULL,env bash D:\a\make-simple\make-simple\sub\foo.t,...)

But the question still remains: why doesn't the first one works? I did some tests and I don't think the $PATH environment variable is wrong, so plain bash should work.

This seems to be a problem with Windows itself, maybe there's some interaction with WSL?

For the record, env should not be needed in GNU make, its purpose is to avoid typing #!/usr/bin/python, which hard-codes the path in Linux, when the user might want to change $PATH and use a different binary, for example /usr/local/bin/python.

@sergei-pyshnoi
Copy link
Contributor

@felipec . After investigation, we found that is after disabling WSL feature, make starts running the correct bash. Other setting like installation path end PATH variable is correct. The main problem is how exactly make running bash process. Unfortunately we can not do anything with this and WSL can`t be disabled in runtime. Please use provided workarounds. I am closing issue for now, but if you have additional question feel free to ask.

jayqi added a commit to drivendataorg/cookiecutter-data-science that referenced this issue Aug 31, 2023
jayqi added a commit to drivendataorg/cookiecutter-data-science that referenced this issue Aug 31, 2023
jayqi added a commit to drivendataorg/cookiecutter-data-science that referenced this issue Sep 5, 2023
* Add windows to CI

* Try different shebang per actions/runner-images#7253 (comment)

* Revert "Try different shebang per actions/runner-images#7253 (comment)"

This reverts commit 4a8f093.

* Try setting PATH

* Reduce matrix for testing

* Set default shell to bash

* Fix wrong syntax

* Explicitly set bash path in test

* Fix syntax error

* Fix mistake

* Try installing GNU make instead of using available mingw32-make

* Undo explicit bash executable

* Set conda executable

* Fix black

* Add conda directory to system paths

* Clearer phony declaration

* Add diagnostic printing

* More printing

* Check which make

* Try adding Git bin directory to path

* Explicit bash shell

* Try adding explicit PATH

* Try making path style consistent

* Explicit conda executable

* try using which

* Try Scripts directory for adding to PATH

* Try removing unnecessary conda stuff

* Separate check step

* Install from conda-forge

* Missing colon

* Try setup miniconda to see if it's faster

* Change default shell

* Use conda environment

* Skip which conda

* Add to path anyways

* Try micromamba

* Use mamba as conda executable

* Fix typo

* micromamba shell hook

* Missing quote

* Full micromamba path; add caching

* Try path instead

* Remove backslash

* Use mambaforge instead of micromamba

* Add conda to PATH

* Use conda activate

* Try permissions hack

* Remove unneeded packages

* Use different repo name per config

* Cleanup

* Fallbacks

* Fix backwards check

* Print test durations

* Try conda and defaults again

* Don't change shell

* Normal shell

* Clean up

* More cleanup

* More cleanup

---------

Co-authored-by: Jay Qi <[email protected]>
milescsmith pushed a commit to milescsmith/cookiecutter-data-science that referenced this issue Sep 20, 2023
* Add windows to CI

* Try different shebang per actions/runner-images#7253 (comment)

* Revert "Try different shebang per actions/runner-images#7253 (comment)"

This reverts commit 4a8f093.

* Try setting PATH

* Reduce matrix for testing

* Set default shell to bash

* Fix wrong syntax

* Explicitly set bash path in test

* Fix syntax error

* Fix mistake

* Try installing GNU make instead of using available mingw32-make

* Undo explicit bash executable

* Set conda executable

* Fix black

* Add conda directory to system paths

* Clearer phony declaration

* Add diagnostic printing

* More printing

* Check which make

* Try adding Git bin directory to path

* Explicit bash shell

* Try adding explicit PATH

* Try making path style consistent

* Explicit conda executable

* try using which

* Try Scripts directory for adding to PATH

* Try removing unnecessary conda stuff

* Separate check step

* Install from conda-forge

* Missing colon

* Try setup miniconda to see if it's faster

* Change default shell

* Use conda environment

* Skip which conda

* Add to path anyways

* Try micromamba

* Use mamba as conda executable

* Fix typo

* micromamba shell hook

* Missing quote

* Full micromamba path; add caching

* Try path instead

* Remove backslash

* Use mambaforge instead of micromamba

* Add conda to PATH

* Use conda activate

* Try permissions hack

* Remove unneeded packages

* Use different repo name per config

* Cleanup

* Fallbacks

* Fix backwards check

* Print test durations

* Try conda and defaults again

* Don't change shell

* Normal shell

* Clean up

* More cleanup

* More cleanup

---------

Co-authored-by: Jay Qi <[email protected]>
ctrueden added a commit to apposed/jaunch that referenced this issue Feb 2, 2024
This works around a weird problem with make + bash, where there is some
sort of mismatch between the MinGW programs and the built-in Windows
ones. It may happen because Jaunch's Makefile targets call shell scripts
that require bash, and somehow the wrong bash is chosen, which triggers
a Windows error about how WSL needs to be installed.

I'm mostly just speculating. But whatever is actually going on, in this
case, using a shebang of `#!/usr/bin/env bash` avoids the issue.

See also actions/runner-images#7253.
felipec added a commit to felipec/git-remote-hg that referenced this issue Mar 7, 2024
It's not working. Probably related to actions/runner-images#7253.

Signed-off-by: Felipe Contreras <[email protected]>
pjbull added a commit to drivendataorg/cookiecutter-data-science that referenced this issue May 22, 2024
* [WIP] New version with cleaner options (#162)

* WIP - New version with cleaner options

* Fix find-replace error (#177)

* Remove unnecessary .gitkeep

* Remove unused tox.ini

* Split reqs into dev/non-dev

* Add basic packages support

* Add tests for testing environment creation and requirements

* Set up CI with Azure Pipelines (#194)

* Change archived asciinema example (#163)

* Change archived asciinema example

* Update README.md

Fix Asciinema powerline error

* Update docs to show updated asciinema example

* Added source and destination to Make data target (#169)

* Fix broken Airflow link (#182)

* Fixed: Typo in Makefile (#184)

Fixed typo in Makefile, section "Set up python interpreter environment": intalled --> installed

* Set up CI with Azure Pipelines

[skip ci]

* Update azure-pipelines.yml for Azure Pipelines

* Update azure-pipelines.yml for Azure Pipelines

* Update azure-pipelines.yml for Azure Pipelines

* str paths for windows support

* handle multiple data providers (#199)

* Add missing env directory bin/activate path

* Remove version from PYTHON_INTERPRETER command

* Search for virtualenvwrapper.sh path if executable not found

* Try chardet for character encoding detection

* Specify python and virtualenv binaries for virtualenvwrapper

* Add shebang to virtualenvwrapper.sh

* Diagnostic

* Try virtualenvwrapper-win

* Set encoding if detected None

* Fixes to Mac and Windows tests on Azure pipelines (#217)

* Temporarily comment out py36

* Update azure-pipelines.yml

* Fix tests on Windows and Mac (#1)

* Temporarily remove py37

* Update virtualenv_harness.sh

* put py37 back in

* Set encoding to utf-8

* Comment out rmvirtualenv

* Update test_creation.py

* Update virtualenv_harness.sh

* Add --show-capture

* Update azure-pipelines.yml

* Update azure-pipelines.yml

* Update test_creation.py

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update Makefile

* Update virtualenv_harness.sh

* Update cookiecutter.json

* Update cookiecutter.json

* Update virtualenv_harness.sh

* Update Makefile

* Update Makefile

* Update Makefile

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update Makefile

* Update Makefile

* Update Makefile

* Update Makefile

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update Makefile

* Update Makefile

* Update virtualenv_harness.sh

* Update Makefile

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update test_creation.py

* Update azure-pipelines.yml

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update cookiecutter.json

* Update conda_harness.sh

* Update conda_harness.sh

* Update conda_harness.sh

Co-authored-by: Eric Jalbert <[email protected]>
Co-authored-by: Jonathan Raviotta <[email protected]>
Co-authored-by: Wes Roach <[email protected]>
Co-authored-by: Christopher Geis <[email protected]>
Co-authored-by: Peter Bull <[email protected]>
Co-authored-by: Ian Preston <[email protected]>
Co-authored-by: Jay Qi <[email protected]>
Co-authored-by: inchiosa <[email protected]>

* More graceful deprecation

* Make tests pass locally

* test version match installed version

* Remove unused imports

* Unremove used import

* Move to GH Actions

* Fix typo

* Test non-windows

* Add netlify configs

* Update suggestion to keep using deprecated cookiecutter template (#231)

* Add mkdocs requirements file to docs directory

* Try setting python version in runtime txt for netlify

* Trigger build

* Python 3.8 netlify

* Python 3.6 netlify

* Do not specify python runtime for netlify

* Use 3.7

This reverts commit 898d7d3.

Co-authored-by: James Myatt <[email protected]>
Co-authored-by: drivendata <[email protected]>
Co-authored-by: Eric Jalbert <[email protected]>
Co-authored-by: Jonathan Raviotta <[email protected]>
Co-authored-by: Wes Roach <[email protected]>
Co-authored-by: Christopher Geis <[email protected]>
Co-authored-by: Ian Preston <[email protected]>
Co-authored-by: Jay Qi <[email protected]>
Co-authored-by: inchiosa <[email protected]>
Co-authored-by: Robert Gibboni <[email protected]>

* docs: add dev-requirements, remove tox.ini (#254)

* Formatting

* Docs and test cleanup

* 3.10 specificaiton

* Passing tests and lint

* testing improvements and hooks refactor

* Lint, format, license (#247)

* format config files

* make format

* update readme

* no license, py version, update lint format commands

* revert accidental lic removal

Co-authored-by: Peter Bull <[email protected]>

* Updating the Makefile

* Removing deprecation message from v2

* update pip, reqs, test CI commands

* Update docs build

* Revert netlify changes

* Use default netlify build runtime

* make gsutil rsync recursive (#297)

* make gsutil rsync recursive

* reformatted with black

* add threaded flag for gsutil rsync

* V2 bug fixes, modernization, house-keeping, and README update (#313)

* Escape single quotes in sphinx conf. Fixes #142

* Use pyproject.toml package metadata. Fix quote escaping. Fixes #248

* Remove unnecessary pep8 configuration

* Update gitignores

* Use pyproject.toml for package metadata

* Update README for v2

* Add Python 3.11 and 3.12 to CI

* Remove unneeded requirements file reference

* Docs updates

* Update linting and tests

* Fix lint

* Missed one

* Split out code quality job

* Hold on 3.12 for now

* Fix wrong conda environment command

* Fix option name

* Change back and remove python spec since it should already be in environment.yml

* Change hyperlinks to https that support it

* Update joblib link. Supersedes #251

* Remove Python 3.12 for now

* Pin Python version in project package metadata

* Use compatible release operator

---------

Co-authored-by: Jay Qi <[email protected]>

* Add windows to CI (#319)

* Add windows to CI

* Try different shebang per actions/runner-images#7253 (comment)

* Revert "Try different shebang per actions/runner-images#7253 (comment)"

This reverts commit 4a8f093.

* Try setting PATH

* Reduce matrix for testing

* Set default shell to bash

* Fix wrong syntax

* Explicitly set bash path in test

* Fix syntax error

* Fix mistake

* Try installing GNU make instead of using available mingw32-make

* Undo explicit bash executable

* Set conda executable

* Fix black

* Add conda directory to system paths

* Clearer phony declaration

* Add diagnostic printing

* More printing

* Check which make

* Try adding Git bin directory to path

* Explicit bash shell

* Try adding explicit PATH

* Try making path style consistent

* Explicit conda executable

* try using which

* Try Scripts directory for adding to PATH

* Try removing unnecessary conda stuff

* Separate check step

* Install from conda-forge

* Missing colon

* Try setup miniconda to see if it's faster

* Change default shell

* Use conda environment

* Skip which conda

* Add to path anyways

* Try micromamba

* Use mamba as conda executable

* Fix typo

* micromamba shell hook

* Missing quote

* Full micromamba path; add caching

* Try path instead

* Remove backslash

* Use mambaforge instead of micromamba

* Add conda to PATH

* Use conda activate

* Try permissions hack

* Remove unneeded packages

* Use different repo name per config

* Cleanup

* Fallbacks

* Fix backwards check

* Print test durations

* Try conda and defaults again

* Don't change shell

* Normal shell

* Clean up

* More cleanup

* More cleanup

---------

Co-authored-by: Jay Qi <[email protected]>

* Optionally remove boilerplate in initial setup (#286)

* Make skeleton code optional

* Updates to skeleton code

* make lint pass

* add --profile black to isort command for black compatibility

* add --profile black to generated Makefile

* remove setup.py from linting/formatting;

* fix code scaffold tests; revert adding isort to project makefile

---------

Co-authored-by: Peter Bull <[email protected]>

* Replace sphinx with mkdocs as default docs option, add none option (#295)

* create alternative mkdocs docs path and add option to use sphinx, mkdocs, or none

* add tests that docs folder looks correct

* add author if provided to mkdocs config

* fix yml typo

* make mkdocs default, do not remove sphinx yet

* reconfigure tests to cycle through all possible values for fields that are nominally independent

* change formatting

* cast docs paths to strings to satisfy shutil move in python 3.8

* remove sphinx

* remove docs folder tree; make docs removal generic

* Create new screencast automatically on docs build (#339)

* Create new screencast automatically on docs build

* dev reqs

* Remove tree from replay

* Update docs/scripts/generate-termynal.py

Co-authored-by: Chris Kucharczyk <[email protected]>

* Update docs/scripts/generate-termynal.py

Co-authored-by: Chris Kucharczyk <[email protected]>

* Apply suggestions from code review

Co-authored-by: Chris Kucharczyk <[email protected]>

* Apply suggestions from code review

Co-authored-by: Chris Kucharczyk <[email protected]>

---------

Co-authored-by: Chris Kucharczyk <[email protected]>

* Update Makefile help command to work on all platforms (#335)

* update python script and variable reference so help printing works on all platforms

* add blank make command testing output of available commands

* add test for makefile help text

* Update docs to material theme (#341)

* update docs to material theme

* update style and logo

* rearrange and update content

* docs/requirements.txt

* update workflow to skip if docs-only change, remove netlify config

* write to tempfile instead of hardcoded dir to prevent unintended persistent files from mkdocs-gen-files

* Update docs to use multiple pages (#344)

* change site structure to use multiple pages

* add navigation.instant

* remove padding override

* remove toc.follow

* revert content change

* Add workflows for Python 3.12 (#329)

* add python 3.12 vm env to test suite and update pyproject.toml classifiers to indicate support

* Bump actions versions

* Swap out fake/abandoned jupyter metapackage for jupyterlab and notebook

* Try conda-forge

---------

Co-authored-by: Jay Qi <[email protected]>

* Update opinions (#345)

* update opinions

* fix dag link

* typos and formatting

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* try rewrite of dag section

* formatting nits and adding subtitles

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* fix link to contributing page

---------

Co-authored-by: Jay Qi <[email protected]>

* Badge + docs updates (#348)

* Badge on docs updates

* default to CCDS template

* Style updates

* darken links a bit

* block quotes

* formatting and bare ccds

* Apply suggestions from code review

Co-authored-by: Chris Kucharczyk <[email protected]>

---------

Co-authored-by: Chris Kucharczyk <[email protected]>

* Minor CSS Tweaks (#349)

* tweak code block formatting and color correctness

* update note infobox styles

* Add commandline options table (#350)

* Add commandline options table

* wack isort ordering

* Make sections

* Format

* Use shutil.copytree instead of distutils (#353)

Co-authored-by: Jay Qi <[email protected]>

* Add documentation about Make on Windows (#355)

* Fix typo

* Add instructions for Make on Windows

* Fix typo

* Copy edits

* Add note about help

* Consistent code formatting

---------

Co-authored-by: Jay Qi <[email protected]>

* V2 Modernize boilerplate (#354)

* WIP

* Remove setuptools, add tqdm

* Lint

* Don't need setuptools or wheel

* Add comment fences

* Can't believe E266 is a thing

* Whitespace

* Add linting to tests

* Remove template from project linting and formatting

* Reorganize boilerplate modules

* Get rid of editable check

* Actually run linting

* Actually test linting

* Update verify_files test

* Update verify_folders

* Remove duplicate file

* Fix lint

---------

Co-authored-by: Jay Qi <[email protected]>

* Updates from review of V2 docs (#362)

* Review comments

* 3.8 minimum

* macos-13

* try setting up conda

* don't use imported variable

* Update docs/docs/opinions.md

Co-authored-by: Chris Kucharczyk <[email protected]>

---------

Co-authored-by: Chris Kucharczyk <[email protected]>

---------

Co-authored-by: James Myatt <[email protected]>
Co-authored-by: drivendata <[email protected]>
Co-authored-by: Eric Jalbert <[email protected]>
Co-authored-by: Jonathan Raviotta <[email protected]>
Co-authored-by: Wes Roach <[email protected]>
Co-authored-by: Christopher Geis <[email protected]>
Co-authored-by: Ian Preston <[email protected]>
Co-authored-by: Jay Qi <[email protected]>
Co-authored-by: inchiosa <[email protected]>
Co-authored-by: Robert Gibboni <[email protected]>
Co-authored-by: Phil <[email protected]>
Co-authored-by: Tammy Glazer <[email protected]>
Co-authored-by: AllenDowney <[email protected]>
Co-authored-by: Kristian Bodolai <[email protected]>
Co-authored-by: Jay Qi <[email protected]>
Co-authored-by: Chris Kucharczyk <[email protected]>
sadhchanGitHub pushed a commit to sadhchanGitHub/data_science_projects that referenced this issue Dec 6, 2024
* [WIP] New version with cleaner options (#162)

* WIP - New version with cleaner options

* Fix find-replace error (#177)

* Remove unnecessary .gitkeep

* Remove unused tox.ini

* Split reqs into dev/non-dev

* Add basic packages support

* Add tests for testing environment creation and requirements

* Set up CI with Azure Pipelines (#194)

* Change archived asciinema example (#163)

* Change archived asciinema example

* Update README.md

Fix Asciinema powerline error

* Update docs to show updated asciinema example

* Added source and destination to Make data target (#169)

* Fix broken Airflow link (#182)

* Fixed: Typo in Makefile (#184)

Fixed typo in Makefile, section "Set up python interpreter environment": intalled --> installed

* Set up CI with Azure Pipelines

[skip ci]

* Update azure-pipelines.yml for Azure Pipelines

* Update azure-pipelines.yml for Azure Pipelines

* Update azure-pipelines.yml for Azure Pipelines

* str paths for windows support

* handle multiple data providers (#199)

* Add missing env directory bin/activate path

* Remove version from PYTHON_INTERPRETER command

* Search for virtualenvwrapper.sh path if executable not found

* Try chardet for character encoding detection

* Specify python and virtualenv binaries for virtualenvwrapper

* Add shebang to virtualenvwrapper.sh

* Diagnostic

* Try virtualenvwrapper-win

* Set encoding if detected None

* Fixes to Mac and Windows tests on Azure pipelines (#217)

* Temporarily comment out py36

* Update azure-pipelines.yml

* Fix tests on Windows and Mac (#1)

* Temporarily remove py37

* Update virtualenv_harness.sh

* put py37 back in

* Set encoding to utf-8

* Comment out rmvirtualenv

* Update test_creation.py

* Update virtualenv_harness.sh

* Add --show-capture

* Update azure-pipelines.yml

* Update azure-pipelines.yml

* Update test_creation.py

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update Makefile

* Update virtualenv_harness.sh

* Update cookiecutter.json

* Update cookiecutter.json

* Update virtualenv_harness.sh

* Update Makefile

* Update Makefile

* Update Makefile

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update Makefile

* Update Makefile

* Update Makefile

* Update Makefile

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update Makefile

* Update Makefile

* Update virtualenv_harness.sh

* Update Makefile

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update test_creation.py

* Update azure-pipelines.yml

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update cookiecutter.json

* Update conda_harness.sh

* Update conda_harness.sh

* Update conda_harness.sh

Co-authored-by: Eric Jalbert <[email protected]>
Co-authored-by: Jonathan Raviotta <[email protected]>
Co-authored-by: Wes Roach <[email protected]>
Co-authored-by: Christopher Geis <[email protected]>
Co-authored-by: Peter Bull <[email protected]>
Co-authored-by: Ian Preston <[email protected]>
Co-authored-by: Jay Qi <[email protected]>
Co-authored-by: inchiosa <[email protected]>

* More graceful deprecation

* Make tests pass locally

* test version match installed version

* Remove unused imports

* Unremove used import

* Move to GH Actions

* Fix typo

* Test non-windows

* Add netlify configs

* Update suggestion to keep using deprecated cookiecutter template (#231)

* Add mkdocs requirements file to docs directory

* Try setting python version in runtime txt for netlify

* Trigger build

* Python 3.8 netlify

* Python 3.6 netlify

* Do not specify python runtime for netlify

* Use 3.7

This reverts commit 898d7d3cf6008e47e89ed607167fad7aee1e065e.

Co-authored-by: James Myatt <[email protected]>
Co-authored-by: drivendata <[email protected]>
Co-authored-by: Eric Jalbert <[email protected]>
Co-authored-by: Jonathan Raviotta <[email protected]>
Co-authored-by: Wes Roach <[email protected]>
Co-authored-by: Christopher Geis <[email protected]>
Co-authored-by: Ian Preston <[email protected]>
Co-authored-by: Jay Qi <[email protected]>
Co-authored-by: inchiosa <[email protected]>
Co-authored-by: Robert Gibboni <[email protected]>

* docs: add dev-requirements, remove tox.ini (#254)

* Formatting

* Docs and test cleanup

* 3.10 specificaiton

* Passing tests and lint

* testing improvements and hooks refactor

* Lint, format, license (#247)

* format config files

* make format

* update readme

* no license, py version, update lint format commands

* revert accidental lic removal

Co-authored-by: Peter Bull <[email protected]>

* Updating the Makefile

* Removing deprecation message from v2

* update pip, reqs, test CI commands

* Update docs build

* Revert netlify changes

* Use default netlify build runtime

* make gsutil rsync recursive (#297)

* make gsutil rsync recursive

* reformatted with black

* add threaded flag for gsutil rsync

* V2 bug fixes, modernization, house-keeping, and README update (#313)

* Escape single quotes in sphinx conf. Fixes #142

* Use pyproject.toml package metadata. Fix quote escaping. Fixes #248

* Remove unnecessary pep8 configuration

* Update gitignores

* Use pyproject.toml for package metadata

* Update README for v2

* Add Python 3.11 and 3.12 to CI

* Remove unneeded requirements file reference

* Docs updates

* Update linting and tests

* Fix lint

* Missed one

* Split out code quality job

* Hold on 3.12 for now

* Fix wrong conda environment command

* Fix option name

* Change back and remove python spec since it should already be in environment.yml

* Change hyperlinks to https that support it

* Update joblib link. Supersedes #251

* Remove Python 3.12 for now

* Pin Python version in project package metadata

* Use compatible release operator

---------

Co-authored-by: Jay Qi <[email protected]>

* Add windows to CI (#319)

* Add windows to CI

* Try different shebang per actions/runner-images#7253 (comment)

* Revert "Try different shebang per actions/runner-images#7253 (comment)"

This reverts commit 4a8f093e6e94f7b88891dcb9970bfa6b768fcb43.

* Try setting PATH

* Reduce matrix for testing

* Set default shell to bash

* Fix wrong syntax

* Explicitly set bash path in test

* Fix syntax error

* Fix mistake

* Try installing GNU make instead of using available mingw32-make

* Undo explicit bash executable

* Set conda executable

* Fix black

* Add conda directory to system paths

* Clearer phony declaration

* Add diagnostic printing

* More printing

* Check which make

* Try adding Git bin directory to path

* Explicit bash shell

* Try adding explicit PATH

* Try making path style consistent

* Explicit conda executable

* try using which

* Try Scripts directory for adding to PATH

* Try removing unnecessary conda stuff

* Separate check step

* Install from conda-forge

* Missing colon

* Try setup miniconda to see if it's faster

* Change default shell

* Use conda environment

* Skip which conda

* Add to path anyways

* Try micromamba

* Use mamba as conda executable

* Fix typo

* micromamba shell hook

* Missing quote

* Full micromamba path; add caching

* Try path instead

* Remove backslash

* Use mambaforge instead of micromamba

* Add conda to PATH

* Use conda activate

* Try permissions hack

* Remove unneeded packages

* Use different repo name per config

* Cleanup

* Fallbacks

* Fix backwards check

* Print test durations

* Try conda and defaults again

* Don't change shell

* Normal shell

* Clean up

* More cleanup

* More cleanup

---------

Co-authored-by: Jay Qi <[email protected]>

* Optionally remove boilerplate in initial setup (#286)

* Make skeleton code optional

* Updates to skeleton code

* make lint pass

* add --profile black to isort command for black compatibility

* add --profile black to generated Makefile

* remove setup.py from linting/formatting;

* fix code scaffold tests; revert adding isort to project makefile

---------

Co-authored-by: Peter Bull <[email protected]>

* Replace sphinx with mkdocs as default docs option, add none option (#295)

* create alternative mkdocs docs path and add option to use sphinx, mkdocs, or none

* add tests that docs folder looks correct

* add author if provided to mkdocs config

* fix yml typo

* make mkdocs default, do not remove sphinx yet

* reconfigure tests to cycle through all possible values for fields that are nominally independent

* change formatting

* cast docs paths to strings to satisfy shutil move in python 3.8

* remove sphinx

* remove docs folder tree; make docs removal generic

* Create new screencast automatically on docs build (#339)

* Create new screencast automatically on docs build

* dev reqs

* Remove tree from replay

* Update docs/scripts/generate-termynal.py

Co-authored-by: Chris Kucharczyk <[email protected]>

* Update docs/scripts/generate-termynal.py

Co-authored-by: Chris Kucharczyk <[email protected]>

* Apply suggestions from code review

Co-authored-by: Chris Kucharczyk <[email protected]>

* Apply suggestions from code review

Co-authored-by: Chris Kucharczyk <[email protected]>

---------

Co-authored-by: Chris Kucharczyk <[email protected]>

* Update Makefile help command to work on all platforms (#335)

* update python script and variable reference so help printing works on all platforms

* add blank make command testing output of available commands

* add test for makefile help text

* Update docs to material theme (#341)

* update docs to material theme

* update style and logo

* rearrange and update content

* docs/requirements.txt

* update workflow to skip if docs-only change, remove netlify config

* write to tempfile instead of hardcoded dir to prevent unintended persistent files from mkdocs-gen-files

* Update docs to use multiple pages (#344)

* change site structure to use multiple pages

* add navigation.instant

* remove padding override

* remove toc.follow

* revert content change

* Add workflows for Python 3.12 (#329)

* add python 3.12 vm env to test suite and update pyproject.toml classifiers to indicate support

* Bump actions versions

* Swap out fake/abandoned jupyter metapackage for jupyterlab and notebook

* Try conda-forge

---------

Co-authored-by: Jay Qi <[email protected]>

* Update opinions (#345)

* update opinions

* fix dag link

* typos and formatting

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* try rewrite of dag section

* formatting nits and adding subtitles

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* fix link to contributing page

---------

Co-authored-by: Jay Qi <[email protected]>

* Badge + docs updates (#348)

* Badge on docs updates

* default to CCDS template

* Style updates

* darken links a bit

* block quotes

* formatting and bare ccds

* Apply suggestions from code review

Co-authored-by: Chris Kucharczyk <[email protected]>

---------

Co-authored-by: Chris Kucharczyk <[email protected]>

* Minor CSS Tweaks (#349)

* tweak code block formatting and color correctness

* update note infobox styles

* Add commandline options table (#350)

* Add commandline options table

* wack isort ordering

* Make sections

* Format

* Use shutil.copytree instead of distutils (#353)

Co-authored-by: Jay Qi <[email protected]>

* Add documentation about Make on Windows (#355)

* Fix typo

* Add instructions for Make on Windows

* Fix typo

* Copy edits

* Add note about help

* Consistent code formatting

---------

Co-authored-by: Jay Qi <[email protected]>

* V2 Modernize boilerplate (#354)

* WIP

* Remove setuptools, add tqdm

* Lint

* Don't need setuptools or wheel

* Add comment fences

* Can't believe E266 is a thing

* Whitespace

* Add linting to tests

* Remove template from project linting and formatting

* Reorganize boilerplate modules

* Get rid of editable check

* Actually run linting

* Actually test linting

* Update verify_files test

* Update verify_folders

* Remove duplicate file

* Fix lint

---------

Co-authored-by: Jay Qi <[email protected]>

* Updates from review of V2 docs (#362)

* Review comments

* 3.8 minimum

* macos-13

* try setting up conda

* don't use imported variable

* Update docs/docs/opinions.md

Co-authored-by: Chris Kucharczyk <[email protected]>

---------

Co-authored-by: Chris Kucharczyk <[email protected]>

---------

Co-authored-by: James Myatt <[email protected]>
Co-authored-by: drivendata <[email protected]>
Co-authored-by: Eric Jalbert <[email protected]>
Co-authored-by: Jonathan Raviotta <[email protected]>
Co-authored-by: Wes Roach <[email protected]>
Co-authored-by: Christopher Geis <[email protected]>
Co-authored-by: Ian Preston <[email protected]>
Co-authored-by: Jay Qi <[email protected]>
Co-authored-by: inchiosa <[email protected]>
Co-authored-by: Robert Gibboni <[email protected]>
Co-authored-by: Phil <[email protected]>
Co-authored-by: Tammy Glazer <[email protected]>
Co-authored-by: AllenDowney <[email protected]>
Co-authored-by: Kristian Bodolai <[email protected]>
Co-authored-by: Jay Qi <[email protected]>
Co-authored-by: Chris Kucharczyk <[email protected]>
GatlenCulp pushed a commit to GatlenCulp/gatlens-opinionated-template that referenced this issue Jan 29, 2025
* [WIP] New version with cleaner options (drivendataorg#162)

* WIP - New version with cleaner options

* Fix find-replace error (drivendataorg#177)

* Remove unnecessary .gitkeep

* Remove unused tox.ini

* Split reqs into dev/non-dev

* Add basic packages support

* Add tests for testing environment creation and requirements

* Set up CI with Azure Pipelines (drivendataorg#194)

* Change archived asciinema example (drivendataorg#163)

* Change archived asciinema example

* Update README.md

Fix Asciinema powerline error

* Update docs to show updated asciinema example

* Added source and destination to Make data target (drivendataorg#169)

* Fix broken Airflow link (drivendataorg#182)

* Fixed: Typo in Makefile (drivendataorg#184)

Fixed typo in Makefile, section "Set up python interpreter environment": intalled --> installed

* Set up CI with Azure Pipelines

[skip ci]

* Update azure-pipelines.yml for Azure Pipelines

* Update azure-pipelines.yml for Azure Pipelines

* Update azure-pipelines.yml for Azure Pipelines

* str paths for windows support

* handle multiple data providers (drivendataorg#199)

* Add missing env directory bin/activate path

* Remove version from PYTHON_INTERPRETER command

* Search for virtualenvwrapper.sh path if executable not found

* Try chardet for character encoding detection

* Specify python and virtualenv binaries for virtualenvwrapper

* Add shebang to virtualenvwrapper.sh

* Diagnostic

* Try virtualenvwrapper-win

* Set encoding if detected None

* Fixes to Mac and Windows tests on Azure pipelines (drivendataorg#217)

* Temporarily comment out py36

* Update azure-pipelines.yml

* Fix tests on Windows and Mac (#1)

* Temporarily remove py37

* Update virtualenv_harness.sh

* put py37 back in

* Set encoding to utf-8

* Comment out rmvirtualenv

* Update test_creation.py

* Update virtualenv_harness.sh

* Add --show-capture

* Update azure-pipelines.yml

* Update azure-pipelines.yml

* Update test_creation.py

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update Makefile

* Update virtualenv_harness.sh

* Update cookiecutter.json

* Update cookiecutter.json

* Update virtualenv_harness.sh

* Update Makefile

* Update Makefile

* Update Makefile

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update Makefile

* Update Makefile

* Update Makefile

* Update Makefile

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update Makefile

* Update Makefile

* Update virtualenv_harness.sh

* Update Makefile

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update test_creation.py

* Update azure-pipelines.yml

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update virtualenv_harness.sh

* Update cookiecutter.json

* Update conda_harness.sh

* Update conda_harness.sh

* Update conda_harness.sh

Co-authored-by: Eric Jalbert <[email protected]>
Co-authored-by: Jonathan Raviotta <[email protected]>
Co-authored-by: Wes Roach <[email protected]>
Co-authored-by: Christopher Geis <[email protected]>
Co-authored-by: Peter Bull <[email protected]>
Co-authored-by: Ian Preston <[email protected]>
Co-authored-by: Jay Qi <[email protected]>
Co-authored-by: inchiosa <[email protected]>

* More graceful deprecation

* Make tests pass locally

* test version match installed version

* Remove unused imports

* Unremove used import

* Move to GH Actions

* Fix typo

* Test non-windows

* Add netlify configs

* Update suggestion to keep using deprecated cookiecutter template (drivendataorg#231)

* Add mkdocs requirements file to docs directory

* Try setting python version in runtime txt for netlify

* Trigger build

* Python 3.8 netlify

* Python 3.6 netlify

* Do not specify python runtime for netlify

* Use 3.7

This reverts commit 898d7d3.

Co-authored-by: James Myatt <[email protected]>
Co-authored-by: drivendata <[email protected]>
Co-authored-by: Eric Jalbert <[email protected]>
Co-authored-by: Jonathan Raviotta <[email protected]>
Co-authored-by: Wes Roach <[email protected]>
Co-authored-by: Christopher Geis <[email protected]>
Co-authored-by: Ian Preston <[email protected]>
Co-authored-by: Jay Qi <[email protected]>
Co-authored-by: inchiosa <[email protected]>
Co-authored-by: Robert Gibboni <[email protected]>

* docs: add dev-requirements, remove tox.ini (drivendataorg#254)

* Formatting

* Docs and test cleanup

* 3.10 specificaiton

* Passing tests and lint

* testing improvements and hooks refactor

* Lint, format, license (drivendataorg#247)

* format config files

* make format

* update readme

* no license, py version, update lint format commands

* revert accidental lic removal

Co-authored-by: Peter Bull <[email protected]>

* Updating the Makefile

* Removing deprecation message from v2

* update pip, reqs, test CI commands

* Update docs build

* Revert netlify changes

* Use default netlify build runtime

* make gsutil rsync recursive (drivendataorg#297)

* make gsutil rsync recursive

* reformatted with black

* add threaded flag for gsutil rsync

* V2 bug fixes, modernization, house-keeping, and README update (drivendataorg#313)

* Escape single quotes in sphinx conf. Fixes drivendataorg#142

* Use pyproject.toml package metadata. Fix quote escaping. Fixes drivendataorg#248

* Remove unnecessary pep8 configuration

* Update gitignores

* Use pyproject.toml for package metadata

* Update README for v2

* Add Python 3.11 and 3.12 to CI

* Remove unneeded requirements file reference

* Docs updates

* Update linting and tests

* Fix lint

* Missed one

* Split out code quality job

* Hold on 3.12 for now

* Fix wrong conda environment command

* Fix option name

* Change back and remove python spec since it should already be in environment.yml

* Change hyperlinks to https that support it

* Update joblib link. Supersedes drivendataorg#251

* Remove Python 3.12 for now

* Pin Python version in project package metadata

* Use compatible release operator

---------

Co-authored-by: Jay Qi <[email protected]>

* Add windows to CI (drivendataorg#319)

* Add windows to CI

* Try different shebang per actions/runner-images#7253 (comment)

* Revert "Try different shebang per actions/runner-images#7253 (comment)"

This reverts commit 4a8f093.

* Try setting PATH

* Reduce matrix for testing

* Set default shell to bash

* Fix wrong syntax

* Explicitly set bash path in test

* Fix syntax error

* Fix mistake

* Try installing GNU make instead of using available mingw32-make

* Undo explicit bash executable

* Set conda executable

* Fix black

* Add conda directory to system paths

* Clearer phony declaration

* Add diagnostic printing

* More printing

* Check which make

* Try adding Git bin directory to path

* Explicit bash shell

* Try adding explicit PATH

* Try making path style consistent

* Explicit conda executable

* try using which

* Try Scripts directory for adding to PATH

* Try removing unnecessary conda stuff

* Separate check step

* Install from conda-forge

* Missing colon

* Try setup miniconda to see if it's faster

* Change default shell

* Use conda environment

* Skip which conda

* Add to path anyways

* Try micromamba

* Use mamba as conda executable

* Fix typo

* micromamba shell hook

* Missing quote

* Full micromamba path; add caching

* Try path instead

* Remove backslash

* Use mambaforge instead of micromamba

* Add conda to PATH

* Use conda activate

* Try permissions hack

* Remove unneeded packages

* Use different repo name per config

* Cleanup

* Fallbacks

* Fix backwards check

* Print test durations

* Try conda and defaults again

* Don't change shell

* Normal shell

* Clean up

* More cleanup

* More cleanup

---------

Co-authored-by: Jay Qi <[email protected]>

* Optionally remove boilerplate in initial setup (drivendataorg#286)

* Make skeleton code optional

* Updates to skeleton code

* make lint pass

* add --profile black to isort command for black compatibility

* add --profile black to generated Makefile

* remove setup.py from linting/formatting;

* fix code scaffold tests; revert adding isort to project makefile

---------

Co-authored-by: Peter Bull <[email protected]>

* Replace sphinx with mkdocs as default docs option, add none option (drivendataorg#295)

* create alternative mkdocs docs path and add option to use sphinx, mkdocs, or none

* add tests that docs folder looks correct

* add author if provided to mkdocs config

* fix yml typo

* make mkdocs default, do not remove sphinx yet

* reconfigure tests to cycle through all possible values for fields that are nominally independent

* change formatting

* cast docs paths to strings to satisfy shutil move in python 3.8

* remove sphinx

* remove docs folder tree; make docs removal generic

* Create new screencast automatically on docs build (drivendataorg#339)

* Create new screencast automatically on docs build

* dev reqs

* Remove tree from replay

* Update docs/scripts/generate-termynal.py

Co-authored-by: Chris Kucharczyk <[email protected]>

* Update docs/scripts/generate-termynal.py

Co-authored-by: Chris Kucharczyk <[email protected]>

* Apply suggestions from code review

Co-authored-by: Chris Kucharczyk <[email protected]>

* Apply suggestions from code review

Co-authored-by: Chris Kucharczyk <[email protected]>

---------

Co-authored-by: Chris Kucharczyk <[email protected]>

* Update Makefile help command to work on all platforms (drivendataorg#335)

* update python script and variable reference so help printing works on all platforms

* add blank make command testing output of available commands

* add test for makefile help text

* Update docs to material theme (drivendataorg#341)

* update docs to material theme

* update style and logo

* rearrange and update content

* docs/requirements.txt

* update workflow to skip if docs-only change, remove netlify config

* write to tempfile instead of hardcoded dir to prevent unintended persistent files from mkdocs-gen-files

* Update docs to use multiple pages (drivendataorg#344)

* change site structure to use multiple pages

* add navigation.instant

* remove padding override

* remove toc.follow

* revert content change

* Add workflows for Python 3.12 (drivendataorg#329)

* add python 3.12 vm env to test suite and update pyproject.toml classifiers to indicate support

* Bump actions versions

* Swap out fake/abandoned jupyter metapackage for jupyterlab and notebook

* Try conda-forge

---------

Co-authored-by: Jay Qi <[email protected]>

* Update opinions (drivendataorg#345)

* update opinions

* fix dag link

* typos and formatting

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* try rewrite of dag section

* formatting nits and adding subtitles

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* Update docs/docs/opinions.md

Co-authored-by: Jay Qi <[email protected]>

* fix link to contributing page

---------

Co-authored-by: Jay Qi <[email protected]>

* Badge + docs updates (drivendataorg#348)

* Badge on docs updates

* default to CCDS template

* Style updates

* darken links a bit

* block quotes

* formatting and bare ccds

* Apply suggestions from code review

Co-authored-by: Chris Kucharczyk <[email protected]>

---------

Co-authored-by: Chris Kucharczyk <[email protected]>

* Minor CSS Tweaks (drivendataorg#349)

* tweak code block formatting and color correctness

* update note infobox styles

* Add commandline options table (drivendataorg#350)

* Add commandline options table

* wack isort ordering

* Make sections

* Format

* Use shutil.copytree instead of distutils (drivendataorg#353)

Co-authored-by: Jay Qi <[email protected]>

* Add documentation about Make on Windows (drivendataorg#355)

* Fix typo

* Add instructions for Make on Windows

* Fix typo

* Copy edits

* Add note about help

* Consistent code formatting

---------

Co-authored-by: Jay Qi <[email protected]>

* V2 Modernize boilerplate (drivendataorg#354)

* WIP

* Remove setuptools, add tqdm

* Lint

* Don't need setuptools or wheel

* Add comment fences

* Can't believe E266 is a thing

* Whitespace

* Add linting to tests

* Remove template from project linting and formatting

* Reorganize boilerplate modules

* Get rid of editable check

* Actually run linting

* Actually test linting

* Update verify_files test

* Update verify_folders

* Remove duplicate file

* Fix lint

---------

Co-authored-by: Jay Qi <[email protected]>

* Updates from review of V2 docs (drivendataorg#362)

* Review comments

* 3.8 minimum

* macos-13

* try setting up conda

* don't use imported variable

* Update docs/docs/opinions.md

Co-authored-by: Chris Kucharczyk <[email protected]>

---------

Co-authored-by: Chris Kucharczyk <[email protected]>

---------

Co-authored-by: James Myatt <[email protected]>
Co-authored-by: drivendata <[email protected]>
Co-authored-by: Eric Jalbert <[email protected]>
Co-authored-by: Jonathan Raviotta <[email protected]>
Co-authored-by: Wes Roach <[email protected]>
Co-authored-by: Christopher Geis <[email protected]>
Co-authored-by: Ian Preston <[email protected]>
Co-authored-by: Jay Qi <[email protected]>
Co-authored-by: inchiosa <[email protected]>
Co-authored-by: Robert Gibboni <[email protected]>
Co-authored-by: Phil <[email protected]>
Co-authored-by: Tammy Glazer <[email protected]>
Co-authored-by: AllenDowney <[email protected]>
Co-authored-by: Kristian Bodolai <[email protected]>
Co-authored-by: Jay Qi <[email protected]>
Co-authored-by: Chris Kucharczyk <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants
@felipec @sergei-pyshnoi @ilia-shipitsin and others