Dataset Viewer
Auto-converted to Parquet Duplicate
content
stringlengths
51
499k
file_path
stringlengths
6
120
file_name
stringlengths
5
83
category
stringclasses
16 values
config_type
stringclasses
48 values
repo_name
stringclasses
814 values
repo_stars
int64
179
387k
repo_language
stringclasses
43 values
license
stringclasses
15 values
quality_score
float32
0.24
0.97
is_generated
bool
2 classes
name: check code snippets on: workflow_dispatch: push: branches: - main pull_request: concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: check-code-snippets: name: check-code-snippets runs-on: - ubuntu-22.04 steps: - name: Checkout repository uses: actions/checkout@v6 - name: Setup python uses: actions/setup-python@v6 with: python-version: '3.13' - name: Install dependencies run: | python -m pip install --upgrade pip pip install requests - name: Validate code snippets run: | python ./scripts/check_code_snippets.py .
.github/workflows/check-code-snippets.yaml
check-code-snippets.yaml
github_actions
github-actions-workflow
0xAX/linux-insides
25,863
Python
noassertion
0.567
false
name: Generate e-books on: pull_request: branches: - master workflow_dispatch: {} # For manual runs. jobs: build-for-pr: # For every PR, build the same artifacts and make them accessible from the PR. if: github.event_name == 'pull_request' runs-on: ubuntu-latest permissions: contents: read pull-requests: write steps: - name: Checkout repository uses: actions/checkout@v6 - name: Export all supported book formats from the Docker container run: | make run make export - name: Copy generated files to host system run: | make cp mkdir -p artifacts/ mv "Linux Inside - 0xAX.epub" \ "Linux Inside - 0xAX.mobi" \ "Linux Inside - 0xAX.pdf" \ "Linux Inside - 0xAX (A5).pdf" \ artifacts/ - name: Upload PR artifacts uses: actions/upload-artifact@v7 with: name: ebooks-${{ github.sha }} path: artifacts/* if-no-files-found: error # Change the retention period here if necessary. retention-days: 7 - name: Add a comment with a link to the generated artifacts. # For forked PRs the token is read-only; skip commenting to avoid failures. if: ${{ github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name }} uses: actions/github-script@v8 env: RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} with: script: | const body = [ `E-books generated for this pull request available at: ${process.env.RUN_URL}` ].join('\n'); await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, body });
.github/workflows/generate-e-books.yaml
generate-e-books.yaml
github_actions
github-actions-workflow
0xAX/linux-insides
25,863
Python
noassertion
0.6157
false
name: Release e-books on: push: tags: - 'v*.*' # Create a release only when a new tag matching v*.* is pushed. # To also create a release for each push to the main branch, uncomment the following 2 lines: # branches: # - master workflow_dispatch: {} # For manual runs. jobs: release-ebooks: runs-on: ubuntu-latest permissions: contents: write steps: - name: Checkout repository uses: actions/checkout@v6 - name: Export all supported book formats from the Docker container run: | make run make export - name: Copy generated files to host system run: | make cp mkdir -p artifacts/ mv "Linux Inside - 0xAX.epub" \ "Linux Inside - 0xAX.mobi" \ "Linux Inside - 0xAX.pdf" \ "Linux Inside - 0xAX (A5).pdf" \ artifacts/ cp LICENSE artifacts/ - name: Prepare release metadata # Use tag name when running on a tag, otherwise fall back to the short commit hash. id: meta env: GITHUB_REF_TYPE: ${{ github.ref_type }} GITHUB_REF_NAME: ${{ github.ref_name }} run: | DATE_UTC="$(date -u '+%m/%d/%Y %H:%M')" if [ "${GITHUB_REF_TYPE}" = "tag" ] && [ -n "${GITHUB_REF_NAME}" ]; then LABEL="${GITHUB_REF_NAME}" else LABEL="$(git rev-parse --short HEAD)" fi echo "release_name=${DATE_UTC} (${LABEL})" >> "$GITHUB_OUTPUT" echo "tag_name=${LABEL}" >> "$GITHUB_OUTPUT" - name: Create GitHub release uses: softprops/action-gh-release@v2 with: files: artifacts/* name: ${{ steps.meta.outputs.release_name }} tag_name: ${{ steps.meta.outputs.tag_name }} target_commitish: ${{ github.sha }} generate_release_notes: true fail_on_unmatched_files: true
.github/workflows/release-e-books.yaml
release-e-books.yaml
github_actions
github-actions-workflow
0xAX/linux-insides
25,863
Python
noassertion
0.6257
false
FROM kyselejsyrecek/gitbook:3.2.3 COPY ./ /srv/gitbook/ EXPOSE 4000 WORKDIR /srv/gitbook CMD ["sh", "-c", "/usr/local/bin/gitbook serve"] # Examples: #RUN gitbook pdf #RUN gitbook epub
Dockerfile
Dockerfile
dockerfile
dockerfile
0xAX/linux-insides
25,863
Python
noassertion
0.6812
false
### HELP .PHONY: help help: ## Print help @egrep "(^### |^\S+:.*##\s)" Makefile | sed 's/^###\s*//' | sed 's/^\(\S*\)\:.*##\s*\(.*\)/ \1 - \2/' ### DOCKER .PHONY: run run: image ## docker run ... (docker stop linux-insides-book 2>&1) > /dev/null || true docker run --detach -p 4000:4000 --name linux-insides-book --hostname linux-insides-book linux-insides-book .PHONY: start start: ## start the docker container ... docker start linux-insides-book .PHONY: image image: ## docker image build ... docker image build --rm --squash --label linux-insides --tag linux-insides-book:latest -f Dockerfile . 2> /dev/null || \ docker image build --rm --label linux-insides --tag linux-insides-book:latest -f Dockerfile . .PHONY: sh sh: ## run interactive shell inside an already running docker container ... docker exec -it linux-insides-book bash .PHONY: rm rm: ## remove the docker container ... (docker stop linux-insides-book 2>&1) > /dev/null || true (docker rm linux-insides-book 2>&1) > /dev/null || true .PHONY: logs logs: ## gather logs from the docker container ... docker logs linux-insides-book .PHONY: export export: ## run e-book generation inside an already running docker container ... docker exec linux-insides-book /bin/bash -c ' \ find . -type f -name '*.svg' -a ! \( -path "./.github/*" -o -path "./_book/*" \) -print0 | while IFS= read -r -d "" svg_file; do \ output_file="$${svg_file%.svg}.png"; \ chapter_dir=$$(dirname $$(dirname "$$svg_file")); \ svg_relative_path="$${svg_file#$$chapter_dir/}"; \ output_relative_path="$${output_file#$$chapter_dir/}"; \ inkscape --export-png="$$output_file" \ --export-area-page \ --export-dpi=150 \ "$$svg_file"; \ find "$$chapter_dir" -maxdepth 1 -type f -name "*.md" -print0 | xargs -0 sed -i "s|\\([/ \\t\\(]\\)$${svg_relative_path}|\\1$${output_relative_path}|g"; \ done; \ gitbook epub; \ gitbook mobi; \ gitbook pdf; \ mv book.pdf book-A4.pdf; \ mv book-A5.json book.json; \ gitbook pdf; \ mv book.pdf book-A5.pdf; \ mv book-A4.pdf book.pdf' .PHONY: cp cp: ## copy all exported e-book formats to current working directory ... docker cp linux-insides-book:/srv/gitbook/book.epub "Linux Inside - 0xAX.epub" docker cp linux-insides-book:/srv/gitbook/book.mobi "Linux Inside - 0xAX.mobi" docker cp linux-insides-book:/srv/gitbook/book.pdf "Linux Inside - 0xAX.pdf" docker cp linux-insides-book:/srv/gitbook/book-A5.pdf "Linux Inside - 0xAX (A5).pdf" .PHONY: clean clean: ## remove all exported e-book files ... rm "Linux Inside - 0xAX.epub" \ "Linux Inside - 0xAX.mobi" \ "Linux Inside - 0xAX.pdf" \ "Linux Inside - 0xAX (A5).pdf" ### LAUNCH BROWSER .PHONY: browse browse: ## Launch broweser @timeout 60 sh -c 'until nc -z 127.0.0.1 4000; do sleep 1; done' || true @(uname | grep Darwin > /dev/null) && open http://127.0.0.1:4000 || true @(uname | grep Linux > /dev/null) && xdg-open http://127.0.0.1:4000 || true
Makefile
Makefile
makefile
makefile
0xAX/linux-insides
25,863
Python
noassertion
0.6094
false
from utils import prompt_constructor, llm_write_file from config import HIERARCHY, GUIDELINES, WRITE_CODE, CREATE_DOCKER, SINGLEFILE def create_environment(globals): ''' Create Dockerfile ''' docker_prompt_template = prompt_constructor(HIERARCHY, GUIDELINES, WRITE_CODE, CREATE_DOCKER, SINGLEFILE) prompt = docker_prompt_template.format(targetlang=globals.targetlang, sourcelang=globals.sourcelang, sourceentry=globals.sourceentry, guidelines=globals.guidelines) llm_write_file(prompt, target_path="Dockerfile", waiting_message="Creating your environment...", success_message=f"Created Docker environment for {globals.targetlang} project in directory '{globals.targetdir}'.", globals=globals) with open('memory/external_dependencies', 'w') as file: file.write('')
gpt_migrate/steps/setup.py
setup.py
config_python
setup-py
0xpayne/gpt-migrate
5,449
Python
mit
0.4509
false
[tool.poetry] name = "gpt-migrate" version = "0.1.0" description = "Easily migrate your codebase from one framework or language to another." authors = ["0xpayne"] [tool.poetry.dependencies] python = "^3.9" typer = "^0.9.0" langchain = "^0.0.238" yaspin = "^2.3.0" openai = "^0.27.8" tree-sitter = "^0.20.1" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api"
pyproject.toml
pyproject.toml
config_python
pyproject
0xpayne/gpt-migrate
5,449
Python
mit
0.4793
false
name: 提交项目(每 24 小时运行一次,晚上 00:00) on: schedule: - cron: '0 16 * * *' # 每天 UTC 16:00 运行(北京时间 00:00) workflow_dispatch: # 支持手动触发 jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v6.0.1 - name: Setup Python uses: actions/setup-python@v6.1.0 with: python-version: '3.13' - name: Install dependencies run: | pip install PyGithub openai - name: Run script env: PAT_TOKEN: ${{ secrets.PAT_TOKEN }} LLM_API_KEY: ${{ secrets.LLM_API_KEY }} # 如果你用的不是 OpenAI 原生接口,可以设置这个环境变量,否则默认使用 OpenAI LLM_BASE_URL: "https://api.deepseek.com" run: python .github/scripts/process_item.py
.github/workflows/process_list.yml
process_list.yml
github_actions
github-actions-workflow
1c7/chinese-independent-developer
34,002
0.5835
false
[project] name = "chinese-independent-developer" version = "0.1.0" description = "Add your description here" readme = "README.md" requires-python = ">=3.13" dependencies = [ "httpx[socks]>=0.28.1", "openai>=2.14.0", "pygithub>=2.8.1", ]
pyproject.toml
pyproject.toml
config_python
pyproject
1c7/chinese-independent-developer
34,002
0.5347
false
name: Links validator on: [push, pull_request] jobs: links_validation: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Set up Ruby 2.6 uses: ruby/setup-ruby@v1 with: ruby-version: '3.0' - name: Check links run: | gem install awesome_bot awesome_bot pages/*.md --allow 202 --allow-timeout --allow-redirect --allow-ssl --white-list https://www.algolia.com/pricing,https://www.oracle.com/cloud/free/#always-free
.github/workflows/links-validator.yml
links-validator.yml
github_actions
github-actions-workflow
255kb/stack-on-a-budget
9,891
mit
0.4821
false
name: docs on: push: paths: - 'docs/**' pull_request: paths: - 'docs/**' jobs: docs: runs-on: ubuntu-latest name: build up document and deploy steps: - name: Checkout uses: actions/checkout@master - name: Install sphinx and manim env run: | pip3 install --upgrade pip sudo apt install python3-setuptools libpango1.0-dev pip3 install -r docs/requirements.txt pip3 install -r requirements.txt - name: Build document with Sphinx run: | cd docs export PATH="$PATH:/home/runner/.local/bin" export SPHINXBUILD="python3 -m sphinx" make html - name: Deploy to GitHub pages if: ${{ github.event_name == 'push' }} uses: JamesIves/github-pages-deploy-action@3.7.1 with: ACCESS_TOKEN: ${{ secrets.DOC_DEPLOY_TOKEN }} BRANCH: gh-pages FOLDER: docs/build/html
.github/workflows/docs.yml
docs.yml
github_actions
github-actions-workflow
3b1b/manim
73,304
Python
mit
0.5997
false
name: Upload Python Package on: release: types: [created] jobs: deploy: runs-on: ubuntu-latest strategy: fail-fast: false matrix: python: ["py37", "py38", "py39", "py310"] steps: - uses: actions/checkout@v6 - name: Set up Python uses: actions/setup-python@v6 with: python-version: '3.8' - name: Install dependencies run: | python -m pip install --upgrade pip pip install setuptools wheel twine build - name: Build wheels run: python setup.py bdist_wheel --python-tag ${{ matrix.python }} - name: Upload wheels env: TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} run: | twine upload dist/*
.github/workflows/publish.yml
publish.yml
github_actions
github-actions-workflow
3b1b/manim
73,304
Python
mit
0.58
false
# Minimal makefile for Sphinx documentation # # You can set these variables from the command line, and also # from the environment for the first two. SPHINXOPTS ?= SPHINXBUILD ?= sphinx-build SOURCEDIR = source BUILDDIR = build # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) .PHONY: help Makefile # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
docs/Makefile
Makefile
makefile
makefile
3b1b/manim
73,304
Python
mit
0.778
false
[metadata] name = manimgl version = 1.7.2 author = Grant Sanderson author_email= grant@3blue1brown.com description = Animation engine for explanatory math videos long_description = file: README.md long_description_content_type = text/markdown; charset=UTF-8 home_page = https://github.com/3b1b/manim project_urls = Bug Tracker = https://github.com/3b1b/manim/issues Documentation = https://3b1b.github.io/manim/ Source Code = https://github.com/3b1b/manim license = MIT classifiers = Development Status :: 4 - Beta License :: OSI Approved :: MIT License Topic :: Scientific/Engineering Topic :: Multimedia :: Video Topic :: Multimedia :: Graphics Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3 :: Only Natural Language :: English [options] packages = find: include_package_data = True install_requires = addict appdirs audioop-lts; python_version >= "3.13" colour diskcache ipython>=8.18.0 isosurfaces fontTools manimpango>=0.6.0 mapbox-earcut matplotlib moderngl moderngl_window numpy Pillow pydub pygments PyOpenGL pyperclip pyyaml rich scipy screeninfo setuptools skia-pathops svgelements>=1.8.1 sympy tqdm typing-extensions; python_version < "3.11" validators [options.entry_points] console_scripts = manimgl = manimlib.__main__:main manim-render = manimlib.__main__:main
setup.cfg
setup.cfg
config_python
setup-cfg
3b1b/manim
73,304
Python
mit
0.6497
false
# CircleCI configuration to build GDevelop app running # on the Electron runtime (newIDE/electron-app) for macOS and Linux. # For Windows, see the appveyor.yml file. # This also builds GDevelop.js and store it on a S3 so it can be used to run # GDevelop without building it from scratch. # Note that these CircleCI builds/tests are not launched on Pull Requests from forks, # to avoid sharing secrets. version: 2.1 orbs: aws-cli: circleci/aws-cli@2.0.6 macos: circleci/macos@2.5.1 # For Rosetta (see below) node: circleci/node@7.1.0 # For a recent npm version (see below) win: circleci/windows@5.1.0 jobs: # Build the **entire** app for macOS (including the GDevelop.js library). build-macos: macos: xcode: 16.4.0 resource_class: m4pro.medium steps: - checkout # Install Rosetta for AWS CLI and disable TSO to speed up S3 uploads (https://support.circleci.com/hc/en-us/articles/19334402064027-Troubleshooting-slow-uploads-to-S3-for-jobs-using-an-m1-macOS-resource-class) - macos/install-rosetta # - run: sudo sysctl net.inet.tcp.tso=0 # Install a recent version of npm to workaround a notarization issue because of a symlink made by npm: https://github.com/electron-userland/electron-builder/issues/7755 # Node.js v20.14.0 comes with npm v10.7.0. - node/install: node-version: "20.14.0" # System dependencies (for Emscripten and upload) - run: name: Install dependencies for Emscripten command: brew install cmake - run: name: Install dependencies for AWS S3 upload command: curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" && sudo installer -pkg AWSCLIV2.pkg -target / - run: name: Install Emscripten (for GDevelop.js) command: git clone https://github.com/juj/emsdk.git && cd emsdk && ./emsdk install 3.1.21 && ./emsdk activate 3.1.21 && cd .. # GDevelop.js dependencies - restore_cache: keys: - gd-macos-nodejs-dependencies-v2-{{ checksum "newIDE/app/package.json" }}-{{ checksum "newIDE/electron-app/package.json" }}-{{ checksum "GDevelop.js/package.json" }}-{{ checksum "GDJS/package-lock.json" }} # fallback to using the latest cache if no exact match is found - gd-macos-nodejs-dependencies-v2- - run: name: Install GDevelop.js dependencies command: cd GDevelop.js && npm install && cd .. # Build GDevelop.js (and run tests to ensure it works) - run: name: Build GDevelop.js command: cd GDevelop.js && source ../emsdk/emsdk_env.sh && npm run build && npm test && cd .. # GDevelop IDE dependencies (after building GDevelop.js to avoid downloading a pre-built version) - run: name: Install GDevelop IDE dependencies command: cd newIDE/app && npm install && cd ../electron-app && npm install - save_cache: paths: - newIDE/electron-app/node_modules - newIDE/app/node_modules - GDevelop.js/node_modules - GDJS/node_modules key: gd-macos-nodejs-dependencies-v2-{{ checksum "newIDE/app/package.json" }}-{{ checksum "newIDE/electron-app/package.json" }}-{{ checksum "GDevelop.js/package.json" }}-{{ checksum "GDJS/package-lock.json" }} # Build GDevelop IDE (seems like we need to allow Node.js to use more space than usual) # Note: Code signing is done using CSC_LINK (see https://www.electron.build/code-signing). # To test signing the code in the CI, add "export CSC_FOR_PULL_REQUEST=true && " before the command. - run: name: Build GDevelop IDE command: export CSC_FOR_PULL_REQUEST=true && export NODE_OPTIONS="--max-old-space-size=7168" && cd newIDE/electron-app && CI=false npm run build -- --mac --publish=never - run: name: Clean dist folder to keep only installers/binaries. command: rm -rf "newIDE/electron-app/dist/mac-universal/GDevelop 5.app" # Upload artifacts (CircleCI) - store_artifacts: path: newIDE/electron-app/dist # Upload artifacts (AWS) - run: name: Deploy to S3 (specific commit) command: | export PATH=~/.local/bin:$PATH for i in 1 2 3 4 5 6 7; do aws s3 sync newIDE/electron-app/dist s3://gdevelop-releases/$(git rev-parse --abbrev-ref HEAD)/commit/$(git rev-parse HEAD)/ && break echo "Retry $i failed... retrying in 10 seconds" sleep 10 done if [ $i -eq 7 ]; then echo "All retries for deployment failed!" >&2 exit 1 fi - run: name: Deploy to S3 (latest) command: | export PATH=~/.local/bin:$PATH for i in 1 2 3 4 5 6 7; do aws s3 sync newIDE/electron-app/dist s3://gdevelop-releases/$(git rev-parse --abbrev-ref HEAD)/latest/ && break echo "Retry $i failed... retrying in 10 seconds" sleep 10 done if [ $i -eq 7 ]; then echo "All retries for deployment failed!" >&2 exit 1 fi # Build the app for Linux (using a pre-built GDevelop.js library). build-linux: # CircleCI docker workers are failing if they don't have enough memory (no swap) resource_class: xlarge docker: - image: cimg/node:24.13.0 working_directory: ~/GDevelop steps: - checkout - aws-cli/setup # System dependencies (for Electron Builder) - run: name: Update system dependencies command: sudo apt-get update - run: name: Install system dependencies for Electron builder command: sudo apt install icnsutils && sudo apt install graphicsmagick && sudo apt install rsync - restore_cache: keys: - gd-linux-nodejs-dependencies-v2-{{ checksum "newIDE/app/package.json" }}-{{ checksum "newIDE/electron-app/package.json" }}-{{ checksum "GDevelop.js/package.json" }}-{{ checksum "GDJS/package-lock.json" }} # fallback to using the latest cache if no exact match is found - gd-linux-nodejs-dependencies-v2- # GDevelop IDE dependencies (using an exact version of GDevelop.js, built previously) - run: name: Install GDevelop IDE dependencies command: export REQUIRES_EXACT_LIBGD_JS_VERSION=true && cd newIDE/app && npm install && cd ../electron-app && npm install - save_cache: paths: - newIDE/electron-app/node_modules - newIDE/app/node_modules - GDevelop.js/node_modules - GDJS/node_modules key: gd-linux-nodejs-dependencies-v2-{{ checksum "newIDE/app/package.json" }}-{{ checksum "newIDE/electron-app/package.json" }}-{{ checksum "GDevelop.js/package.json" }}-{{ checksum "GDJS/package-lock.json" }} # Build GDevelop IDE (seems like we need to allow Node.js to use more space than usual) - run: name: Build GDevelop IDE command: export NODE_OPTIONS="--max-old-space-size=7168" && cd newIDE/electron-app && npm run build -- --linux --publish=never - run: name: Clean dist folder to keep only installers/binaries. command: rm -rf newIDE/electron-app/dist/linux-unpacked && rm -rf newIDE/electron-app/dist/linux-arm64-unpacked # Upload artifacts (CircleCI) - store_artifacts: path: newIDE/electron-app/dist # Upload artifacts (AWS) - run: name: Deploy to S3 (specific commit) command: aws s3 sync newIDE/electron-app/dist s3://gdevelop-releases/$(git rev-parse --abbrev-ref HEAD)/commit/$(git rev-parse HEAD)/ - run: name: Deploy to S3 (latest) command: aws s3 sync newIDE/electron-app/dist s3://gdevelop-releases/$(git rev-parse --abbrev-ref HEAD)/latest/ # Build the WebAssembly library only (so that it's cached on a S3 and easy to re-use). build-gdevelop_js-wasm-only: resource_class: medium+ # Compilation time decrease linearly with the number of CPUs, but not linking (so "large" does not speedup total build time). docker: - image: cimg/node:24.13.0 working_directory: ~/GDevelop steps: - checkout - aws-cli/setup # System dependencies (for Emscripten) - run: name: Install dependencies for Emscripten command: sudo apt-get update && sudo apt install cmake - run: name: Install Emscripten (for GDevelop.js) command: git clone https://github.com/juj/emsdk.git && cd emsdk && ./emsdk install 3.1.21 && ./emsdk activate 3.1.21 && cd .. # GDevelop.js dependencies - restore_cache: keys: - gdevelop.js-linux-nodejs-dependencies-v2-{{ checksum "GDevelop.js/package-lock.json" }} # fallback to using the latest cache if no exact match is found - gdevelop.js-linux-nodejs-dependencies-v2- - run: name: Install GDevelop.js dependencies and build it command: cd GDevelop.js && npm install && cd .. # Build GDevelop.js (and run tests to ensure it works) - run: name: Build GDevelop.js # Use "--runInBand" as it's faster and avoid deadlocks on CircleCI Linux machines (probably because limited in processes number). command: cd GDevelop.js && source ../emsdk/emsdk_env.sh && npm run build && npm test -- --runInBand && cd .. - save_cache: paths: - GDevelop.js/node_modules key: gdevelop.js-linux-nodejs-dependencies-v2-{{ checksum "GDevelop.js/package-lock.json" }} # Upload artifacts (CircleCI) - store_artifacts: path: Binaries/embuild/GDevelop.js # Upload artifacts (AWS) - run: name: Deploy to S3 (specific commit) command: aws s3 sync Binaries/embuild/GDevelop.js s3://gdevelop-gdevelop.js/$(git rev-parse --abbrev-ref HEAD)/commit/$(git rev-parse HEAD)/ - run: name: Deploy to S3 (latest) command: aws s3 sync Binaries/embuild/GDevelop.js s3://gdevelop-gdevelop.js/$(git rev-parse --abbrev-ref HEAD)/latest/ # Build the WebAssembly library with clang-tidy and memory sanitizers. build-gdevelop_js-debug-sanitizers-and-extra-checks: resource_class: xlarge # Total time decrease linearly with the number of CPUs. docker: - image: cimg/node:24.13.0 working_directory: ~/GDevelop steps: - checkout - aws-cli/setup # System dependencies (for Emscripten) - run: name: Install dependencies for Emscripten command: sudo apt-get update && sudo apt install cmake - run: name: Install dependencies for clang-tidy v19 command: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 19 && sudo apt install clang-tidy-19 - run: name: Install Emscripten (for GDevelop.js) command: git clone https://github.com/juj/emsdk.git && cd emsdk && ./emsdk install 3.1.21 && ./emsdk activate 3.1.21 && cd .. # GDevelop.js dependencies - restore_cache: keys: - gdevelop.js-linux-nodejs-dependencies-v2-{{ checksum "GDevelop.js/package-lock.json" }} # fallback to using the latest cache if no exact match is found - gdevelop.js-linux-nodejs-dependencies-v2- - run: name: Install GDevelop.js dependencies and build it command: cd GDevelop.js && npm install && cd .. # Build GDevelop.js - run: name: Build GDevelop.js ('debug-sanitizers' variant) command: cd GDevelop.js && source ../emsdk/emsdk_env.sh && npm run build -- --variant=debug-sanitizers - run: name: Run clang-tidy command: cd GDevelop.js && npm run lint - run: name: Run tests command: cd GDevelop.js && npm run test -- --maxWorkers=4 # Upload artifacts (CircleCI) - store_artifacts: path: Binaries/embuild/GDevelop.js # Upload artifacts (AWS) - run: name: Deploy to S3 (specific commit) command: aws s3 sync Binaries/embuild/GDevelop.js s3://gdevelop-gdevelop.js/$(git rev-parse --abbrev-ref HEAD)/variant/debug-sanitizers/commit/$(git rev-parse HEAD)/ # Trigger AppVeyor build, which also does a Windows build (keep it for redundancy). trigger-appveyor-windows-build: docker: - image: cimg/base:current steps: - run: name: Trigger AppVeyor Windows build command: | curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ${APPVEYOR_API_KEY}" \ --data "{ \"accountName\": \"4ian\", \"projectSlug\": \"gdevelop\", \"branch\": \"${CIRCLE_BRANCH}\" }" \ -X POST https://ci.appveyor.com/api/builds build-windows: executor: name: win/default size: medium working_directory: /home/circleci/project steps: - checkout - run: # See https://www.ssl.com/how-to/how-to-integrate-esigner-cka-with-ci-cd-tools-for-automated-code-signing/ # # This is necessary because of "signing to be FIPS-140 compliant". See # https://github.com/electron-userland/electron-builder/issues/6158 # # Make sure to DISABLE "malware blocker" in SSL.com to avoid errors like: # Error information: "Error: SignerSign() failed." (-2146893821/0x80090003) name: Download and Unzip eSignerCKA Setup command: | Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip "https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3" Expand-Archive -Force eSigner_CKA_1.0.3.zip Remove-Item eSigner_CKA_1.0.3.zip Move-Item -Destination "eSigner_CKA_1.0.3.exe" -Path "eSigner_CKA_*\*.exe" - run: name: Setup eSignerCKA in Silent Mode command: | mkdir -p "/home/circleci/project/eSignerCKA" ./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR="/home/circleci/project/eSignerCKA" | Out-Null - run: name: Config Account Information on eSignerCKA command: | /home/circleci/project/eSignerCKA/eSignerCKATool.exe config -mode product -user "$env:ESIGNER_USER_NAME" -pass "$env:ESIGNER_USER_PASSWORD" -totp "$env:ESIGNER_USER_TOTP" -key "/home/circleci/project/eSignerCKA/master.key" -r - run: name: Load Certificate into Windows Store command: | /home/circleci/project/eSignerCKA/eSignerCKATool.exe unload /home/circleci/project/eSignerCKA/eSignerCKATool.exe load - run: name: Select Certificate From Windows Store and Sign Sample File with SignTool command: | $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Select-Object -First 1 echo Certificate: $CodeSigningCert - restore_cache: name: Restore node_modules cache keys: - v2-win-node-{{ checksum "newIDE/app/package-lock.json" }}-{{ checksum "newIDE/electron-app/package-lock.json" }}-{{ checksum "GDJS/package-lock.json" }} - v2-win-node- - run: name: Install dependencies no_output_timeout: 25m # Remove package-lock.json because they seems to cause the npm install to be stuck. We should try again after re-generating them. # Also install setuptools as something requires distutils in electron-app, and it was removed in Python 3.12. # setuptools will make distutils available again (but we should migrate our packages probably). command: | pip install setuptools cd newIDE\app npm -v Remove-Item package-lock.json $Env:REQUIRES_EXACT_LIBGD_JS_VERSION = "true" npm install cd ..\electron-app Remove-Item package-lock.json npm install cd ..\.. - save_cache: name: Save node_modules cache key: v2-win-node-{{ checksum "newIDE/app/package-lock.json" }}-{{ checksum "newIDE/electron-app/package-lock.json" }}-{{ checksum "GDJS/package-lock.json" }} paths: - newIDE/app/node_modules - newIDE/electron-app/node_modules - GDJS/node_modules - run: name: Build NSIS executable (with code signing) command: | cd newIDE\electron-app $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Select-Object -First 1 echo Certificate: $CodeSigningCert # Use a custom signtool path because of the signtool.exe bundled withy electron-builder not working for some reason. # Can also be found in versioned folders like "C:/Program Files (x86)/Windows Kits/10/bin/10.0.22000.0/x86/signtool.exe". # or "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x86\signtool.exe". $Env:SIGNTOOL_PATH = "C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe" # Extract thumbprint and subject name of the certificate (will be passed to electron-builder). $Env:GD_SIGNTOOL_THUMBPRINT = $CodeSigningCert.Thumbprint $Env:GD_SIGNTOOL_SUBJECT_NAME = ($CodeSigningCert.Subject -replace ", ?", "`n" | ConvertFrom-StringData).CN # Build the nsis installer (signed: electron-builder will use SignTool.exe with the certificate) node scripts/build.js --win nsis --publish=never cd ..\.. - run: name: Build AppX (without code signing) # Don't sign the appx (it will be signed by the Microsoft Store). command: | cd newIDE\electron-app # Build the appx (not signed). Ensure all variables used for code signing are empty. $Env:GD_SIGNTOOL_THUMBPRINT = '' $Env:GD_SIGNTOOL_SUBJECT_NAME = '' $Env:CSC_LINK = '' $Env:CSC_KEY_PASSWORD = '' node scripts/build.js --skip-app-build --win appx --publish=never cd ..\.. - run: name: Clean binaries shell: cmd.exe command: | rmdir /s /q newIDE\electron-app\dist\win-unpacked - run: name: Install AWS CLI command: | # Install the CLI for the current user pip install --quiet --upgrade --user awscli # Add the user-Scripts dir to PATH for this step and the next. $binDir = (python -m site --user-base) + "\Scripts" $Env:Path += ";$binDir" # Sanity check: aws --version # Upload artifacts (S3) - run: name: Deploy to S3 (specific commit) command: | aws s3 sync newIDE\electron-app\dist "s3://gdevelop-releases/$Env:CIRCLE_BRANCH/commit/$Env:CIRCLE_SHA1/" - run: name: Deploy to S3 (latest) command: | aws s3 sync newIDE\electron-app\dist "s3://gdevelop-releases/$Env:CIRCLE_BRANCH/latest/" # Upload artifacts (CircleCI) - store_artifacts: path: newIDE/electron-app/dist workflows: gdevelop_js-wasm-extra-checks: jobs: - build-gdevelop_js-debug-sanitizers-and-extra-checks: # Extra checks are resource intensive so don't always run them. filters: branches: only: - master - stable - /experimental-build.*/ builds: jobs: - build-gdevelop_js-wasm-only - build-macos: # The macOS version builds by itself GDevelop.js # (so we verify we can build it on macOS). # requires: # - build-gdevelop_js-wasm-only filters: branches: only: - master - stable - /experimental-build.*/ - build-linux: requires: - build-gdevelop_js-wasm-only filters: branches: only: - master - stable - /experimental-build.*/ - build-windows: requires: - build-gdevelop_js-wasm-only filters: branches: only: - master - stable - /experimental-build.*/ - trigger-appveyor-windows-build: requires: - build-gdevelop_js-wasm-only filters: branches: only: - master - stable - /experimental-build.*/
.circleci/config.yml
config.yml
ci
ci
4ian/GDevelop
10,154
JavaScript
noassertion
0.7028
false
# GitHub Action to build the Storybook of the editor and publish it for testing. # # Note that only the Storybook is built and GDevelop.js is not rebuilt (for speed concerns), # so changes in the C++ source could not be reflected if the CI run by Travis-CI # did not upload a freshly built GDevelop.js. name: Build Storybook on: # Launch on all commits. push: branches: - "**" tags-ignore: - "**" # Don't run on new tags # Allows to run this workflow manually from the Actions tab, # to publish on Chromatic (not done by default). workflow_dispatch: jobs: build-storybook: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: fetch-depth: 50 - uses: actions/setup-node@v3 with: node-version: 16 cache: "npm" cache-dependency-path: "newIDE/app/package-lock.json" - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v2 with: aws-access-key-id: ${{ secrets.BUILD_STORYBOOK_AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.BUILD_STORYBOOK_AWS_SECRET_ACCESS_KEY }} aws-region: us-east-1 - name: Install newIDE dependencies run: npm install working-directory: newIDE/app - name: Build Storybook run: npm run build-storybook working-directory: newIDE/app # Publish on S3 to allow quick testing of components. - name: Publish Storybook to S3 bucket (specific commit) run: aws s3 sync ./build-storybook/ s3://gdevelop-storybook/$(git rev-parse --abbrev-ref HEAD)/commit/$(git rev-parse HEAD)/ --delete working-directory: newIDE/app - name: Publish Storybook to S3 bucket (latest) run: aws s3 sync ./build-storybook/ s3://gdevelop-storybook/$(git rev-parse --abbrev-ref HEAD)/latest/ --delete working-directory: newIDE/app - name: Log urls to the Storybook run: | echo "Find the latest Storybook for this branch on https://gdevelop-storybook.s3.amazonaws.com/$(git rev-parse --abbrev-ref HEAD)/latest/index.html" echo "Find the Storybook for this commit on https://gdevelop-storybook.s3.amazonaws.com/$(git rev-parse --abbrev-ref HEAD)/commit/$(git rev-parse HEAD)/index.html" # Publish on Chromatic, only when manually launched (too costly to run on every commit). - name: Publish Storybook to Chromatic if: github.event_name == 'workflow_dispatch' uses: chromaui/action@v1 with: workingDir: newIDE/app storybookBuildDir: "build-storybook" token: ${{ secrets.GITHUB_TOKEN }} projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
.github/workflows/build-storybook.yml
build-storybook.yml
github_actions
github-actions-workflow
4ian/GDevelop
10,154
JavaScript
noassertion
0.638
false
# GitHub Action to extract translations and (later) upload them to Crowdin. name: Extract translations on: # Execute for all commits (to ensure translations extraction works) push: branches: - "**" tags-ignore: - "**" # Don't run on new tags # Allows to run this workflow manually from the Actions tab. workflow_dispatch: jobs: extract-translations: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: 16 cache: "npm" cache-dependency-path: "newIDE/app/package-lock.json" - name: Install gettext run: sudo apt update && sudo apt install gettext -y - name: Install newIDE dependencies run: npm ci working-directory: newIDE/app - name: Extract translations run: npm run extract-all-translations working-directory: newIDE/app # Only upload on Crowdin for the master branch - name: Install Crowdin CLI if: github.ref == 'refs/heads/master' run: npm i -g @crowdin/cli - name: Upload translations to Crowdin run: crowdin upload sources if: github.ref == 'refs/heads/master' env: CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
.github/workflows/extract-translations.yml
extract-translations.yml
github_actions
github-actions-workflow
4ian/GDevelop
10,154
JavaScript
noassertion
0.5875
false
# This worflow notifies arthuro555's gdcore-tools repository when a new release is published. # # This is used to allow gdcore-tools, a library to use GDCore outside of GDevelop, # to attempt to automatically build, test, and publish a release for the new # GDevelop version. name: Trigger gdcore-tools pipeline on: release: types: [published] jobs: dispatch-event: runs-on: ubuntu-latest steps: - name: Repository Dispatch uses: peter-evans/repository-dispatch@v3 with: token: ${{ secrets.GDCORE_TOOLS_PAT }} repository: arthuro555/gdcore-tools event-type: gdevelop-release client-payload: '{"release": ${{ toJson(github.event.release) }}}'
.github/workflows/gdcore-tools-hook.yml
gdcore-tools-hook.yml
github_actions
github-actions-workflow
4ian/GDevelop
10,154
JavaScript
noassertion
0.6609
false
name: GDevelop Issues automatic workflow on: issues: types: [opened] jobs: autocomment: runs-on: ubuntu-latest if: contains(github.event.issue.body, 'The node to be removed is not a child of this node') steps: - name: Autocomment indications on bug if it looks like #3453 uses: peter-evans/create-or-update-comment@v3 with: token: ${{ secrets.GITHUB_TOKEN }} issue-number: ${{ github.event.issue.number }} body: | Hi @${{ github.actor }}! Thank you for taking the time to open an issue. The solved issue #3453 mentioned a similar error, maybe it could help fix this new issue.
.github/workflows/issues.yml
issues.yml
github_actions
github-actions-workflow
4ian/GDevelop
10,154
JavaScript
noassertion
0.5225
false
name: GDevelop Issues automatic workflow on: pull_request: types: - opened - reopened - synchronize jobs: read-locales-metadata: if: github.event.pull_request.title == '[Auto PR] Update translations' runs-on: ubuntu-latest env: COMMENT_TITLE: "Translation ratio changes" steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Read and format locales metadata env: BASE: ${{ github.event.pull_request.base.sha }} HEAD: ${{ github.event.pull_request.head.sha }} run: | LANS=($(git diff $BASE...$HEAD -- newIDE/app/src/locales/LocalesMetadata.js | grep -E "^\s+\"languageName" | sed -E "s/^ *\"languageName\": \"//g" | sed -E "s/\",//g" | sed -E "s/ /_/g")) ADDS=($(git diff $BASE...$HEAD -- newIDE/app/src/locales/LocalesMetadata.js | grep -E "^\+\s*\"translationRatio\"" | sed -E "s/^\+ *\"translationRatio\": //g")) SUBS=($(git diff $BASE...$HEAD -- newIDE/app/src/locales/LocalesMetadata.js | grep -E "^\-\s*\"translationRatio\"" | sed -E "s/^\- *\"translationRatio\": //g")) touch sumup.md echo "## $COMMENT_TITLE" >> sumup.md echo "" >> sumup.md echo "| Language | Change |" >> sumup.md echo "| --- | --- |" >> sumup.md for index in ${!ADDS[@]}; do DELTA=$(echo "scale=3; (${ADDS[index]} - ${SUBS[index]})*100/1" | bc) if (( $(echo "$DELTA == 0" | bc -l) )); then continue fi LANGUAGE=${LANS[index]//_/ } echo "| $LANGUAGE | $(printf "%1.3f" $DELTA) % |" >> sumup.md done - name: Find Comment uses: peter-evans/find-comment@v2 id: fc with: token: ${{ secrets.GITHUB_TOKEN }} issue-number: ${{ github.event.number }} body-includes: ${{ env.COMMENT_TITLE }} - name: Autocomment pull request with sumup uses: peter-evans/create-or-update-comment@v3 with: token: ${{ secrets.GITHUB_TOKEN }} issue-number: ${{ github.event.number }} comment-id: ${{ steps.fc.outputs.comment-id }} edit-mode: replace body-path: "sumup.md"
.github/workflows/pull-requests.yml
pull-requests.yml
github_actions
github-actions-workflow
4ian/GDevelop
10,154
JavaScript
noassertion
0.5769
false
# GitHub Action to update extension translations. # It copies the latest messages.js files from the GDevelop-extensions repository # and opens a Pull Request with the changes on GDevelop's repository. name: Update extension translations on: push: branches: - master tags-ignore: - "**" # Don't run on new tags workflow_dispatch: # Allows manual triggering from the Actions tab jobs: update-extension-translations: runs-on: ubuntu-latest steps: - name: Checkout current repository uses: actions/checkout@v3 - name: Clone GDevelop-extensions repository run: git clone https://github.com/GDevelopApp/GDevelop-extensions.git /tmp/GDevelop-extensions - name: Copy and rename translation files run: | mkdir -p newIDE/app/src/locales for folder in /tmp/GDevelop-extensions/.translations/*; do if [ -d "$folder" ]; then lang=$(basename "$folder") mkdir -p "newIDE/app/src/locales/$lang" cp "$folder/messages.js" "newIDE/app/src/locales/$lang/extension-messages.js" fi done cp /tmp/GDevelop-extensions/.translations/LocalesMetadata.js newIDE/app/src/locales/ExtensionLocalesMetadata.js - name: Create Pull Request with updated translations uses: peter-evans/create-pull-request@v6 with: commit-message: Update extension translations [skip ci] branch: chore/update-extension-translations delete-branch: true title: "[Auto PR] Update extension translations" body: | This updates the extension translations by copying the latest messages.js files from the GDevelop-extensions repository. Each messages.js file is renamed to extension-messages.js and placed in the corresponding language folder under `newIDE/app/src/locales`. Please review the changes carefully before merging.
.github/workflows/update-extension-translations.yml
update-extension-translations.yml
github_actions
github-actions-workflow
4ian/GDevelop
10,154
JavaScript
noassertion
0.5801
false
# GitHub Action to update translations by downloading them from Crowdin, # and open a Pull Request with the changes. name: Update translations on: # Execute only on master push: branches: - master tags-ignore: - "**" # Don't run on new tags # Allows to run this workflow manually from the Actions tab. workflow_dispatch: jobs: update-translations: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: 20 cache: "npm" cache-dependency-path: "newIDE/app/package-lock.json" - name: Install gettext run: sudo apt update && sudo apt install gettext -y - name: Install newIDE dependencies run: npm install working-directory: newIDE/app # We need to extract translations first to make sure all the source strings # are included in the English catalogs. Otherwise, missing source strings # with parameters (like "My name is {0}.") would be shown as-is when # the app is built (but not in development - unclear why, LinguiJS issue?). - name: Extract translations run: npm run extract-all-translations working-directory: newIDE/app # (Build and) download the most recent translations (PO files) from Crowdin. - name: Install Crowdin CLI run: npm i -g @crowdin/cli - name: Download new translations from Crowdin run: crowdin download env: CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} # Seems like the three letters code is not handled properly by LinguiJS? # Do without this language while we find a solution. - name: Remove catalogs not handled properly by LinguiJS compile command. run: rm -rf newIDE/app/src/locales/pcm_NG/ - name: Compile translations into .js files that are read by LinguiJS run: npm run compile-translations working-directory: newIDE/app - name: Create a Pull Request with the changes uses: peter-evans/create-pull-request@v6 with: commit-message: Update translations [skip ci] branch: chore/update-translations delete-branch: true title: "[Auto PR] Update translations" body: | This updates the translations by downloading them from Crowdin and compiling them for usage by the app. Please double check the values in `newIDE/app/src/locales/LocalesMetadata.js` to ensure the changes are sensible.
.github/workflows/update-translations.yml
update-translations.yml
github_actions
github-actions-workflow
4ian/GDevelop
10,154
JavaScript
noassertion
0.6471
false
# Travis CI configuration to build and run all tests # (and typing/formatting) for the Core, newIDE, GDJS. # # See also Semaphore CI for quick tests (not building GDevelop.js, so # faster but not always reliable). dist: noble # Ubuntu 24.04 LTS language: cpp sudo: false compiler: - clang # Cache .npm folder for faster npm install cache: directories: - $HOME/.npm addons: apt: sources: - ubuntu-toolchain-r-test packages: # Build dependencies: - cmake - p7zip-full # Install libstdc++ dev for clang linking - libstdc++-14-dev install: # Ensure we use a recent version of Node.js (and npm). - nvm install v16 && nvm use v16 #Compile the tests only for GDCore - mkdir .build-tests - cd .build-tests - cmake -DBUILD_GDJS=FALSE -DBUILD_TESTS=TRUE -DCMAKE_CXX_COMPILER=$(which $CXX) -DCMAKE_C_COMPILER=$(which $CC) .. - make -j 4 - cd .. # Install Emscripten (for GDevelop.js) # Specify the tag for the core repository to avois breaking changes. - git clone --depth 1 --branch 3.1.21 https://github.com/juj/emsdk.git - cd emsdk && ./emsdk install 3.1.21 && ./emsdk activate 3.1.21 && cd .. # Install GDevelop.js dependencies - cd GDevelop.js && npm install && cd .. # Build GDevelop.js # (in a subshell to avoid Emscripten polluting the Node.js and npm version for the rest of the build) - (set -e; cd GDevelop.js && source ../emsdk/emsdk_env.sh && npm run build && cd ..) # Install newIDE tests dependencies - npm -v - cd newIDE/app && npm install - cd ../.. # Install GDJS tests dependencies - cd GDJS && npm install && cd tests && npm install - cd ../.. script: # GDCore tests: - cd .build-tests - Core/GDCore_tests - cd .. # GDevelop.js tests - cd GDevelop.js - npm test - cd .. # newIDE tests: - cd newIDE/app - npm test - npm run flow - npm run check-format - npm run check-script-types - cd ../.. # GDJS tests: - cd GDJS - npm run check-format - cd .. # GDJS game engine tests, disabled on Travis CI because ChromeHeadless can't be started. # See them running on Semaphore-CI instead: https://gdevelop.semaphoreci.com/projects/GDevelop # - cd GDJS/tests && npm test # - cd ../..
.travis.yml
.travis.yml
ci
travis
4ian/GDevelop
10,154
JavaScript
noassertion
0.7768
false
# This is the CMake file used to build GDevelop. # For more information, see the README.md file. cmake_minimum_required(VERSION 3.5) # Add utility functions include(scripts/CMakeClangUtils.txt) # To add clang-format and clang-tidy support to a target # Macro for defining an option macro(gd_set_option var default type docstring) if(NOT DEFINED ${var}) set(${var} ${default}) endif() set(${var} ${${var}} CACHE ${type} ${docstring} FORCE) endmacro() # Set options gd_set_option(BUILD_CORE TRUE BOOL "TRUE to build GDevelop Core library") gd_set_option(BUILD_GDJS TRUE BOOL "TRUE to build GDevelop JS Platform") gd_set_option(BUILD_EXTENSIONS TRUE BOOL "TRUE to build the extensions") gd_set_option(BUILD_TESTS TRUE BOOL "TRUE to build the tests") # Disable deprecated code set(NO_GUI TRUE CACHE BOOL "" FORCE) # Force disable old GUI related code. # Setting up installation directory, for Linux (has to be done before "project" command). if(NOT WIN32) if(NOT APPLE) gd_set_option(GD_INSTALL_PREFIX "/opt/gdevelop/" STRING "The directory where GDevelop should be installed") else() gd_set_option(GD_INSTALL_PREFIX "." STRING "The directory where GDevelop should be installed") endif() # As we embed SFML, prevent it to be installed system-wide set(CMAKE_INSTALL_PREFIX "${GD_INSTALL_PREFIX}/useless") endif() project(GDevelop) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) if(NOT WIN32 AND NOT APPLE AND NOT BUILD_TESTS) set(CMAKE_SKIP_BUILD_RPATH TRUE) # Avoid errors when packaging for linux. endif() if(APPLE) set(CMAKE_MACOSX_RPATH 1) set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE) set(CMAKE_INSTALL_RPATH ".") set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) add_compile_options( -D_WCHAR_H_CPLUSPLUS_98_CONFORMANCE_ -Wno-potentially-evaluated-expression) endif() # Sanity checks if("${CMAKE_BUILD_TYPE}" STREQUAL "") message(STATUS "CMAKE_BUILD_TYPE is empty, assuming build type is Release") set(CMAKE_BUILD_TYPE Release) endif() if("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND NOT WIN32 AND CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_SHARED_LINKER_FLAGS "-s") # Force stripping to avoid errors when packaging for linux. endif() #Activate C++11 set(CMAKE_CXX_STANDARD 11) # Upgrading to C++17 should be tried. set(CMAKE_CXX_STANDARD_REQUIRED ON) # Mark some warnings as errors if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") # Activate as much warnings as possible to avoid errors like # uninitialized variables or other hard to debug bugs. add_compile_options( -Wall -Wextra -Wuninitialized -Wconditional-uninitialized -Wno-unknown-warning-option -Wno-reorder-ctor -Wno-reorder -Wno-unused-parameter -Wno-pessimizing-move -Wno-unused-variable # Not a good style, but not a risk -Wno-unused-private-field -Wno-ignored-qualifiers # Not a risk -Wno-sign-compare # Not a big risk # Make as much warnings considered as errors as possible (only one for now). -Werror=return-stack-address -Werror=return-type) endif() # Define common directories: set(GD_base_dir ${CMAKE_CURRENT_SOURCE_DIR}) # Add all the CMakeLists: add_subdirectory(ExtLibs) if(BUILD_CORE) add_subdirectory(Core) endif() if(BUILD_GDJS) add_subdirectory(GDJS) endif() if(EMSCRIPTEN) add_subdirectory(GDevelop.js) endif() if(BUILD_EXTENSIONS) add_subdirectory(Extensions) endif()
CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6661
false
cmake_minimum_required(VERSION 3.5) project(GDCore) set(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1) # Force use response file: useful for Ninja build system on Windows. set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1) set(CMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES 1) set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES 1) # Define common directories: set(GDCORE_include_dir ${GD_base_dir}/Core PARENT_SCOPE) set(GDCORE_lib_dir ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME} PARENT_SCOPE) # Create VersionPriv.h - only useful for testing. if (NOT EMSCRIPTEN) file(WRITE "${GD_base_dir}/Core/GDCore/Tools/VersionPriv.h" "#define GD_VERSION_STRING \"0.0.0-0\"") endif() # Dependencies on external libraries: # # Defines # add_definitions(-DGD_IDE_ONLY) if(EMSCRIPTEN) add_definitions(-DEMSCRIPTEN) endif() if("${CMAKE_BUILD_TYPE}" MATCHES "Debug") add_definitions(-DDEBUG) else() add_definitions(-DRELEASE) endif() if(WIN32) add_definitions(-DWINDOWS) add_definitions("-DGD_CORE_API=__declspec(dllexport)") add_definitions(-D__GNUWIN32__) else() if(APPLE) add_definitions(-DMACOS) else() add_definitions(-DLINUX) endif() add_definitions(-DGD_API=) add_definitions(-DGD_CORE_API=) endif() # The target # include_directories(.) file( GLOB_RECURSE source_files GDCore/*) file( GLOB_RECURSE formatted_source_files tests/* GDCore/Events/* GDCore/Extensions/* GDCore/IDE/* GDCore/Project/* GDCore/Serialization/* GDCore/Tools/*) list( REMOVE_ITEM formatted_source_files "${CMAKE_CURRENT_SOURCE_DIR}/GDCore/IDE/Dialogs/GDCoreDialogs.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/GDCore/IDE/Dialogs/GDCoreDialogs.h" "${CMAKE_CURRENT_SOURCE_DIR}/GDCore/IDE/Dialogs/GDCoreDialogs_dialogs_bitmaps.cpp") gd_add_clang_utils(GDCore "${formatted_source_files}") if(EMSCRIPTEN) # Emscripten treats all libraries as static libraries add_library(GDCore STATIC ${source_files}) else() add_library(GDCore SHARED ${source_files}) endif() if(EMSCRIPTEN) set_target_properties(GDCore PROPERTIES SUFFIX ".bc") elseif(WIN32) set_target_properties(GDCore PROPERTIES PREFIX "") else() set_target_properties(GDCore PROPERTIES PREFIX "lib") endif() set(LIBRARY_OUTPUT_PATH ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}) set(ARCHIVE_OUTPUT_PATH ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}) set(RUNTIME_OUTPUT_PATH ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}) # Tests # if(BUILD_TESTS) file( GLOB_RECURSE test_source_files tests/*) add_executable(GDCore_tests ${test_source_files}) set_target_properties(GDCore_tests PROPERTIES BUILD_WITH_INSTALL_RPATH FALSE) # Allow finding dependencies directly from build path on Mac OS X. target_link_libraries(GDCore_tests GDCore) target_link_libraries(GDCore_tests ${CMAKE_DL_LIBS}) endif()
Core/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6413
false
cmake_minimum_required(VERSION 3.5) project(Scene3D) gd_add_extension_includes() # Defines # gd_add_extension_definitions(Scene3D) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(Scene3D "${source_files}") gd_add_extension_target(Scene3D "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(Scene3D)
Extensions/3D/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(AnchorBehavior) gd_add_extension_includes() # Defines # gd_add_extension_definitions(AnchorBehavior) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(AnchorBehavior "${source_files}") gd_add_extension_target(AnchorBehavior "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(AnchorBehavior)
Extensions/AnchorBehavior/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
# This is the CMake file used to build the C++ extensions. # For more information, see the README.md file. cmake_minimum_required(VERSION 3.5) project(GD-Extensions) include(CMakeUtils.txt) # Functions to factor common tasks done in CMakeLists.txt of extensions # List of non pure JS extensions set( GD_EXTENSIONS 3D AnchorBehavior DestroyOutsideBehavior DraggableBehavior Inventory LinkedObjects PanelSpriteObject ParticleSystem PathfindingBehavior PhysicsBehavior PlatformBehavior PrimitiveDrawing Shopify SystemInfo TextEntryObject TextObject TiledSpriteObject Spine TopDownMovementBehavior) # Automatically add all listed extensions foreach(extension ${GD_EXTENSIONS}) add_subdirectory(${extension}) endforeach()
Extensions/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6031
false
cmake_minimum_required(VERSION 3.5) project(DestroyOutsideBehavior) gd_add_extension_includes() # Defines # gd_add_extension_definitions(DestroyOutsideBehavior) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(DestroyOutsideBehavior "${source_files}") gd_add_extension_target(DestroyOutsideBehavior "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(DestroyOutsideBehavior GDCore)
Extensions/DestroyOutsideBehavior/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(DraggableBehavior) gd_add_extension_includes() # Defines # gd_add_extension_definitions(DraggableBehavior) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(DraggableBehavior "${source_files}") gd_add_extension_target(DraggableBehavior "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(DraggableBehavior)
Extensions/DraggableBehavior/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(Inventory) gd_add_extension_includes() # Defines # gd_add_extension_definitions(Inventory) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(Inventory "${source_files}") gd_add_extension_target(Inventory "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(Inventory)
Extensions/Inventory/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(LinkedObjects) gd_add_extension_includes() # Defines # gd_add_extension_definitions(LinkedObjects) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(LinkedObjects "${source_files}") gd_add_extension_target(LinkedObjects "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(LinkedObjects)
Extensions/LinkedObjects/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(PanelSpriteObject) gd_add_extension_includes() # Defines # gd_add_extension_definitions(PanelSpriteObject) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(PanelSpriteObject "${source_files}") gd_add_extension_target(PanelSpriteObject "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(PanelSpriteObject)
Extensions/PanelSpriteObject/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(ParticleSystem) gd_add_extension_includes() # Defines # gd_add_extension_definitions(ParticleSystem) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(ParticleSystem "${source_files}") gd_add_extension_target(ParticleSystem "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(ParticleSystem)
Extensions/ParticleSystem/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(PathfindingBehavior) gd_add_extension_includes() # Defines # gd_add_extension_definitions(PathfindingBehavior) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(PathfindingBehavior "${source_files}") gd_add_extension_target(PathfindingBehavior "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(PathfindingBehavior)
Extensions/PathfindingBehavior/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(PhysicsBehavior) gd_add_extension_includes() # Defines # gd_add_extension_definitions(PhysicsBehavior) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(PhysicsBehavior "${source_files}") gd_add_extension_target(PhysicsBehavior "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(PhysicsBehavior)
Extensions/PhysicsBehavior/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(PlatformBehavior) gd_add_extension_includes() # Defines # gd_add_extension_definitions(PlatformBehavior) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(PlatformBehavior "${source_files}") gd_add_extension_target(PlatformBehavior "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(PlatformBehavior)
Extensions/PlatformBehavior/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(PrimitiveDrawing) gd_add_extension_includes() # Defines # gd_add_extension_definitions(PrimitiveDrawing) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(PrimitiveDrawing "${source_files}") gd_add_extension_target(PrimitiveDrawing "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(PrimitiveDrawing)
Extensions/PrimitiveDrawing/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(Shopify) gd_add_extension_includes() # Defines # gd_add_extension_definitions(Shopify) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_extension_target( Shopify "${source_files}" "JsPlatform") gd_add_clang_utils(Shopify "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(Shopify)
Extensions/Shopify/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6541
false
cmake_minimum_required(VERSION 3.5) project(SpineObject) gd_add_extension_includes() # Defines # gd_add_extension_definitions(SpineObject) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(SpineObject "${source_files}") gd_add_extension_target(SpineObject "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(SpineObject)
Extensions/Spine/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(SystemInfo) gd_add_extension_includes() # Defines # gd_add_extension_definitions(SystemInfo) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(SystemInfo "${source_files}") gd_add_extension_target(SystemInfo "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(SystemInfo)
Extensions/SystemInfo/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(TextEntryObject) gd_add_extension_includes() # Defines # gd_add_extension_definitions(TextEntryObject) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(TextEntryObject "${source_files}") gd_add_extension_target(TextEntryObject "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(TextEntryObject)
Extensions/TextEntryObject/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(TextObject) gd_add_extension_includes() # Defines # gd_add_extension_definitions(TextObject) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(TextObject "${source_files}") gd_add_extension_target(TextObject "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(TextObject)
Extensions/TextObject/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(TiledSpriteObject) gd_add_extension_includes() # Defines # gd_add_extension_definitions(TiledSpriteObject) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(TiledSpriteObject "${source_files}") gd_add_extension_target(TiledSpriteObject "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(TiledSpriteObject)
Extensions/TiledSpriteObject/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(TopDownMovementBehavior) gd_add_extension_includes() # Defines # gd_add_extension_definitions(TopDownMovementBehavior) # The targets # include_directories(.) file( GLOB source_files *.cpp *.h) gd_add_clang_utils(TopDownMovementBehavior "${source_files}") gd_add_extension_target(TopDownMovementBehavior "${source_files}") # Linker files for the IDE extension # gd_extension_link_libraries(TopDownMovementBehavior)
Extensions/TopDownMovementBehavior/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6629
false
cmake_minimum_required(VERSION 3.5) project(GDJS) # Dependencies on external libraries: # include_directories(${GDCORE_include_dir}) # Defines # add_definitions(-DGD_IDE_ONLY) if(EMSCRIPTEN) add_definitions(-DEMSCRIPTEN) endif() if("${CMAKE_BUILD_TYPE}" MATCHES "Debug") add_definitions(-DDEBUG) else() add_definitions(-DRELEASE) endif() if(WIN32) add_definitions(-DWINDOWS) add_definitions("-DGD_API=__declspec(dllexport)") add_definitions("-DGD_CORE_API=__declspec(dllimport)") add_definitions(-D__GNUWIN32__) else() if(APPLE) add_definitions(-DMACOS) else() add_definitions(-DLINUX) endif() add_definitions(-DGD_API=) add_definitions(-DGD_CORE_API=) endif() # The target # include_directories(.) file( GLOB f1 GDJS/* GDJS/IDE/* GDJS/IDE/mongoose/*) file( GLOB_RECURSE f2 GDJS/Extensions/* GDJS/Events/*) set(source_files ${f1} ${f2}) if(NOT EMSCRIPTEN) file( GLOB_RECURSE f3 GDJS/IDE/Dialogs/*) set(source_files ${source_files} ${f3}) endif() file( GLOB_RECURSE formatted_source_files GDJS/Events/* GDJS/Extensions/* GDJS/IDE/*) gd_add_clang_utils(GDJS "${formatted_source_files}") if(EMSCRIPTEN) # Emscripten treats all libraries as static libraries add_library(GDJS STATIC ${source_files}) else() add_library(GDJS SHARED ${source_files}) endif() if(EMSCRIPTEN) set_target_properties(GDJS PROPERTIES SUFFIX ".bc") elseif(WIN32) set_target_properties(GDJS PROPERTIES PREFIX "") else() set_target_properties(GDJS PROPERTIES PREFIX "lib") endif() set_target_properties(GDJS PROPERTIES MACOS_RPATH "..") set(LIBRARY_OUTPUT_PATH ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/JsPlatform) set(ARCHIVE_OUTPUT_PATH ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/JsPlatform) set(RUNTIME_OUTPUT_PATH ${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/JsPlatform) # Linker files # if(NOT EMSCRIPTEN) target_link_libraries(GDJS GDCore) endif()
GDJS/CMakeLists.txt
CMakeLists.txt
makefile
cmake
4ian/GDevelop
10,154
JavaScript
noassertion
0.6414
false
End of preview. Expand in Data Studio

Build/CI Configuration Corpus

A curated dataset of build, CI/CD, and project configuration files from top GitHub repositories.

Repositories are sourced from ronantakizawa/github-top-projects, which tracks GitHub's top repositories from 2013–2025.

Use Cases

  • Fine-tuning LLMs for DevOps/infrastructure code generation
  • Training code completion models for configuration files
  • Benchmarking LLM performance on build/CI tasks

Screenshot 2026-03-01 at 11.21.07 AM

Schema

Field Type Description
content string Full file content
file_path string Path within repository
file_name string Filename only
category string High-level category (see above)
config_type string Specific config type (e.g., "docker-compose", "tsconfig")
repo_name string Repository (owner/name)
repo_stars int64 Star count
repo_language string Primary language of repository
license string SPDX license identifier
quality_score float32 Quality score (0.0–1.0), see below
is_generated bool Whether file appears auto-generated (lower signal for training)

Quality Filtering

The dataset undergoes three quality filtering stages:

  1. Minimum size: Files with fewer than 5 lines or 50 characters are removed (trivial configs like 2-line .nvmrc files add no training signal).

  2. Near-deduplication: MinHash LSH (128 permutations, Jaccard threshold 0.85) removes near-duplicate files. Within each duplicate cluster, the version from the highest-starred repository is kept. This eliminates hundreds of copies of common starter templates (e.g., default tsconfig.json, boilerplate Dockerfile).

  3. Makefile scoping: Makefiles are restricted to root-level and 1 directory deep, preventing large C/C++ repos from flooding the dataset with subdirectory Makefiles.

Quality Score

Each file receives a quality score (0.0–1.0) based on four equally-weighted factors:

  • Comment density (0–0.25): Files with comments/annotations teach intent, not just syntax
  • Content length (0–0.25): Longer files are more substantive (log-scaled, capped at 500 lines)
  • Repository quality (0–0.25): Higher-starred repos signal better engineering practices (log-scaled)
  • Non-trivial ratio (0–0.25): Ratio of meaningful lines vs blank/bracket-only lines

Use quality_score to filter for higher-quality examples during training:

high_quality = ds["train"].filter(lambda x: x["quality_score"] >= 0.5)

Splits

  • train (90%): For training
  • test (10%): For evaluation

Splits are deterministic by repository (all files from a repo go to the same split).

Usage

from datasets import load_dataset

ds = load_dataset("ronantakizawa/codeconfig")

# Filter by category
dockerfiles = ds["train"].filter(lambda x: x["category"] == "dockerfile")
github_actions = ds["train"].filter(lambda x: x["category"] == "github_actions")

# Filter by specific config type
tsconfigs = ds["train"].filter(lambda x: x["config_type"] == "tsconfig")
Downloads last month
18