From 9fb8c46ceb146c88772448f05623761584ef9a84 Mon Sep 17 00:00:00 2001 From: jefferyq2 <168150414+jefferyq2@users.noreply.github.com> Date: Mon, 10 Jun 2024 20:23:46 -0400 Subject: [PATCH 01/17] Create python-publish.yml --- .github/workflows/python-publish.yml | 39 ++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/python-publish.yml diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml new file mode 100644 index 00000000..b7a704be --- /dev/null +++ b/.github/workflows/python-publish.yml @@ -0,0 +1,39 @@ +# This workflow will upload a Python Package using Twine when a release is created +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Upload Python Package + +on: + release: + types: [published] + +permissions: + contents: read + +jobs: + deploy: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install build + - name: Build package + run: python -m build + - name: Publish package + uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} From 0eb6a003b8c35893d977f13ad75a7338e1b00396 Mon Sep 17 00:00:00 2001 From: Jeffery Queen Date: Mon, 10 Jun 2024 20:24:27 -0400 Subject: [PATCH 02/17] From 55c023939e3f46a118e9a84393cb335946af61fa Mon Sep 17 00:00:00 2001 From: Jeffery Queen Date: Mon, 10 Jun 2024 20:24:33 -0400 Subject: [PATCH 03/17] From 98f09fbc9386f2ce6d8a090c17c9b56ba8e7006b Mon Sep 17 00:00:00 2001 From: Jeffery Queen Date: Mon, 10 Jun 2024 20:24:40 -0400 Subject: [PATCH 04/17] From 56e836eafd97da50327bf10501fa217855f2223a Mon Sep 17 00:00:00 2001 From: Jeffery Queen Date: Mon, 10 Jun 2024 20:24:46 -0400 Subject: [PATCH 05/17] From ad2c22a9b7940de4c17a36a9cbcd86a83355215c Mon Sep 17 00:00:00 2001 From: Jeffery Queen Date: Mon, 10 Jun 2024 20:25:01 -0400 Subject: [PATCH 06/17] From ce76be7e9622b7de29a61cfcd4c765b24e3b6863 Mon Sep 17 00:00:00 2001 From: jefferyq2 <168150414+jefferyq2@users.noreply.github.com> Date: Thu, 13 Jun 2024 16:46:15 -0400 Subject: [PATCH 07/17] Create python-package.yml --- .github/workflows/python-package.yml | 40 ++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/python-package.yml diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml new file mode 100644 index 00000000..dcfa3db4 --- /dev/null +++ b/.github/workflows/python-package.yml @@ -0,0 +1,40 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Python package + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.9", "3.10", "3.11"] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest From 05ddad6fb56dd10138a57aaee4e242a0bb31b380 Mon Sep 17 00:00:00 2001 From: jefferyq2 <168150414+jefferyq2@users.noreply.github.com> Date: Thu, 13 Jun 2024 16:46:41 -0400 Subject: [PATCH 08/17] Create codeql.yes --- .github/workflows/codeql.yml | 93 ++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 00000000..f29b2176 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,93 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + schedule: + - cron: '16 22 * * 4' + +jobs: + analyze: + name: Analyze (${{ matrix.language }}) + # Runner size impacts CodeQL analysis time. To learn more, please see: + # - https://gh.io/recommended-hardware-resources-for-running-codeql + # - https://gh.io/supported-runners-and-hardware-resources + # - https://gh.io/using-larger-runners (GitHub.com only) + # Consider using larger runners or machines with greater resources for possible analysis time improvements. + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} + permissions: + # required for all workflows + security-events: write + + # required to fetch internal or private CodeQL packs + packages: read + + # only required for workflows in private repositories + actions: read + contents: read + + strategy: + fail-fast: false + matrix: + include: + - language: python + build-mode: none + # CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' + # Use `c-cpp` to analyze code written in C, C++ or both + # Use 'java-kotlin' to analyze code written in Java, Kotlin or both + # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both + # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis, + # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning. + # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how + # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + build-mode: ${{ matrix.build-mode }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + # If the analyze step fails for one of the languages you are analyzing with + # "We were unable to automatically build your code", modify the matrix above + # to set the build mode to "manual" for that language. Then modify this step + # to build your code. + # ℹī¸ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + - if: matrix.build-mode == 'manual' + shell: bash + run: | + echo 'If you are using a "manual" build mode for one or more of the' \ + 'languages you are analyzing, replace this with the commands to build' \ + 'your code, for example:' + echo ' make bootstrap' + echo ' make release' + exit 1 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" From 769fc8b8adb824e97eede6609b62f0dc1953977f Mon Sep 17 00:00:00 2001 From: jefferyq2 <168150414+jefferyq2@users.noreply.github.com> Date: Thu, 13 Jun 2024 16:47:31 -0400 Subject: [PATCH 09/17] Create cmake-multi-platform.yml --- .github/workflows/cmake-multi-platform.yml | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .github/workflows/cmake-multi-platform.yml diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml new file mode 100644 index 00000000..f21a025c --- /dev/null +++ b/.github/workflows/cmake-multi-platform.yml @@ -0,0 +1,75 @@ +# This starter workflow is for a CMake project running on multiple platforms. There is a different starter workflow if you just want a single platform. +# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-single-platform.yml +name: CMake on multiple platforms + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + runs-on: ${{ matrix.os }} + + strategy: + # Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable. + fail-fast: false + + # Set up a matrix to run the following 3 configurations: + # 1. + # 2. + # 3. + # + # To add more build types (Release, Debug, RelWithDebInfo, etc.) customize the build_type list. + matrix: + os: [ubuntu-latest, windows-latest] + build_type: [Release] + c_compiler: [gcc, clang, cl] + include: + - os: windows-latest + c_compiler: cl + cpp_compiler: cl + - os: ubuntu-latest + c_compiler: gcc + cpp_compiler: g++ + - os: ubuntu-latest + c_compiler: clang + cpp_compiler: clang++ + exclude: + - os: windows-latest + c_compiler: gcc + - os: windows-latest + c_compiler: clang + - os: ubuntu-latest + c_compiler: cl + + steps: + - uses: actions/checkout@v4 + + - name: Set reusable strings + # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file. + id: strings + shell: bash + run: | + echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT" + + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: > + cmake -B ${{ steps.strings.outputs.build-output-dir }} + -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} + -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} + -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} + -S ${{ github.workspace }} + + - name: Build + # Build your program with the given configuration. Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator). + run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build_type }} + + - name: Test + working-directory: ${{ steps.strings.outputs.build-output-dir }} + # Execute tests defined by the CMake configuration. Note that --build-config is needed because the default Windows generator is a multi-config generator (Visual Studio generator). + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + run: ctest --build-config ${{ matrix.build_type }} From 1bcbcb9f8787dba714d5dc0d12d090191026bfdf Mon Sep 17 00:00:00 2001 From: jefferyq2 <168150414+jefferyq2@users.noreply.github.com> Date: Thu, 13 Jun 2024 16:47:46 -0400 Subject: [PATCH 10/17] Create manual.yml --- .github/workflows/manual.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/workflows/manual.yml diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml new file mode 100644 index 00000000..11b2e355 --- /dev/null +++ b/.github/workflows/manual.yml @@ -0,0 +1,32 @@ +# This is a basic workflow that is manually triggered + +name: Manual workflow + +# Controls when the action will run. Workflow runs when manually triggered using the UI +# or API. +on: + workflow_dispatch: + # Inputs the workflow accepts. + inputs: + name: + # Friendly description to be shown in the UI instead of 'name' + description: 'Person to greet' + # Default value if no value is explicitly provided + default: 'World' + # Input has to be provided for the workflow to run + required: true + # The data type of the input + type: string + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "greet" + greet: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Runs a single command using the runners shell + - name: Send greeting + run: echo "Hello ${{ inputs.name }}" From 9d1ac98242decab1321327885110bd0dd67d7d12 Mon Sep 17 00:00:00 2001 From: jefferyq2 <168150414+jefferyq2@users.noreply.github.com> Date: Thu, 13 Jun 2024 16:48:11 -0400 Subject: [PATCH 11/17] Create static.yml --- .github/workflows/static.yml | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/static.yml diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml new file mode 100644 index 00000000..0ba82305 --- /dev/null +++ b/.github/workflows/static.yml @@ -0,0 +1,43 @@ +# Simple workflow for deploying static content to GitHub Pages +name: Deploy static content to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["master"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Single deploy job since we're just deploying + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + # Upload entire repository + path: '.' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 From c5ba54d2f4e69f3b511db39bee691da766cbdbc2 Mon Sep 17 00:00:00 2001 From: Jeffery Queen Date: Wed, 19 Jun 2024 13:43:39 -0400 Subject: [PATCH 12/17] From d9b222a24f533859bf1bf2b2ef1a38a1587cab73 Mon Sep 17 00:00:00 2001 From: Jeffery Queen Date: Wed, 19 Jun 2024 13:43:52 -0400 Subject: [PATCH 13/17] From 53278a9777600b099aeb14712686286f35791382 Mon Sep 17 00:00:00 2001 From: Jeffery Queen Date: Wed, 19 Jun 2024 13:43:57 -0400 Subject: [PATCH 14/17] From 4d5fdc23330c15b953d2f5cf959c70553048016f Mon Sep 17 00:00:00 2001 From: Jeffery Queen Date: Wed, 19 Jun 2024 13:44:03 -0400 Subject: [PATCH 15/17] From 611e4f8591cb6928a7a89a04d0dddaca10db297f Mon Sep 17 00:00:00 2001 From: jefferyq2 Date: Mon, 30 Sep 2024 08:05:29 -0700 Subject: [PATCH 16/17] jq --- .DS_Store | Bin 0 -> 6148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..bb00367ed3942531c642b215a2d83ca67b44b263 GIT binary patch literal 6148 zcmeHKu}%U(5Pb`$Vx*wN?!LfCOsr3G_8NY`00vCB90?E;t4sU>OKZQt*22=pLO;nj zy9?fWU`dRbNoL;O?99#FJ95JUFx|zl1GE4%sDib9nl&Q(q7|umPm^fm9+Oe0H^{ST zB~l%Kl>vEo5somz4d%i7i%#Clds&{Q{Yl=ZukreUm#53Ovv7a->;80H`fco9Fco{t zx)@`Deo!5U&((->54VrCdz{)He%vR^zdP9+74(B+>1PLXTw_K%3wwFE3wO(Xw43#1 zAEo?q59=es`kzu?MHx^Al!0wAz?m)5IB=*|8Bhk4ffWPteTb=oiO0gB{dCaSBLFd? z+X~k$SrB87iO0ercPPfC5?!kCM-1cA>5qL};<0e((qa7J!}!X^pHPgg&iltU942w7 zRvAzRLI&#YvL*BXeDnD~Owuc5KpFT~445eGrCmOfpRJXLlUW;6uc#stS2$dyaA8L= fV`UV#saEKZWkF0l77pp5=pO+~gBoREs| Date: Tue, 1 Oct 2024 11:43:32 -0700 Subject: [PATCH 17/17] jq --- .DS_Store | Bin 6148 -> 6148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.DS_Store b/.DS_Store index bb00367ed3942531c642b215a2d83ca67b44b263..d690aa9bedf87c7d094e9ebfe337939e72a351fa 100644 GIT binary patch delta 190 zcmZoMXffEJ#uO{}l!1YPg+Y%YogtHxh<#ev5hQRP$c$`@o9 z1}Ep|76A1yFt7zoZe~(slH53X8Iv4a`Anu}2D8Z@m_#PuW8y(@l^6{s3o~14NboQN d<-yjmGL$f+G86;J;@o_Mg%A~+OPD8!0079DF$(|y