Skip to content

Commit

Permalink
small ux changes
Browse files Browse the repository at this point in the history
  • Loading branch information
baszalmstra committed Jul 18, 2024
1 parent d47b637 commit f51478c
Show file tree
Hide file tree
Showing 5 changed files with 103 additions and 4 deletions.
10 changes: 9 additions & 1 deletion .ci_support/build_all.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from itertools import chain
import json
from shutil import rmtree
import tempfile
import conda.base.context
import conda.core.index
Expand All @@ -23,6 +24,9 @@
from yaml import BaseLoader, load


EXAMPLE_RECIPE_FOLDERS = ["example", "example-new-recipe"]


def get_host_platform():
from sys import platform
if platform == "linux" or platform == "linux2":
Expand Down Expand Up @@ -238,6 +242,10 @@ def build_folders(recipes_dir, folders, arch, channel_urls):

def build_folders_rattler_build(recipes_dir: str, platform, arch, channel_urls: list[str]):
config = get_config(arch, channel_urls)

# Remove the example recipes to ensure that they are not also build.
for example_recipe in EXAMPLE_RECIPE_FOLDERS:
rmtree(os.path.join(recipes_dir, example_recipe), ignore_errors=True)

# Determine the locations for the variant config files.
specs = OrderedDict()
Expand Down Expand Up @@ -291,7 +299,7 @@ def read_mambabuild(recipes_dir):
folders = os.listdir(recipes_dir)
conda_build_tools = []
for folder in folders:
if folder == "example":
if folder in EXAMPLE_RECIPE_FOLDERS:
continue
cf = os.path.join(recipes_dir, folder, "conda-forge.yml")
if os.path.exists(cf):
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/correct_directory.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ jobs:
'\nUnfortunately, the recipe was added directly in the `recipes` folder without its own subfolder.\n' +
'Please move the recipe file into a folder with the name of the package you want to submit.\n\n' +
'For example: if your recipe is currently under `recipes/<your_package>.yaml`, ' +
'it should be moved to `recipes/<your_package>/meta.yaml`.\n' +
'it should be moved to `recipes/<your_package>/meta.yaml` ' +
'or, if you are using the new yaml based recipe format, `recipes/<your_package>/recipe.yaml`\n' +
'Thanks!'
})
2 changes: 1 addition & 1 deletion .github/workflows/scripts/create_feedstocks.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ def list_recipes() -> Iterator[tuple[str, str]]:
# to be helpful.
# .DS_Store is created by macOS to store custom attributes of its
# containing folder.
if recipe_dir.name in ["example", ".DS_Store"]:
if recipe_dir.name in ["example", "example-new-recipe", ".DS_Store"]:
continue

# Try to look for a conda-build recipe.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ If the issue persists, support can be found [on Gitter](https://gitter.im/conda-
## Getting started

1. Fork this repository.
2. Make a new folder in `recipes` for your package. Look at the example recipe, our [documentation](http://conda-forge.org/docs/maintainer/adding_pkgs.html#) and the [FAQ](https://github.com/conda-forge/staged-recipes#faq) for help.
2. Make a new folder in `recipes` for your package. Look at the example recipes, our [documentation](http://conda-forge.org/docs/maintainer/adding_pkgs.html#) and the [FAQ](https://github.com/conda-forge/staged-recipes#faq) for help.
3. Open a pull request. Building of your package will be tested on Windows, Mac and Linux.
4. When your pull request is merged a new repository, called a feedstock, will be created in the github conda-forge organization, and build/upload of your package will automatically be triggered. Once complete, the package is available on conda-forge.

Expand Down
90 changes: 90 additions & 0 deletions recipes/example-new-recipe/recipe.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# This example shows how to define a recipe using the new YAML based recipe format introduced by
# CEP 13.

# For more information about this format see: https://prefix-dev.github.io/rattler-build/latest/reference/recipe_file/

# Note: there are many handy hints in comments in this example -- remove them when you've finalized your recipe

# Define variables in this section that you can use in other parts.
context:
name: simplejson
version: "3.8.2"

package:
name: ${{ name|lower }}
version: ${{ version }}

source:
url: https://pypi.io/packages/source/${{ name[0] }}/${{ name }}/${{ name }}-${{ version }}.tar.gz
# If getting the source from GitHub, remove the line above,
# uncomment the line below, and modify as needed. Use releases if available:
# url: https://github.com/simplejson/simplejson/releases/download/${{ version }}/simplejson-${{ version }}.tar.gz
# and otherwise fall back to archive:
# url: https://github.com/simplejson/simplejson/archive/v${{ version }}.tar.gz
sha256: d58439c548433adcda98e695be53e526ba940a4b9c44fb9a05d92cd495cdd47f
# sha256 is the preferred checksum -- you can get it for a file with:
# `openssl sha256 <file name>`.
# You may need the openssl package, available on conda-forge:
# `conda install openssl -c conda-forge``

build:
# Uncomment the following line if the package is pure Python and the recipe is exactly the same for all platforms.
# It is okay if the dependencies are not built for all platforms/versions, although selectors are still not allowed.
# See https://conda-forge.org/docs/maintainer/knowledge_base.html#noarch-python for more details.
# noarch: python
# If the installation is complex, or different between Unix and Windows, use separate build.bat and build.sh files instead of this key.
# By default, the package will be built for the Python versions supported by conda-forge and for all major OSs.
# Add the line "skip: True # [py<35]" (for example) to limit to Python 3.5 and newer, or "skip: True # [not win]" to limit to Windows.
# More info about selectors can be found in the conda-build docs:
# https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#preprocessing-selectors
script: python -m pip install . -vv
number: 0

requirements:
build:
# If your project compiles code (such as a C extension) then add the required compilers as separate entries here.
# Compilers are named 'c', 'cxx' and 'fortran'.
- ${{ compiler('c') }}
host:
- python
- pip
run:
- python

tests:
# Some packages might need a `test/commands` key to check CLI.
- python:
# A list of modules that the test will try to import
imports:
- simplejson
- simplejson.tests
# Also run `pip check` to verify the integrity
pip_check: true

about:
homepage: https://github.com/simplejson/simplejson
summary: 'Simple, fast, extensible JSON encoder/decoder for Python'
description: |
simplejson is a simple, fast, complete, correct and extensible
JSON <https://json.org> encoder and decoder for Python 2.5+ and
Python 3.3+. It is pure Python code with no dependencies, but includes
an optional C extension for a serious speed boost.
# Remember to specify the license variants for BSD, Apache, GPL, and LGPL.
# Use the SPDX identifier, e.g: GPL-2.0-only instead of GNU General Public License version 2.0
# See https://spdx.org/licenses/
license: MIT
# It is required to include a license file in the package,
# (even if the license doesn't require it) using the license_file entry.
# Please also note that some projects have multiple license files which all need to be added using a valid yaml list.
# See https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#license-file
license_file: LICENSE.txt
# The doc_url and dev_url are optional.
documentation: https://simplejson.readthedocs.io/
repository: https://github.com/simplejson/simplejson

extra:
recipe-maintainers:
# GitHub IDs for maintainers of the recipe.
# Always check with the people listed below if they are OK becoming maintainers of the recipe. (There will be spam!)
- LisaSimpson
- LandoCalrissian

0 comments on commit f51478c

Please sign in to comment.