Andrewshin-7th-technology-student / build-CI

Building a CI web config. for the XXC file GO TO THE LINK TO SEE REPO RULES, ETC.
https://github.com/Andrewshin-7th-technology-student/build-CI/blob/main/.repo%20files/README.md
GNU Affero General Public License v3.0
3 stars 1 forks source link

Merge #52

Closed Andrewshin-7th-technology-student closed 1 day ago

Andrewshin-7th-technology-student commented 1 day ago

PR Type

enhancement, configuration changes, dependencies


Description


Changes walkthrough 📝

Relevant files
Enhancement
4 files
PullRequest.cs
Implement Pull Request Creation and Update Logic                 

OpenPrFunction/PullRequest.cs
  • Implemented OpenAsync method to handle pull request creation and
    updates.
  • Utilized GitHub API for repository and pull request management.
  • Added logic to handle branch and commit retrieval.
  • Integrated settings for branch overrides and labels.
  • +100/-0 
    OpenPr.cs
    Add Azure Function for Pull Request Operations                     

    OpenPrFunction/OpenPr.cs
  • Added Azure Function OpenPr to trigger pull request operations.
  • Integrated logging for installation and pull request processes.
  • Utilized Azure Table Storage for settings retrieval.
  • Managed GitHub installation tokens for authentication.
  • +87/-0   
    ImageStat.cs
    Define ImageStat Class for Image Statistics                           

    OpenPrFunction/ImageStat.cs
  • Defined ImageStat class for image statistics handling.
  • Implemented ToDouble method for size conversion.
  • +22/-0   
    IPullRequest.cs
    Create IPullRequest Interface for Pull Request Operations

    OpenPrFunction/IPullRequest.cs
  • Created IPullRequest interface for pull request operations.
  • Defined OpenAsync method signature.
  • +11/-0   
    Configuration changes
    8 files
    configure.sh
    Update Shell Script with Java Branch Protection                   

    build/configure.sh - Added `genjava` command for Java branch protection.
    +1/-0     
    dependabot.yml
    Update Dependabot Configuration for GitHub Actions             

    .github/dependabot.yml
  • Updated package ecosystem to github-actions.
  • Added reviewers and assignees for pull requests.
  • +26/-19 
    dockerimage.yml
    Add Docker Image CI Workflow                                                         

    .github/workflows/dockerimage.yml - Added Docker Image CI workflow for building Docker images.
    +18/-0   
    cr.yml
    Add Code Review Workflow with ChatGPT Integration               

    .github/workflows/cr.yml - Added Code Review workflow using ChatGPT-CodeReview action.
    +27/-0   
    gitguardian.yaml
    Add GitGuardian Secret Detection Workflow                               

    .github/workflows/gitguardian.yaml - Added GitGuardian scan workflow for secret detection.
    +21/-0   
    prettier-check.yml
    Add Prettier Check Workflow for Code Formatting                   

    .github/workflows/prettier-check.yml - Added Prettier check workflow for code formatting.
    +23/-0   
    dependabot-auto-merger.yml
    Add Dependabot Auto-Merge Workflow                                             

    .github/dependabot-auto-merger.yml - Added workflow for automatic merging of Dependabot PRs.
    +18/-0   
    imagebot.yml
    Add ImageBot Workflow for Image Optimization                         

    .github/imagebot.yml - Added ImageBot workflow for image optimization.
    +16/-0   
    Dependencies
    3 files
    Development .yml
    Update GitHub Actions for Development Workflow                     

    .github/workflows/Development .yml
  • Updated GitHub Actions to use latest versions of setup-python and
    checkout.
  • Removed macOS-14 from build matrix.
  • +17/-17 
    Package.yml
    Update Python Setup and PyPI Publish Actions                         

    .github/workflows/Package.yml
  • Updated setup-python to version 5 in GitHub Actions.
  • Updated gh-action-pypi-publish to a specific commit.
  • +2/-2     
    Deployment.yml
    Update Python Setup in Deployment Workflow                             

    .github/workflows/Deployment.yml - Updated `setup-python` to version 5 in deployment workflow.
    +1/-1     

    💡 PR-Agent usage: Comment /help "your question" on any pull request to receive relevant information

    cr-gpt[bot] commented 1 day ago

    Seems you are using me but didn't get OPENAI_API_KEY seted in Variables/Secrets for this repo. you could follow readme for more information

    semanticdiff-com[bot] commented 1 day ago

    Review changes with SemanticDiff.

    Analyzed 18 of 187 files.

    Overall, the semantic diff is 7% smaller than the GitHub diff.

    3 files do not contain logic changes.

    File Information | | Filename | Status | | --- | :--- | :--- | | :grey_question: | \.deepsource\.toml | Unsupported file format | | :grey_question: | \.imgbotconfig | Unsupported file format | | :grey_question: | \.unibeautifyrc\.yml | Unsupported file format | | :grey_question: | Dockerfile\.CompressImages | Unsupported file format | | :grey_question: | GITHUB\_TOKEN | Unsupported file format | | :grey_question: | ImageBot\.ruleset | Unsupported file format | | :grey_question: | ImageBot\.sln | Unsupported file format | | :grey_question: | ImageBot\.targets | Unsupported file format | | :grey_question: | Production\_deploymet\_name\.yml | Unsupported file format | | :grey_question: | drawing\_6\.jpg | Unsupported file format | | :grey_question: | game\_start\.scr\.example | Unsupported file format | | :grey_question: | header\.png | Unsupported file format | | :grey_question: | open\.png | Unsupported file format | | :heavy_check_mark: | [renovate\.json](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#renovate.json) | Analyzed | | :grey_question: | template\.md | Unsupported file format | | :grey_question: | progress dump/array\.txt | Unsupported file format | | :heavy_check_mark: | [progress dump/main\.html](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#progress%20dump/main.html) | No logic changes found | | :grey_question: | png/README\.md | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/bim\.ico | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/britannica\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/campus\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/canvas\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/classlink\-login\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/classroom\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/clever\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/deltamath\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/dictionary\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/drive\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/ducksters\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/edpuzzle\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/favicon\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/gmail\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/goguardian\-lock\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/goguardian\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/google\-docs\.ico | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/google\-meet\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/google\-slides\.ico | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/google\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/googleforms\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/i\-ready\.ico | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/ixl\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/kami\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/khan\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/linkit\.ico | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/main\-inverted\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/main\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/minga\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/naviance\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/nearpod\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/newsela\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/noredink\.webp | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/pbslearningmedia\.ico | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/powerschool\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/quizlet\.webp | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/savvas\-realize\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/schoology\.ico | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/schoology\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/smartpass\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/space\.ico | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/studentvue\.ico | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/thesaurus\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/wbo\.ico | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/wikipedia\.png | Unsupported file format | | :grey_question: | png/game\-launcher\-icons/worldhistoryencyclopedia\.png | Unsupported file format | | :heavy_check_mark: | [page/codemirror\.css](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#page/codemirror.css) | Analyzed | | :heavy_check_mark: | [page/javascript\.js](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#page/javascript.js) | 13.24% smaller | | :grey_question: | page/page\_maSBC9\.html | Unsupported file format | | :heavy_check_mark: | [page/simple\-mode\.js](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#page/simple-mode.js) | Analyzed | | :grey_question: | main/path/main\.html | Unsupported file format | | :grey_question: | img/1\.webp | Unsupported file format | | :grey_question: | img/1v1\-lol\.webp | Unsupported file format | | :grey_question: | img/2048\.webp | Unsupported file format | | :grey_question: | img/2D\-Rocket\-League\.webp | Unsupported file format | | :grey_question: | img/3slices\.webp | Unsupported file format | | :grey_question: | img/60\-second\-burger\-run\.webp | Unsupported file format | | :grey_question: | img/8ball\.webp | Unsupported file format | | :grey_question: | img/aa\.webp | Unsupported file format | | :grey_question: | img/acww\.webp | Unsupported file format | | :grey_question: | img/bim\.ico | Unsupported file format | | :grey_question: | img/britannica\.png | Unsupported file format | | :grey_question: | img/campus\.png | Unsupported file format | | :grey_question: | img/canvas\.png | Unsupported file format | | :grey_question: | img/classlink\-login\.png | Unsupported file format | | :grey_question: | img/classroom\.png | Unsupported file format | | :grey_question: | img/clever\.png | Unsupported file format | | :grey_question: | img/deltamath\.png | Unsupported file format | | :grey_question: | img/dictionary\.png | Unsupported file format | | :grey_question: | img/drive\.png | Unsupported file format | | :grey_question: | img/ducksters\.png | Unsupported file format | | :grey_question: | img/edpuzzle\.png | Unsupported file format | | :grey_question: | img/favicon\.png | Unsupported file format | | :grey_question: | img/full\-inverted\.png | Unsupported file format | | :grey_question: | img/full\-main\.png | Unsupported file format | | :grey_question: | img/gmail\.png | Unsupported file format | | :grey_question: | img/goguardian\-lock\.png | Unsupported file format | | :grey_question: | img/goguardian\.png | Unsupported file format | | :grey_question: | img/google\-docs\.ico | Unsupported file format | | :grey_question: | img/google\-meet\.png | Unsupported file format | | :grey_question: | img/google\-slides\.ico | Unsupported file format | | :grey_question: | img/google\.png | Unsupported file format | | :grey_question: | img/googleforms\.png | Unsupported file format | | :grey_question: | img/i\-ready\.ico | Unsupported file format | | :grey_question: | img/img\.txt | Unsupported file format | | :grey_question: | img/ixl\.png | Unsupported file format | | :grey_question: | img/kami\.png | Unsupported file format | | :grey_question: | img/khan\.png | Unsupported file format | | :grey_question: | img/linkit\.ico | Unsupported file format | | :grey_question: | img/main\-inverted\.png | Unsupported file format | | :grey_question: | img/main\.png | Unsupported file format | | :grey_question: | img/minga\.png | Unsupported file format | | :grey_question: | img/naviance\.png | Unsupported file format | | :grey_question: | img/nearpod\.png | Unsupported file format | | :grey_question: | img/newsela\.png | Unsupported file format | | :grey_question: | img/noredink\.webp | Unsupported file format | | :grey_question: | img/pbslearningmedia\.ico | Unsupported file format | | :grey_question: | img/powerschool\.png | Unsupported file format | | :grey_question: | img/quizlet\.webp | Unsupported file format | | :grey_question: | img/savvas\-realize\.png | Unsupported file format | | :grey_question: | img/schoology\.ico | Unsupported file format | | :grey_question: | img/schoology\.png | Unsupported file format | | :grey_question: | img/smartpass\.png | Unsupported file format | | :grey_question: | img/space\.ico | Unsupported file format | | :grey_question: | img/studentvue\.ico | Unsupported file format | | :grey_question: | img/thesaurus\.png | Unsupported file format | | :grey_question: | img/wallpaper\.jpg | Unsupported file format | | :grey_question: | img/wbo\.ico | Unsupported file format | | :grey_question: | img/wikipedia\.png | Unsupported file format | | :grey_question: | img/worldhistoryencyclopedia\.png | Unsupported file format | | :grey_question: | images/128\_kubuntu\.png | Unsupported file format | | :grey_question: | images/Screenshot 2024\-09\-24 8\.46\.30 PM\.png | Unsupported file format | | :grey_question: | images/Screenshot 2024\-10\-08 3\.26\.38 PM\.png | Unsupported file format | | :grey_question: | images/Screenshot 2024\-10\-10 2\.40\.29 PM\.png | Unsupported file format | | :grey_question: | images/Screenshot 2024\-10\-16 9\.24\.50 AM\.png | Unsupported file format | | :grey_question: | images/block2\.png | Unsupported file format | | :grey_question: | images/coin\.png | Unsupported file format | | :grey_question: | images/fix\_graphics\.png | Unsupported file format | | :grey_question: | images/main\.png | Unsupported file format | | :grey_question: | images/nsis\-top\.bmp | Unsupported file format | | :grey_question: | images/openttd\.32\.bmp | Unsupported file format | | :grey_question: | images/openttd\.svg | Unsupported file format | | :grey_question: | images/pc\.png | Unsupported file format | | :grey_question: | images/rapids\.png | Unsupported file format | | :grey_question: | images/toyland\_rapids\_shading\.png | Unsupported file format | | :grey_question: | images/trails2\.png | Unsupported file format | | :grey_question: | images/tramtracks\.png | Unsupported file format | | :grey_question: | images/tramtracks\_bare\_depot\.png | Unsupported file format | | :grey_question: | images/tunnel\_portals\.png | Unsupported file format | | :heavy_check_mark: | [docs/action\_bot\.html](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#docs/action_bot.html) | No logic changes found | | :heavy_check_mark: | [docs/ci\.html](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#docs/ci.html) | No logic changes found | | :heavy_check_mark: | [code/js/codemirror\.js](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#code/js/codemirror.js) | 18.16% smaller | | :heavy_check_mark: | [code/js/demo\.js](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#code/js/demo.js) | Analyzed | | :heavy_check_mark: | [code/js/javascript\.js](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#code/js/javascript.js) | 13.24% smaller | | :heavy_check_mark: | [code/js/simple\-mode\.js](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#code/js/simple-mode.js) | Analyzed | | :heavy_check_mark: | [code/js/wabt\.post\.js](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#code/js/wabt.post.js) | Analyzed | | :grey_question: | build/configure\.sh | Unsupported file format | | :heavy_check_mark: | [OpenPrFunction/IPullRequest\.cs](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#OpenPrFunction/IPullRequest.cs) | Analyzed | | :heavy_check_mark: | [OpenPrFunction/ImageStat\.cs](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#OpenPrFunction/ImageStat.cs) | Analyzed | | :heavy_check_mark: | [OpenPrFunction/OpenPr\.cs](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#OpenPrFunction/OpenPr.cs) | Analyzed | | :grey_question: | OpenPrFunction/OpenPrFunction\.csproj | Unsupported file format | | :heavy_check_mark: | [OpenPrFunction/PullRequest\.cs](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#OpenPrFunction/PullRequest.cs) | Analyzed | | :grey_question: | \.text files/atomic\-no\-shared\-memory\.txt | Unsupported file format | | :grey_question: | \.main files/PackagingLayout\.xml | Unsupported file format | | :grey_question: | \.github/\.cirrus\.yml | Unsupported file format | | :grey_question: | \.github/FUNDING\.yml | Unsupported file format | | :grey_question: | \.github/appveyor\.yml | Unsupported file format | | :grey_question: | \.github/butterb0t\.yml | Unsupported file format | | :grey_question: | \.github/dependabot\-auto\-merger\.yml | Unsupported file format | | :grey_question: | \.github/dependabot\.yml | Unsupported file format | | :grey_question: | \.github/fast\-foward\.yml | Unsupported file format | | :grey_question: | \.github/imagebot\.yml | Unsupported file format | | :grey_question: | \.github/issue\-branch\.yml | Unsupported file format | | :grey_question: | \.github/issue\_label\_bot\.yaml | Unsupported file format | | :grey_question: | \.github/stale\.yml | Unsupported file format | | :grey_question: | \.github/wip\.yml | Unsupported file format | | :grey_question: | \.github/workflows/Deployment\.yml | Unsupported file format | | :grey_question: | \.github/workflows/Development \.yml | Unsupported file format | | :grey_question: | \.github/workflows/Package\.yml | Unsupported file format | | :grey_question: | \.github/workflows/Package\_create\.yml | Unsupported file format | | :grey_question: | \.github/workflows/cr\.yml | Unsupported file format | | :grey_question: | \.github/workflows/dockerimage\.yml | Unsupported file format | | :grey_question: | \.github/workflows/gitguardian\.yaml | Unsupported file format | | :grey_question: | \.github/workflows/prettier\-check\.yml | Unsupported file format | | :grey_question: | \.github/branding/Img | Unsupported file format | | :grey_question: | \.github/branding/branding\.png | Unsupported file format | | :grey_question: | \.github/branding/openttd\.2048\.png | Unsupported file format | | :heavy_check_mark: | [\.devcontainer/index\.html](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#.devcontainer/index.html) | Analyzed | | :heavy_check_mark: | [\.devcontainer/main\.js](https://app.semanticdiff.com/gh/Andrewshin-7th-technology-student/build-CI/pull/52/changes#.devcontainer/main.js) | 66.68% smaller |
    sourcery-ai[bot] commented 1 day ago

    Reviewer's Guide by Sourcery

    This pull request contains extensive changes across multiple files, primarily focusing on code modernization, dependency updates, and the addition of new configuration files and workflows. The changes include updating GitHub Actions, modifying JavaScript code for better practices, adding new CI/CD configurations, and introducing new features like automated code review and image optimization.

    No diagrams generated as the changes look simple and do not need a visual representation.

    File-Level Changes

    Change Details Files
    Updated GitHub Actions workflows and dependencies
    • Updated actions/setup-python from v1/v3 to v5
    • Updated actions/checkout from v1/v3 to v4
    • Added new GitHub Actions workflows for code review, Prettier checks, and GitGuardian scanning
    • Updated Dependabot configuration
    .github/dependabot.yml
    .github/workflows/Development .yml
    .github/workflows/Package.yml
    .github/workflows/Deployment.yml
    .github/workflows/Package_create.yml
    .github/workflows/cr.yml
    .github/workflows/prettier-check.yml
    .github/workflows/gitguardian.yaml
    Modernized JavaScript code
    • Replaced deprecated Object.hasOwnProperty() calls with Object.prototype.hasOwnProperty.call()
    • Used optional chaining operator (?.) for potential null/undefined values
    • Replaced unary plus operator (+) with Number() for explicit type conversion
    • Used Boolean() for explicit boolean conversion
    code/js/codemirror.js
    code/js/javascript.js
    code/js/simple-mode.js
    code/js/demo.js
    code/js/wabt.post.js
    Added new configuration files for various tools and services
    • Added DeepSource configuration
    • Added Unibeautify configuration
    • Added issue branch configuration
    • Added Dependabot auto-merger configuration
    • Added Docker image CI workflow
    • Added AppVeyor configuration
    • Added Stale issue bot configuration
    • Added Cirrus CI configuration
    • Added WIP (Work in Progress) configuration
    • Added Butterbot configuration
    • Added Issue Label Bot configuration
    .deepsource.toml
    .unibeautifyrc.yml
    .github/issue-branch.yml
    .github/dependabot-auto-merger.yml
    .github/workflows/dockerimage.yml
    .github/appveyor.yml
    .github/stale.yml
    .github/.cirrus.yml
    .github/wip.yml
    .github/butterb0t.yml
    .github/issue_label_bot.yaml
    Added new C# files for OpenPrFunction
    • Implemented PullRequest class
    • Added OpenPr function
    • Created ImageStat class
    • Added IPullRequest interface
    OpenPrFunction/PullRequest.cs
    OpenPrFunction/OpenPr.cs
    OpenPrFunction/ImageStat.cs
    OpenPrFunction/IPullRequest.cs
    Removed FUNDING.yml file
    • Deleted .github/FUNDING.yml
    .github/FUNDING.yml

    Tips and commands #### Interacting with Sourcery - **Trigger a new review:** Comment `@sourcery-ai review` on the pull request. - **Continue discussions:** Reply directly to Sourcery's review comments. - **Generate a GitHub issue from a review comment:** Ask Sourcery to create an issue from a review comment by replying to it. - **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull request title to generate a title at any time. - **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in the pull request body to generate a PR summary at any time. You can also use this command to specify where the summary should be inserted. #### Customizing Your Experience Access your [dashboard](https://app.sourcery.ai) to: - Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others. - Change the review language. - Add, remove or edit custom review instructions. - Adjust other review settings. #### Getting Help - [Contact our support team](mailto:support@sourcery.ai) for questions or feedback. - Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information. - Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).
    structuredbot[bot] commented 1 day ago

    Thanks for opening this PR!

    Total commits: 30 Files changed: 185 Additions: 1311 Deletions: 484

    Commits: bad0976: Merge pull request #4 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-3

    Create README.md d3974a4: Update dependabot.yml 073814c: Update dependabot.yml b5403eb: Merge pull request #5 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-3

    Andrewshin 7th technology student patch 3 6a70888: Update configure.sh 1af879c: Merge pull request #6 from Andrewshin-7th-technology-student/main

    merge 2c8af68: Update dependabot.yml e6ce424: Update dependabot.yml 091fc2d: Update dependabot.yml c27f34b: Bump the dev-dependencies group with 4 updates

    Bumps the dev-dependencies group with 4 updates: actions/checkout, actions/setup-python, docker/setup-qemu-action and pypa/gh-action-pypi-publish.

    Updates actions/checkout from 1 to 4

    Updates actions/setup-python from 1 to 5

    Updates docker/setup-qemu-action from 2 to 3

    Updates pypa/gh-action-pypi-publish from 1.4.2 to 1.10.3


    updated-dependencies:

    Signed-off-by: dependabot[bot] support@github.com e03f38c: Merge pull request #8 from Andrewshin-7th-technology-student/dependabot/github_actions/dev-dependencies-bb26703bbe

    Bump the dev-dependencies group with 4 updates 503f1d7: Merge pull request #7 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-1

    Andrewshin 7th technology student patch 1 9ccf91a: Update array.txt b111a82: Update atomic-no-shared-memory.txt f44d10c: Create main.png fad31a2: Add files via upload 04d0e15: Merge pull request #10 from Andrewshin-7th-technology-student/main

    ok 77a82ab: Add files via upload afe7043: Merge pull request #11 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-1

    Merge pull request #10 from Andrewshin-7th-technology-student/main 78b21c1: Add files via upload f0461c0: Add files via upload 182c4af: Create Imagebot.yml 2a38820: Update appveyor.yml de92dcc: Create pcimages?.tre 73bfd48: UPDATE FILES FROM UseInterstellar/Interstellar b17a836: Create index.html abfe79b: Update Development .yml 938c519: Create Production_deploymet_name.yml 64f144f: Delete static directory fb0cd92: Create .imgbotconfig

    Changes: File: .deepsource.toml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,29 @@
    +version = 1
    +
    +[[analyzers]]
    +name = "python"
    +
    +  [analyzers.meta]
    +  runtime_version = "3.x.x"
    +
    +[[analyzers]]
    +name = "java"
    +
    +  [analyzers.meta]
    +  runtime_version = "11"
    +
    +[[analyzers]]
    +name = "csharp"
    +
    +[[analyzers]]
    +name = "javascript"
    +
    +[[analyzers]]
    +name = "shell"
    +
    +[[analyzers]]
    +name = "kotlin"
    +
    +  [analyzers.meta]
    +  runtime_version = "1.8"
    +  language_version = "1.7"
    \ No newline at end of file

    File: .devcontainer/main.js

    Original Content:

    /*
    All this code is copyright Orteil, 2013-2023.
        -with some help, advice and fixes by Nicholas Laux, Debugbro, Opti, the folks at Playsaurus, and lots of people on reddit, Discord, and the DashNet forums
        -also includes a bunch of snippets found on stackoverflow.com and others
        -want to mod the game? scroll down to the "MODDING API" section
    Hello, and welcome to the joyous mess that is main.js. Code contained herein is not guaranteed to be good, consistent, or sane. Most of this is years old at this point and harkens back to simpler, cruder times. In particular I've tried to maintain compatibility with fairly old versions of javascript, which means luxuries such as 'let', arrow functions and string literals are unavailable.
    As Cookie Clicker is rife with puns and tricky wordplay, localization was never intended to be possible - but ended up happening anyway as part of the Steam port. As a result, usage of strings is somewhat unorthodox in some places.
    Have a nice trip, and stay safe.
    Spoilers ahead.
    http://orteil.dashnet.org
    */
    
    /*=====================================================================================
    MISC HELPER FUNCTIONS
    =======================================================================================*/
    function l(what) {return document.getElementById(what);}
    function choose(arr) {return arr[Math.floor(Math.random()*arr.length)];}
    
    function escapeRegExp(str){return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");}
    function replaceAll(find,replace,str){return str.replace(new RegExp(escapeRegExp(find),'g'),replace);}
    
    function cap(str){return str.charAt(0).toUpperCase()+str.slice(1);}
    
    function romanize(num){
        if (isNaN(num))
            return NaN;
        var digits = String(+num).split(""),
            key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
                   "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
                   "","I","II","III","IV","V","VI","VII","VIII","IX"],
            roman = "",
            i = 3;
        while (i--)
            roman = (key[+digits.pop() + (i * 10)] || "") + roman;
        return Array(+digits.join("") + 1).join("M") + roman;
    }
    
    //disable sounds coming from soundjay.com (sorry)
    var realAudio=typeof Audio!=='undefined'?Audio:function(){return {}};//backup real audio
    Audio=function(src){
        if (src && src.indexOf('soundjay')>-1) {Game.Popup('Sorry, no sounds hotlinked from soundjay.com.');this.play=function(){};}
        else return new realAudio(src);
    };
    
    if(!Array.prototype.indexOf) {
        Array.prototype.indexOf = function(needle) {
            for(var i = 0; i < this.length; i++) {
                if(this[i] === needle) {return i;}
            }
            return -1;
        };
    }
    

    Changes:

    @@ -24,15 +24,15 @@ function cap(str){return str.charAt(0).toUpperCase()+str.slice(1);}
     function romanize(num){
         if (isNaN(num))
             return NaN;
    -    var digits = String(+num).split(""),
    +    var digits = String(Number(num)).split(""),
             key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
                    "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
                    "","I","II","III","IV","V","VI","VII","VIII","IX"],
             roman = "",
             i = 3;
         while (i--)
    -        roman = (key[+digits.pop() + (i * 10)] || "") + roman;
    -    return Array(+digits.join("") + 1).join("M") + roman;
    +        roman = (key[Number(digits.pop()) + (i * 10)] || "") + roman;
    +    return Array(Number(digits.join("")) + 1).join("M") + roman;
     }
    
     //disable sounds coming from soundjay.com (sorry)

    File: .github/.cirrus.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,9 @@
    +container:
    +  image: node:latest
    +
    +check_task:
    +  node_modules_cache:
    +    folder: node_modules
    +    fingerprint_script: cat yarn.lock
    +    populate_script: yarn install
    +  test_script: yarn test

    File: .github/FUNDING.yml

    Original Content:

    # These are supported funding model platforms
    
    github: [As90909w][Nebula]
    open_collective: Andrewmoney
    tidelift: .github/build.yml
    community_bridge: cloud-foundry
    lfx_crowdfunding: ANDREWRXCVfoundry8282
    buy_me_a_coffee: usermainElliot_shin2221
    thanks_dev: FoundryTODEVfree
    custom: https://www.github.com/git?authuser=ID:zeZoispLfr6Saj1ARpPbcp2cljZ5fdKv8sPuS6l9xjwdT8sG5e409wgb7vFwRu5djHShwo2iuwe2f9eeghds8qer3we2wd9cec8ehudhciu3deyu8iywi73ewoq820f9o=truemain=branch/main
    

    Changes:

    @@ -1,10 +0,0 @@
    -# These are supported funding model platforms
    -
    -github: [As90909w][Nebula]
    -open_collective: Andrewmoney
    -tidelift: .github/build.yml
    -community_bridge: cloud-foundry
    -lfx_crowdfunding: ANDREWRXCVfoundry8282
    -buy_me_a_coffee: usermainElliot_shin2221
    -thanks_dev: FoundryTODEVfree
    -custom: https://www.github.com/git?authuser=ID:zeZoispLfr6Saj1ARpPbcp2cljZ5fdKv8sPuS6l9xjwdT8sG5e409wgb7vFwRu5djHShwo2iuwe2f9eeghds8qer3we2wd9cec8ehudhciu3deyu8iywi73ewoq820f9o=truemain=branch/main

    File: .github/appveyor.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,12 @@
    +version: 1.0.{build}
    +image: Visual Studio 2017
    +pull_requests:
    +  do_not_increment_build_number: true
    +branches:
    +  only:
    +  - master
    +before_build:
    +- nuget restore
    +configuration: Release
    +build:
    +  verbosity: minimal

    File: .github/branding/Img

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1 @@
    +g

    File: .github/branding/branding.png

    Original Content:

    Unable to fetch content

    Changes:

    No changes

    File: .github/branding/openttd.2048.png

    Original Content:

    Unable to fetch content

    Changes:

    No changes

    File: .github/butterb0t.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,6 @@
    +domains: 
    +    - name: Staging 
    +      url: https://staging.example.com/
    +
    +    - name: Storybook
    +      url: https://storybook.example.com/

    File: .github/dependabot-auto-merger.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,18 @@
    +name: automerge
    +
    +on:
    +  workflow_dispatch:
    +    inputs:
    +      pr-number:
    +        required: true
    +
    +jobs:
    +  automerge:
    +    runs-on: ubuntu-latest
    +    permissions:
    +      pull-requests: write
    +      contents: write
    +    steps:
    +      - uses: fastify/github-action-merge-dependabot@v3
    +        with:
    +          pr-number: ${{ github.event.inputs.pr-number }}

    File: .github/dependabot.yml

    Original Content:

    version: 2
    updates:
      # Keep bundler dependencies up to date
      - package-ecosystem: "bundler"
        directories:
        schedule:
          interval: "daily"
        # Create a group of dependencies to be updated together in one pull request
        groups:
           # Specify a name for the group, which will be used in pull request titles
           # and branch names
           dev-dependencies:
              # Define patterns to include dependencies in the group (based on
              # dependency name)
              applies-to: version-updates # Applies the group rule to version updates
              patterns:
                - "rubocop" # A single dependency name
                - "rspec*"  # A wildcard string that matches multiple dependency names
                - "*"       # A wildcard that matches all dependencies in the package
                            # ecosystem. Note: using "*" may open a large pull request
              # Define patterns to exclude dependencies from the group (based on
              # dependency name)
              exclude-patterns:
                - "gc_ruboconfig"
                - "gocardless-*"
    

    Changes:

    @@ -1,25 +1,32 @@
     version: 2
     updates:
       # Keep bundler dependencies up to date
    -  - package-ecosystem: "bundler"
    -    directories:
    +  - package-ecosystem: "github-actions"
    +    directory: "/"
         schedule:
           interval: "daily"
    -    # Create a group of dependencies to be updated together in one pull request
         groups:
    -       # Specify a name for the group, which will be used in pull request titles
    -       # and branch names
    -       dev-dependencies:
    -          # Define patterns to include dependencies in the group (based on
    -          # dependency name)
    -          applies-to: version-updates # Applies the group rule to version updates
    -          patterns:
    -            - "rubocop" # A single dependency name
    -            - "rspec*"  # A wildcard string that matches multiple dependency names
    -            - "*"       # A wildcard that matches all dependencies in the package
    -                        # ecosystem. Note: using "*" may open a large pull request
    -          # Define patterns to exclude dependencies from the group (based on
    -          # dependency name)
    -          exclude-patterns:
    -            - "gc_ruboconfig"
    -            - "gocardless-*"
    +      dev-dependencies:
    +        applies-to: version-updates # Applies the group rule to version updates
    +        patterns:
    +          - "rubocop" 
    +          - "rspec*"  
    +          - "*"       
    +          - "*"            
    +        exclude-patterns:
    +          - "gc_ruboconfig"
    +          - "gocardless-*"
    +    open-pull-requests-limit: 100
    +    reviewers:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username
    +    assignees:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username
    +  - package-ecosystem: "npm"
    +    directory: "/"
    +    schedule:
    +      interval: "daily"
    +    open-pull-requests-limit: 100
    +    reviewers:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username
    +    assignees:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username

    File: .github/fast-foward.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,16 @@
    +name: Fast-Forward
    +
    +on: 
    +  issue_comment:
    +    types: [created]
    +  push:
    +  pull_request:
    +
    +jobs:
    +  run:
    +    runs-on: ubuntu-latest
    +    steps:
    +      - uses: APN-Pucky/fast-forward-action@main
    +        with:
    +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    +          SSH_PRIVATE_KEY: ${{ secrets.GH_SSH }}

    File: .github/imagebot.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,16 @@
    +name: ImageBot
    +on:
    +  push:
    +    branches:
    +      - main
    +jobs:
    +  imagebot:
    +    runs-on: ubuntu-latest
    +    steps:
    +      - name: Checkout code
    +        uses: actions/checkout@v2
    +      - name: Run ImageBot
    +        uses: imagebot/imagebot@v1
    +        with:
    +          githubToken: ${{ secrets.GITHUB_TOKEN }}
    +          imagebotConfig: .imgbotconfig

    File: .github/issue-branch.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,20 @@
    +on:
    +  # The issue.opened event below is only needed for the "immediate" mode.
    +  # The issue.assigned event below is only needed for the default ("auto") mode.
    +  issues:
    +    types: [ opened, assigned ]
    +  # The issue_comment.created event below is only needed for the ChatOps mode.
    +  issue_comment:
    +    types: [ created ]
    +  # The pull_request events below are only needed for pull-request related features.
    +  pull_request:
    +    types: [ opened, closed ]
    +
    +jobs:
    +  create_issue_branch_job:
    +    runs-on: ubuntu-latest
    +    steps:
    +      - name: Create Issue Branch
    +        uses: robvanderleek/create-issue-branch@main
    +        env:
    +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

    File: .github/issue_label_bot.yaml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,4 @@
    +label-alias:
    +  bug: 'kind/bug'
    +  feature_request: 'enhancement'
    +  question: 'question'

    File: .github/stale.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,12 @@
    +daysUntilStale: 1
    +daysUntilClose: 2
    +exemptLabels:
    +  - duplicate
    +  - invalid
    +  - wontfix
    +staleLabel: goneStale
    +markComment: >
    +  This issue has been automatically marked as stale because it has not had
    +  recent activity. It will be closed if no further activity occurs. Thank you
    +  for your contributions.
    +closeComment: false

    File: .github/wip.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,7 @@
    +locations:
    +  - title
    +  - label_name
    +  - commit_subject
    +terms:
    +  - do not merge
    +  - ⛔

    File: .github/workflows/Deployment.yml

    Original Content:

    name: Deployment
    
    on:
      push:
        branches: ["main"]
    
    env:
      AZURE_FUNCTIONAPP_NAME: 'Deployment'   # set this to your function app name on Azure
      AZURE_FUNCTIONAPP_PACKAGE_PATH: '.'       # set this to the path to your function app project, defaults to the repository root
      PYTHON_VERSION: '3.9'                     # set this to the python version to use (e.g. '3.6', '3.7', '3.8')
    
    jobs:
      build-and-deploy:
        runs-on: ubuntu-latest
        environment: Deployment
        steps:
        - name: 'Checkout GitHub Action'
          uses: actions/checkout@v4
    
        # If you want to use Azure RBAC instead of Publish Profile, then uncomment the task below
        # - name: 'Login via Azure CLI'
        #   uses: azure/login@v1
        #   with:
        #     creds: ${{ secrets.AZURE_RBAC_CREDENTIALS }} # set up AZURE_RBAC_CREDENTIALS secrets in your repository
    
        - name: Setup Python ${{ env.PYTHON_VERSION }} Environment
          uses: actions/setup-python@v4
          with:
            python-version: ${{ env.PYTHON_VERSION }}
    

    Changes:

    @@ -24,6 +24,6 @@ jobs:
         #     creds: ${{ secrets.AZURE_RBAC_CREDENTIALS }} # set up AZURE_RBAC_CREDENTIALS secrets in your repository
    
         - name: Setup Python ${{ env.PYTHON_VERSION }} Environment
    -      uses: actions/setup-python@v4
    +      uses: actions/setup-python@v5
           with:
             python-version: ${{ env.PYTHON_VERSION }}

    File: .github/workflows/Development .yml

    Original Content:

    name: Linux server deployment
    
    on:
      create:
        tags:
      push:
        branches:
          - main
      pull_request:
    
    jobs:
      lint:
        name: connect to linux server
        runs-on: ubuntu-latest
        environment: 'Development'
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
      build:
        name: build
        runs-on: ${{ matrix.os }}
        strategy:
          matrix:
            os: [ubuntu-latest, macos-12, macos-14, windows-latest]
        steps:
        - uses: actions/setup-python@v5
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - name: mkdir
          run: mkdir -p out
      emscripten:
        name: emscripten
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v1
          with:
            submodules: true
      wasi:
        name: wasi
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
            with:
              submodules: true
      sanitize:
        name: sanitize
        runs-on: ubuntu-24.04
        env:
          USE_NINJA: "1"
          CC: "clang"
          WASM2C_CFLAGS: "-march=x86-64-v2" # currently required for SIMDe to pass some tests on x86-64
        strategy:
          matrix:
            sanitizer: [asan, ubsan, fuzz]
            type: [debug, release]
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
      build-wasm2c-memchecked:
        name: wasm2c-memchecked
        runs-on: ubuntu-latest
        env:
          USE_NINJA: "1"
          CC: "clang" # used by the wasm2c tests
          WASM2C_CFLAGS: "-march=x86-64-v2 -fsanitize=address -DWASM_RT_USE_MMAP=0"
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - run: sudo apt-get install ninja-build
        - name: workaround for ASLR+ASAN compatibility # See https://github.com/actions/runner/issues/3207
          run: sudo sysctl -w vm.mmap_rnd_bits=28
    
      build-min-cmake:
        name: min-cmake
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v1
          with:
            submodules: true
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - name: Install Ninja
          run: sudo apt-get install ninja-build
        - name: Detect minimum CMake version
          run: >
            awk 'match($0, /cmake_minimum_required\(VERSION *([0-9]+\.[0-9]+)\)/, a)
            { print "WABT_CMAKE_VER=" a[1]; exit; }' CMakeLists.txt | tee $GITHUB_ENV
      build-rlbox:
        name: rlbox
        runs-on: ubuntu-latest
        env:
          USE_NINJA: "1"
          WASM2C_CC: "clang"
          WASM2C_CFLAGS: "-DWASM_RT_USE_MMAP=1 -DWASM_RT_SKIP_SIGNAL_RECOVERY=1 -DWASM_RT_NONCONFORMING_UNCHECKED_STACK_EXHAUSTION=1 -DWASM2C_TEST_EMBEDDER_SIGNAL_HANDLING -DWASM_RT_ALLOW_SEGUE=1 -DWASM_RT_SEGUE_FREE_SEGMENT=1 -mfsgsbase -DWASM_RT_SANITY_CHECKS=1 -Wno-pass-failed"
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - run: sudo apt-get install ninja-build
      build-cross:
        name: Disconnect from linux server and deploy
        runs-on: ubuntu-latest
        strategy:
          fail-fast: false
          matrix:
            arch: [s390x]
        services: # still faster on debian...
          distcc:
            image: debian:latest
            options: --health-cmd distccmon-text --health-interval 5s --health-start-period 5m debian:latest bash -c "apt-get update && apt-get install -y g++-s390x-linux-gnu distcc && distccd --daemon --no-detach"
            ports:
              - 3632:3632
        env:
          QEMU_LD_PREFIX: /usr/${{matrix.arch}}-linux-gnu/
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - name: Set up QEMU
          uses: docker/setup-qemu-action@v2
          with:
            platforms: ${{matrix.arch}}
            image: "tonistiigi/binfmt:master"
        - name: install ninja
          run: sudo apt-get install ninja-build
        - name: install the toolchain
          run: sudo apt-get install g++-${{matrix.arch}}-linux-gnu
        - name: install distcc
          run: sudo apt-get install distcc
        - name: installing linux debugger
          run: sudo mkdir -p /opt/bin/distcc_symlinks
        - name: read files - checking if production succeeded 
          run: sudo ln -s /usr/bin/distcc /opt/bin/distcc_symlinks/${{matrix.arch}}-linux-gnu-gcc # only CC is needed
    

    Changes:

    @@ -14,21 +14,21 @@ jobs:
         runs-on: ubuntu-latest
         environment: 'Development'
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
       build:
         name: build
         runs-on: ${{ matrix.os }}
         strategy:
           matrix:
    -        os: [ubuntu-latest, macos-12, macos-14, windows-latest]
    +        os: [ubuntu-latest, macos-12, macos-14]
         steps:
         - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - name: mkdir
    @@ -37,14 +37,14 @@ jobs:
         name: emscripten
         runs-on: ubuntu-latest
         steps:
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
       wasi:
         name: wasi
         runs-on: ubuntu-latest
         steps:
    -      - uses: actions/checkout@v3
    +      - uses: actions/checkout@v4
             with:
               submodules: true
       sanitize:
    @@ -59,10 +59,10 @@ jobs:
             sanitizer: [asan, ubsan, fuzz]
             type: [debug, release]
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
       build-wasm2c-memchecked:
    @@ -73,10 +73,10 @@ jobs:
           CC: "clang" # used by the wasm2c tests
           WASM2C_CFLAGS: "-march=x86-64-v2 -fsanitize=address -DWASM_RT_USE_MMAP=0"
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - run: sudo apt-get install ninja-build
    @@ -87,10 +87,10 @@ jobs:
         name: min-cmake
         runs-on: ubuntu-latest
         steps:
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
         - name: Install Ninja
    @@ -107,10 +107,10 @@ jobs:
           WASM2C_CC: "clang"
           WASM2C_CFLAGS: "-DWASM_RT_USE_MMAP=1 -DWASM_RT_SKIP_SIGNAL_RECOVERY=1 -DWASM_RT_NONCONFORMING_UNCHECKED_STACK_EXHAUSTION=1 -DWASM2C_TEST_EMBEDDER_SIGNAL_HANDLING -DWASM_RT_ALLOW_SEGUE=1 -DWASM_RT_SEGUE_FREE_SEGMENT=1 -mfsgsbase -DWASM_RT_SANITY_CHECKS=1 -Wno-pass-failed"
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - run: sudo apt-get install ninja-build
    @@ -130,14 +130,14 @@ jobs:
         env:
           QEMU_LD_PREFIX: /usr/${{matrix.arch}}-linux-gnu/
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - name: Set up QEMU
    -      uses: docker/setup-qemu-action@v2
    +      uses: docker/setup-qemu-action@v3
           with:
             platforms: ${{matrix.arch}}
             image: "tonistiigi/binfmt:master"

    File: .github/workflows/Package.yml

    Original Content:

    name: publish package using python
    
    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 }}
    

    Changes:

    @@ -15,7 +15,7 @@ jobs:
         steps:
         - uses: actions/checkout@v4
         - name: Set up Python
    -      uses: actions/setup-python@v3
    +      uses: actions/setup-python@v5
           with:
             python-version: '3.x'
         - name: Install dependencies
    @@ -25,7 +25,7 @@ jobs:
         - name: Build package
           run: python -m build
         - name: Publish package
    -      uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
    +      uses: pypa/gh-action-pypi-publish@f7600683efdcb7656dec5b29656edb7bc586e597
           with:
             user: __token__
             password: ${{ secrets.PYPI_API_TOKEN }}

    File: .github/workflows/Package_create.yml

    Original Content:

    name: Package create
    
    on: [push]
    
    jobs:
      build-linux:
        runs-on: ubuntu-latest
        strategy:
          max-parallel: 5
    
        steps:
        - uses: actions/checkout@v4
        - name: Set up Python 3.10
          uses: actions/setup-python@v3
          with:
            python-version: '3.10'
        - name: Publish python package
          run: |
            # $CONDA is an environment variable pointing to the root of the miniconda directory
            echo $CONDA/bin >> $GITHUB_PATH
    

    Changes:

    @@ -11,7 +11,7 @@ jobs:
         steps:
         - uses: actions/checkout@v4
         - name: Set up Python 3.10
    -      uses: actions/setup-python@v3
    +      uses: actions/setup-python@v5
           with:
             python-version: '3.10'
         - name: Publish python package

    File: .github/workflows/cr.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,27 @@
    +name: Code Review
    +
    +permissions:
    +  contents: read
    +  pull-requests: write
    +
    +on:
    +  pull_request:
    +    types: [opened, reopened, synchronize]
    +
    +jobs:
    +  test:
    +    # if: ${{ contains(github.event.*.labels.*.name, 'gpt review') }} # Optional; to run only when a label is attached
    +    runs-on: ubuntu-latest
    +    steps:
    +      - uses: anc95/ChatGPT-CodeReview@main
    +        env:
    +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    +          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
    +          # Optional
    +          LANGUAGE: Chinese
    +          OPENAI_API_ENDPOINT: https://api.openai.com/v1
    +          MODEL: gpt-3.5-turbo # https://platform.openai.com/docs/models
    +          top_p: 1 # https://platform.openai.com/docs/api-reference/chat/create#chat/create-top_p
    +          temperature: 1 # https://platform.openai.com/docs/api-reference/chat/create#chat/create-temperature
    +          max_tokens: 10000
    +          MAX_PATCH_LENGTH: 10000 # if the patch/diff length is large than MAX_PATCH_LENGTH, will be ignored and won't review. By default, with no MAX_PATCH_LENGTH set, there is also no limit for the patch/diff length.

    File: .github/workflows/dockerimage.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,18 @@
    +name: Docker Image CI
    +
    +on:
    +  push:
    +    branches: [ main ]
    +  pull_request:
    +    branches: [ main ]
    +
    +jobs:
    +
    +  build:
    +
    +    runs-on: ubuntu-latest
    +
    +    steps:
    +    - uses: actions/checkout@v4
    +    - name: Build the Docker image
    +      run: docker build -f Dockerfile.CompressImages . -t imgbot

    File: .github/workflows/gitguardian.yaml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,21 @@
    +name: GitGuardian scan
    +
    +on: [push, pull_request]
    +
    +jobs:
    +  scanning:
    +    name: GitGuardian scan
    +    runs-on: ubuntu-latest
    +    steps:
    +      - name: Checkout
    +        uses: actions/checkout@v4
    +        with:
    +          fetch-depth: 0 # fetch all history so multiple commits can be scanned
    +      - name: GitGuardian scan
    +        uses: GitGuardian/ggshield/actions/secret@v1.32.2
    +        env:
    +          GITHUB_PUSH_BEFORE_SHA: ${{ github.event.before }}
    +          GITHUB_PUSH_BASE_SHA: ${{ github.event.base }}
    +          GITHUB_PULL_BASE_SHA: ${{ github.event.pull_request.base.sha }}
    +          GITHUB_DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
    +          GITGUARDIAN_API_KEY: ${{ secrets.GITGUARDIAN_API_KEY }}

    File: .github/workflows/prettier-check.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,23 @@
    +name: prettier-check
    +
    +on:
    +  pull_request: # Must run on pull requests
    +    branches:
    +      - main
    +
    +permissions:
    +  contents: read
    +  pull-requests: write
    +  issues: write
    +
    +jobs:
    +  prettier-bot:
    +    name: Prettier Bot
    +    runs-on: ubuntu-latest
    +
    +    steps:
    +      - name: Checkout
    +        uses: actions/checkout@v4
    +
    +      - name: Prettier Bot
    +        uses: noyobo/prettier-bot@v1

    File: .imgbotconfig

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,14 @@
    +{
    +    "createPullRequest": "true",
    +    "pullRequestTemplate": "template.md",
    +    "prTitle": "Image optimized"
    +    "schedule": "daily",
    +    "ignoredFiles": [
    +        "*.ico",                
    +        "drawing_6.jpg",  
    +        "docs*"
    +    ],
    +    "aggressiveCompression": "false",
    +    "minKBReduced" : 0,
    +    "compressWiki": "true",
    +}

    File: .main files/PackagingLayout.xml

    Original Content:

    <PackagingLayout xmlns="http://schemas.microsoft.com/appx/makeappx/2017">
        <!-- Main game -->
        <PackageFamily ID="OpenTTD" FlatBundle="false" ManifestPath="manifests\Package.appxmanifest" ResourceManager="false">
            <!-- x86 code package-->
            <Package ID="OpenTTD-x86" ProcessorArchitecture="x86" ManifestPath="manifests\Package-x86.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="x86-binaries\**"/>
                    <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
                </Files>
            </Package>
    
            <!-- x64 code package-->
            <Package ID="OpenTTD-x64" ProcessorArchitecture="x64" ManifestPath="manifests\Package-x64.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="x64-binaries\**"/>
                    <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
                </Files>
            </Package>
    
            <!-- ARM64 code package-->
            <Package ID="OpenTTD-ARM64" ProcessorArchitecture="arm64" ManifestPath="manifests\Package-ARM64.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="ARM64-binaries\**"/>
                    <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
                </Files>
            </Package>
    
            <!-- Common asset package-->
            <AssetPackage ID="OpenTTD-common" AllowExecution="false" ManifestPath="manifests\AssetsPackage.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="common-binaries\**"/>
                </Files>
            </AssetPackage>
        </PackageFamily>
    </PackagingLayout>
    

    Changes:

    @@ -6,6 +6,7 @@
                 <Files>
                     <File DestinationPath="**" SourcePath="x86-binaries\**"/>
                     <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
    +                <./>
                 </Files>
             </Package>
    

    File: .text files/atomic-no-shared-memory.txt

    Original Content:

    ;;; TOOL: wat2wasm
    ;;; ARGS: --enable-threads
    
    (module
      (memory 1)
      (func
        i32.const 0 i32.const 0 memory.atomic.notify drop
        i32.const 0 i32.const 0 i64.const 0 memory.atomic.wait32 drop
        i32.const 0 i64.const 0 i64.const 0 memory.atomic.wait64 drop
    
        i32.const 0 i32.atomic.load drop
        i32.const 0 i64.atomic.load drop
        i32.const 0 i32.atomic.load8_u drop
        i32.const 0 i32.atomic.load16_u drop
        i32.const 0 i64.atomic.load8_u drop
        i32.const 0 i64.atomic.load16_u drop
        i32.const 0 i64.atomic.load32_u drop
    
        i32.const 0 i32.const 0 i32.atomic.store
        i32.const 0 i64.const 0 i64.atomic.store
        i32.const 0 i32.const 0 i32.atomic.store8
        i32.const 0 i32.const 0 i32.atomic.store16
        i32.const 0 i64.const 0 i64.atomic.store8
        i32.const 0 i64.const 0 i64.atomic.store16
        i32.const 0 i64.const 0 i64.atomic.store32
    
        i32.const 0 i32.const 0 i32.atomic.rmw.add drop
        i32.const 0 i64.const 0 i64.atomic.rmw.add drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.add_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.add_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.add_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.add_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.add_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.sub drop
        i32.const 0 i64.const 0 i64.atomic.rmw.sub drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.sub_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.sub_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.sub_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.sub_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.sub_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.and drop
        i32.const 0 i64.const 0 i64.atomic.rmw.and drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.and_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.and_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.and_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.and_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.and_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.or drop
        i32.const 0 i64.const 0 i64.atomic.rmw.or drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.or_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.or_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.or_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.or_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.or_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.xor drop
        i32.const 0 i64.const 0 i64.atomic.rmw.xor drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.xor_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.xor_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.xor_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.xor_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.xor_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.xchg drop
        i32.const 0 i64.const 0 i64.atomic.rmw.xchg drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.xchg_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.xchg_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.xchg_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.xchg_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.xchg_u drop
    
        i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw.cmpxchg drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw.cmpxchg drop
        i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw8.cmpxchg_u drop
        i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw16.cmpxchg_u drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw8.cmpxchg_u drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw16.cmpxchg_u drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw32.cmpxchg_u drop
    
    ))
    

    Changes:

    @@ -8,15 +8,7 @@
         i32.const 0 i32.const 0 i64.const 0 memory.atomic.wait32 drop
         i32.const 0 i64.const 0 i64.const 0 memory.atomic.wait64 drop
    
    -    i32.const 0 i32.atomic.load drop
    -    i32.const 0 i64.atomic.load drop
    -    i32.const 0 i32.atomic.load8_u drop
    -    i32.const 0 i32.atomic.load16_u drop
    -    i32.const 0 i64.atomic.load8_u drop
    -    i32.const 0 i64.atomic.load16_u drop
    -    i32.const 0 i64.atomic.load32_u drop
    -
    -    i32.const 0 i32.const 0 i32.atomic.store
    +i32.const 0 i32.const 0 i32.atomic.store
         i32.const 0 i64.const 0 i64.atomic.store
         i32.const 0 i32.const 0 i32.atomic.store8
         i32.const 0 i32.const 0 i32.atomic.store16
    @@ -32,6 +24,14 @@
         i32.const 0 i64.const 0 i64.atomic.rmw16.add_u drop
         i32.const 0 i64.const 0 i64.atomic.rmw32.add_u drop
    
    +    i32.const 0 i32.atomic.load drop
    +    i32.const 0 i64.atomic.load drop
    +    i32.const 0 i32.atomic.load8_u drop
    +    i32.const 0 i32.atomic.load16_u drop
    +    i32.const 0 i64.atomic.load8_u drop
    +    i32.const 0 i64.atomic.load16_u drop
    +    i32.const 0 i64.atomic.load32_u drop
    +
         i32.const 0 i32.const 0 i32.atomic.rmw.sub drop
         i32.const 0 i64.const 0 i64.atomic.rmw.sub drop
         i32.const 0 i32.const 0 i32.atomic.rmw8.sub_u drop

    File: .unibeautifyrc.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,28 @@
    +PHP: # Language
    +  beautifiers: # Enable beautifiers
    +  - PHP-CS-Fixer
    +  PHP-CS-Fixer: # Beautifier options
    +    prefer_beautifier_config: true
    +    PHP-CS-Fixer: # Executable options
    +      path: "/absolute/path/to/php-cs-fixer"
    +TypeScript:
    +  beautifiers: ["Pretty Diff", "Prettier"]
    +  align_assignments: false
    +  arrow_parens: "as-needed"
    +  break_chained_methods: true
    +  end_with_comma: true
    +  end_with_semicolon: true
    +  indent_char: " "
    +  indent_size: 2
    +  jsx_brackets: false
    +  multiline_ternary: true
    +  object_curly_spacing: true
    +  quotes: "double"
    +  space_after_anon_function: false
    +  wrap_line_length: 80
    +CSS:
    +  indent_char: " "
    +  indent_size: 2
    +HTML:
    +  indent_char: " "
    +  indent_size: 2

    File: Dockerfile.CompressImages

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,28 @@
    +FROM mcr.microsoft.com/dotnet/sdk:6.0-focal AS dotnet
    +
    +COPY . /src/
    +RUN mkdir -p /home/site/wwwroot
    +RUN cd /src/CompressImagesFunction && dotnet publish CompressImagesFunction.csproj -c Release --output /home/site/wwwroot
    +
    +# Native Binaries
    +RUN cd /src/CompressImagesFunction && cp bin/Release/net6.0/runtimes/linux-x64/native/libgit2-b7bad55.so /home/site/wwwroot/bin/
    +RUN cd /src/CompressImagesFunction && cp bin/Release/net6.0/runtimes/linux-x64/native/Magick.Native-Q16-x64.dll.so /home/site/wwwroot/bin/
    +
    +FROM mcr.microsoft.com/azure-functions/dotnet:4
    +
    +RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests \
    +  curl libcurl4 autoconf automake libtool nasm make wget pkg-config
    +
    +RUN curl -sL https://deb.nodesource.com/setup_lts.x | bash -
    +RUN apt-get install -y nodejs
    +RUN npm install -g svgo@^1.3.2
    +
    +# Add support for mozjpeg
    +RUN cd /tmp && wget https://github.com/mozilla/mozjpeg/archive/v3.3.1.tar.gz
    +RUN cd /tmp && tar -xzf v3.3.1.tar.gz
    +RUN cd /tmp/mozjpeg-3.3.1 && autoreconf -fiv
    +RUN mkdir /tmp/mozjpeg-3.3.1/build
    +RUN cd /tmp/mozjpeg-3.3.1/build && sh ../configure && make install
    +
    +RUN ln -s /opt/mozjpeg/bin/jpegtran /usr/local/bin/mozjpegtran
    +RUN ln -s /opt/mozjpeg/bin/cjpeg /usr/local/bin/mozcjpeg
    deepsource-io[bot] commented 1 day ago

    Here's the code health analysis summary for commits 33099ad..062d2ee. View details on DeepSource ↗.

    Analysis Summary

    AnalyzerStatusSummaryLink
    DeepSource Python LogoPython✅ SuccessView Check ↗
    DeepSource Java LogoJava✅ SuccessView Check ↗
    DeepSource C# LogoC#✅ SuccessView Check ↗
    DeepSource JavaScript LogoJavaScript✅ SuccessView Check ↗
    DeepSource Shell LogoShell❌ Failure
    ❗ 1 occurence introduced
    🎯 1 occurence resolved
    View Check ↗
    DeepSource Kotlin LogoKotlin✅ SuccessView Check ↗

    💡 If you’re a repository administrator, you can configure the quality gates from the settings.
    structuredbot[bot] commented 1 day ago

    Modularity Analysis

    The changes appear to be mostly minor version upgrades and configuration updates. No significant changes to DBT model modularity are observed. Consider reviewing any DBT-specific files not included here for potential modularization opportunities.


    Versioning Analysis

    The changes primarily involve updating GitHub Actions workflows and adding new configuration files. No explicit versioning changes are visible in the DBT code. Consider adding version tags or comments to any modified DBT models to track changes between iterations.


    Grouping And Folder Structure Analysis

    The changes appear to be primarily configuration updates and workflow refinements. There are no significant changes to the DBT project structure or model organization that would impact scalability or best practices for grouping models.


    Access Control Analysis

    The changes primarily involve updating GitHub Actions workflows and dependencies. No significant access control issues are apparent in the modifications. However, it's advisable to review the updated workflows to ensure they align with your project's security requirements.


    Naming Conventions Analysis

    The changes follow consistent naming conventions, using snake_case for most identifiers. However, some file names like 'Development .yml' and 'Package_create.yml' use inconsistent spacing or underscores. Consider standardizing these to 'development.yml' and 'package_create.yml' for better consistency.


    Testing Coverage Analysis

    The changes do not appear to introduce or modify any DBT models or tests. The modifications are primarily related to GitHub Actions workflows, Docker configurations, and other non-DBT related files. No specific testing coverage improvements or regressions are observed in this set of changes.


    Config Best Practices Analysis

    The changes mainly update GitHub Actions workflows and dependencies. No significant DBT configuration changes are present. Consider reviewing DBT model configurations separately to ensure appropriate materializations and performance optimizations.


    Sql Performance And Efficiency Analysis

    While there are no direct SQL changes, the updates to GitHub Actions workflows and Docker configurations may indirectly impact database performance. Consider monitoring query execution times after deployment to ensure no unexpected performance regressions.


    Avoiding Anti Patterns In S Q L Analysis

    The changes appear to be mostly configuration updates and workflow improvements. There are no significant SQL anti-patterns introduced or removed in these changes. The updates focus on CI/CD pipelines, package management, and development environment configurations.


    Adherence To Data Contracts Analysis

    The changes primarily involve workflow updates and dependency upgrades. No significant schema or model output changes are apparent that would affect data contracts. However, careful testing is recommended to ensure no unexpected impacts on downstream dependencies.


    Data Lineage Tracking Analysis

    The changes primarily involve updates to GitHub Actions workflows and configuration files. While there are no direct data lineage changes, consider documenting how these CI/CD updates may impact data processing pipelines or deployment of data-related components.


    Handling Nulls And Defaults Analysis

    The changes mostly update GitHub Actions workflows and configurations. No significant changes to null handling or default values in DBT models are apparent. The main updates are to action versions and some workflow steps.


    Jinja And Macro Reusability Analysis

    The changes don't directly impact Jinja templates or DBT macros. However, updating Python and action versions in workflows improves CI/CD processes. Consider reviewing DBT models for opportunities to extract common logic into reusable macros.


    Managing Data Freshness And Validity Analysis

    The changes primarily involve workflow updates and dependency upgrades. No significant modifications to data freshness or validity checks were observed in the DBT-related files. Consider reviewing if any data freshness configurations need to be added or updated in your DBT models.


    Incremental Model Optimization Analysis

    The changes do not appear to directly impact incremental model optimization. However, the updates to GitHub Actions workflows and configuration files may indirectly affect the build and deployment process for DBT models. Ensure these changes do not interfere with any existing incremental model configurations.


    Dependency Management Analysis

    The changes update Python and GitHub Actions versions, improve cross-platform compatibility, and remove some potentially sensitive information. Consider reviewing the removed FUNDING.yml contents to ensure no important details were lost.


    Documentation And Descriptions Analysis

    The changes mainly involve updating GitHub Actions workflows and dependencies. Several new configuration files were added. No significant changes to DBT models or documentation were observed in this set of changes.


    Semantic Layer Consistency Analysis

    The changes primarily involve updating GitHub Actions workflows and dependencies. There are no direct impacts on semantic layer consistency or metric definitions in the DBT models. However, it's important to ensure these workflow changes don't indirectly affect data processing or model execution.

    cr-gpt[bot] commented 1 day ago

    Seems you are using me but didn't get OPENAI_API_KEY seted in Variables/Secrets for this repo. you could follow readme for more information

    structuredbot[bot] commented 1 day ago

    Thanks for opening this PR!

    Total commits: 30 Files changed: 186 Additions: 1317 Deletions: 484

    Commits: bad0976: Merge pull request #4 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-3

    Create README.md d3974a4: Update dependabot.yml 073814c: Update dependabot.yml b5403eb: Merge pull request #5 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-3

    Andrewshin 7th technology student patch 3 6a70888: Update configure.sh 1af879c: Merge pull request #6 from Andrewshin-7th-technology-student/main

    merge 2c8af68: Update dependabot.yml e6ce424: Update dependabot.yml 091fc2d: Update dependabot.yml c27f34b: Bump the dev-dependencies group with 4 updates

    Bumps the dev-dependencies group with 4 updates: actions/checkout, actions/setup-python, docker/setup-qemu-action and pypa/gh-action-pypi-publish.

    Updates actions/checkout from 1 to 4

    Updates actions/setup-python from 1 to 5

    Updates docker/setup-qemu-action from 2 to 3

    Updates pypa/gh-action-pypi-publish from 1.4.2 to 1.10.3


    updated-dependencies:

    Signed-off-by: dependabot[bot] support@github.com e03f38c: Merge pull request #8 from Andrewshin-7th-technology-student/dependabot/github_actions/dev-dependencies-bb26703bbe

    Bump the dev-dependencies group with 4 updates 503f1d7: Merge pull request #7 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-1

    Andrewshin 7th technology student patch 1 9ccf91a: Update array.txt b111a82: Update atomic-no-shared-memory.txt f44d10c: Create main.png fad31a2: Add files via upload 04d0e15: Merge pull request #10 from Andrewshin-7th-technology-student/main

    ok 77a82ab: Add files via upload afe7043: Merge pull request #11 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-1

    Merge pull request #10 from Andrewshin-7th-technology-student/main 78b21c1: Add files via upload f0461c0: Add files via upload 182c4af: Create Imagebot.yml 2a38820: Update appveyor.yml de92dcc: Create pcimages?.tre 73bfd48: UPDATE FILES FROM UseInterstellar/Interstellar b17a836: Create index.html abfe79b: Update Development .yml 938c519: Create Production_deploymet_name.yml 64f144f: Delete static directory fb0cd92: Create .imgbotconfig

    Changes: File: .deepsource.toml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,29 @@
    +version = 1
    +
    +[[analyzers]]
    +name = "python"
    +
    +  [analyzers.meta]
    +  runtime_version = "3.x.x"
    +
    +[[analyzers]]
    +name = "java"
    +
    +  [analyzers.meta]
    +  runtime_version = "11"
    +
    +[[analyzers]]
    +name = "csharp"
    +
    +[[analyzers]]
    +name = "javascript"
    +
    +[[analyzers]]
    +name = "shell"
    +
    +[[analyzers]]
    +name = "kotlin"
    +
    +  [analyzers.meta]
    +  runtime_version = "1.8"
    +  language_version = "1.7"
    \ No newline at end of file

    File: .devcontainer/main.js

    Original Content:

    /*
    All this code is copyright Orteil, 2013-2023.
        -with some help, advice and fixes by Nicholas Laux, Debugbro, Opti, the folks at Playsaurus, and lots of people on reddit, Discord, and the DashNet forums
        -also includes a bunch of snippets found on stackoverflow.com and others
        -want to mod the game? scroll down to the "MODDING API" section
    Hello, and welcome to the joyous mess that is main.js. Code contained herein is not guaranteed to be good, consistent, or sane. Most of this is years old at this point and harkens back to simpler, cruder times. In particular I've tried to maintain compatibility with fairly old versions of javascript, which means luxuries such as 'let', arrow functions and string literals are unavailable.
    As Cookie Clicker is rife with puns and tricky wordplay, localization was never intended to be possible - but ended up happening anyway as part of the Steam port. As a result, usage of strings is somewhat unorthodox in some places.
    Have a nice trip, and stay safe.
    Spoilers ahead.
    http://orteil.dashnet.org
    */
    
    /*=====================================================================================
    MISC HELPER FUNCTIONS
    =======================================================================================*/
    function l(what) {return document.getElementById(what);}
    function choose(arr) {return arr[Math.floor(Math.random()*arr.length)];}
    
    function escapeRegExp(str){return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");}
    function replaceAll(find,replace,str){return str.replace(new RegExp(escapeRegExp(find),'g'),replace);}
    
    function cap(str){return str.charAt(0).toUpperCase()+str.slice(1);}
    
    function romanize(num){
        if (isNaN(num))
            return NaN;
        var digits = String(+num).split(""),
            key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
                   "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
                   "","I","II","III","IV","V","VI","VII","VIII","IX"],
            roman = "",
            i = 3;
        while (i--)
            roman = (key[+digits.pop() + (i * 10)] || "") + roman;
        return Array(+digits.join("") + 1).join("M") + roman;
    }
    
    //disable sounds coming from soundjay.com (sorry)
    var realAudio=typeof Audio!=='undefined'?Audio:function(){return {}};//backup real audio
    Audio=function(src){
        if (src && src.indexOf('soundjay')>-1) {Game.Popup('Sorry, no sounds hotlinked from soundjay.com.');this.play=function(){};}
        else return new realAudio(src);
    };
    
    if(!Array.prototype.indexOf) {
        Array.prototype.indexOf = function(needle) {
            for(var i = 0; i < this.length; i++) {
                if(this[i] === needle) {return i;}
            }
            return -1;
        };
    }
    

    Changes:

    @@ -24,15 +24,15 @@ function cap(str){return str.charAt(0).toUpperCase()+str.slice(1);}
     function romanize(num){
         if (isNaN(num))
             return NaN;
    -    var digits = String(+num).split(""),
    +    var digits = String(Number(num)).split(""),
             key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
                    "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
                    "","I","II","III","IV","V","VI","VII","VIII","IX"],
             roman = "",
             i = 3;
         while (i--)
    -        roman = (key[+digits.pop() + (i * 10)] || "") + roman;
    -    return Array(+digits.join("") + 1).join("M") + roman;
    +        roman = (key[Number(digits.pop()) + (i * 10)] || "") + roman;
    +    return Array(Number(digits.join("")) + 1).join("M") + roman;
     }
    
     //disable sounds coming from soundjay.com (sorry)

    File: .github/.cirrus.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,9 @@
    +container:
    +  image: node:latest
    +
    +check_task:
    +  node_modules_cache:
    +    folder: node_modules
    +    fingerprint_script: cat yarn.lock
    +    populate_script: yarn install
    +  test_script: yarn test

    File: .github/FUNDING.yml

    Original Content:

    # These are supported funding model platforms
    
    github: [As90909w][Nebula]
    open_collective: Andrewmoney
    tidelift: .github/build.yml
    community_bridge: cloud-foundry
    lfx_crowdfunding: ANDREWRXCVfoundry8282
    buy_me_a_coffee: usermainElliot_shin2221
    thanks_dev: FoundryTODEVfree
    custom: https://www.github.com/git?authuser=ID:zeZoispLfr6Saj1ARpPbcp2cljZ5fdKv8sPuS6l9xjwdT8sG5e409wgb7vFwRu5djHShwo2iuwe2f9eeghds8qer3we2wd9cec8ehudhciu3deyu8iywi73ewoq820f9o=truemain=branch/main
    

    Changes:

    @@ -1,10 +0,0 @@
    -# These are supported funding model platforms
    -
    -github: [As90909w][Nebula]
    -open_collective: Andrewmoney
    -tidelift: .github/build.yml
    -community_bridge: cloud-foundry
    -lfx_crowdfunding: ANDREWRXCVfoundry8282
    -buy_me_a_coffee: usermainElliot_shin2221
    -thanks_dev: FoundryTODEVfree
    -custom: https://www.github.com/git?authuser=ID:zeZoispLfr6Saj1ARpPbcp2cljZ5fdKv8sPuS6l9xjwdT8sG5e409wgb7vFwRu5djHShwo2iuwe2f9eeghds8qer3we2wd9cec8ehudhciu3deyu8iywi73ewoq820f9o=truemain=branch/main

    File: .github/appveyor.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,12 @@
    +version: 1.0.{build}
    +image: Visual Studio 2017
    +pull_requests:
    +  do_not_increment_build_number: true
    +branches:
    +  only:
    +  - master
    +before_build:
    +- nuget restore
    +configuration: Release
    +build:
    +  verbosity: minimal

    File: .github/branding/Img

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1 @@
    +g

    File: .github/branding/branding.png

    Original Content:

    Unable to fetch content

    Changes:

    No changes

    File: .github/branding/openttd.2048.png

    Original Content:

    Unable to fetch content

    Changes:

    No changes

    File: .github/butterb0t.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,6 @@
    +domains: 
    +    - name: Staging 
    +      url: https://staging.example.com/
    +
    +    - name: Storybook
    +      url: https://storybook.example.com/

    File: .github/dependabot-auto-merger.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,18 @@
    +name: automerge
    +
    +on:
    +  workflow_dispatch:
    +    inputs:
    +      pr-number:
    +        required: true
    +
    +jobs:
    +  automerge:
    +    runs-on: ubuntu-latest
    +    permissions:
    +      pull-requests: write
    +      contents: write
    +    steps:
    +      - uses: fastify/github-action-merge-dependabot@v3
    +        with:
    +          pr-number: ${{ github.event.inputs.pr-number }}

    File: .github/dependabot.yml

    Original Content:

    version: 2
    updates:
      # Keep bundler dependencies up to date
      - package-ecosystem: "bundler"
        directories:
        schedule:
          interval: "daily"
        # Create a group of dependencies to be updated together in one pull request
        groups:
           # Specify a name for the group, which will be used in pull request titles
           # and branch names
           dev-dependencies:
              # Define patterns to include dependencies in the group (based on
              # dependency name)
              applies-to: version-updates # Applies the group rule to version updates
              patterns:
                - "rubocop" # A single dependency name
                - "rspec*"  # A wildcard string that matches multiple dependency names
                - "*"       # A wildcard that matches all dependencies in the package
                            # ecosystem. Note: using "*" may open a large pull request
              # Define patterns to exclude dependencies from the group (based on
              # dependency name)
              exclude-patterns:
                - "gc_ruboconfig"
                - "gocardless-*"
    

    Changes:

    @@ -1,25 +1,32 @@
     version: 2
     updates:
       # Keep bundler dependencies up to date
    -  - package-ecosystem: "bundler"
    -    directories:
    +  - package-ecosystem: "github-actions"
    +    directory: "/"
         schedule:
           interval: "daily"
    -    # Create a group of dependencies to be updated together in one pull request
         groups:
    -       # Specify a name for the group, which will be used in pull request titles
    -       # and branch names
    -       dev-dependencies:
    -          # Define patterns to include dependencies in the group (based on
    -          # dependency name)
    -          applies-to: version-updates # Applies the group rule to version updates
    -          patterns:
    -            - "rubocop" # A single dependency name
    -            - "rspec*"  # A wildcard string that matches multiple dependency names
    -            - "*"       # A wildcard that matches all dependencies in the package
    -                        # ecosystem. Note: using "*" may open a large pull request
    -          # Define patterns to exclude dependencies from the group (based on
    -          # dependency name)
    -          exclude-patterns:
    -            - "gc_ruboconfig"
    -            - "gocardless-*"
    +      dev-dependencies:
    +        applies-to: version-updates # Applies the group rule to version updates
    +        patterns:
    +          - "rubocop" 
    +          - "rspec*"  
    +          - "*"       
    +          - "*"            
    +        exclude-patterns:
    +          - "gc_ruboconfig"
    +          - "gocardless-*"
    +    open-pull-requests-limit: 100
    +    reviewers:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username
    +    assignees:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username
    +  - package-ecosystem: "npm"
    +    directory: "/"
    +    schedule:
    +      interval: "daily"
    +    open-pull-requests-limit: 100
    +    reviewers:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username
    +    assignees:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username

    File: .github/fast-foward.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,16 @@
    +name: Fast-Forward
    +
    +on: 
    +  issue_comment:
    +    types: [created]
    +  push:
    +  pull_request:
    +
    +jobs:
    +  run:
    +    runs-on: ubuntu-latest
    +    steps:
    +      - uses: APN-Pucky/fast-forward-action@main
    +        with:
    +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    +          SSH_PRIVATE_KEY: ${{ secrets.GH_SSH }}

    File: .github/imagebot.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,16 @@
    +name: ImageBot
    +on:
    +  push:
    +    branches:
    +      - main
    +jobs:
    +  imagebot:
    +    runs-on: ubuntu-latest
    +    steps:
    +      - name: Checkout code
    +        uses: actions/checkout@v2
    +      - name: Run ImageBot
    +        uses: imagebot/imagebot@v1
    +        with:
    +          githubToken: ${{ secrets.GITHUB_TOKEN }}
    +          imagebotConfig: .imgbotconfig

    File: .github/issue-branch.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,20 @@
    +on:
    +  # The issue.opened event below is only needed for the "immediate" mode.
    +  # The issue.assigned event below is only needed for the default ("auto") mode.
    +  issues:
    +    types: [ opened, assigned ]
    +  # The issue_comment.created event below is only needed for the ChatOps mode.
    +  issue_comment:
    +    types: [ created ]
    +  # The pull_request events below are only needed for pull-request related features.
    +  pull_request:
    +    types: [ opened, closed ]
    +
    +jobs:
    +  create_issue_branch_job:
    +    runs-on: ubuntu-latest
    +    steps:
    +      - name: Create Issue Branch
    +        uses: robvanderleek/create-issue-branch@main
    +        env:
    +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

    File: .github/issue_label_bot.yaml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,4 @@
    +label-alias:
    +  bug: 'kind/bug'
    +  feature_request: 'enhancement'
    +  question: 'question'

    File: .github/stale.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,12 @@
    +daysUntilStale: 1
    +daysUntilClose: 2
    +exemptLabels:
    +  - duplicate
    +  - invalid
    +  - wontfix
    +staleLabel: goneStale
    +markComment: >
    +  This issue has been automatically marked as stale because it has not had
    +  recent activity. It will be closed if no further activity occurs. Thank you
    +  for your contributions.
    +closeComment: false

    File: .github/wip.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,7 @@
    +locations:
    +  - title
    +  - label_name
    +  - commit_subject
    +terms:
    +  - do not merge
    +  - ⛔

    File: .github/workflows/Deployment.yml

    Original Content:

    name: Deployment
    
    on:
      push:
        branches: ["main"]
    
    env:
      AZURE_FUNCTIONAPP_NAME: 'Deployment'   # set this to your function app name on Azure
      AZURE_FUNCTIONAPP_PACKAGE_PATH: '.'       # set this to the path to your function app project, defaults to the repository root
      PYTHON_VERSION: '3.9'                     # set this to the python version to use (e.g. '3.6', '3.7', '3.8')
    
    jobs:
      build-and-deploy:
        runs-on: ubuntu-latest
        environment: Deployment
        steps:
        - name: 'Checkout GitHub Action'
          uses: actions/checkout@v4
    
        # If you want to use Azure RBAC instead of Publish Profile, then uncomment the task below
        # - name: 'Login via Azure CLI'
        #   uses: azure/login@v1
        #   with:
        #     creds: ${{ secrets.AZURE_RBAC_CREDENTIALS }} # set up AZURE_RBAC_CREDENTIALS secrets in your repository
    
        - name: Setup Python ${{ env.PYTHON_VERSION }} Environment
          uses: actions/setup-python@v4
          with:
            python-version: ${{ env.PYTHON_VERSION }}
    

    Changes:

    @@ -24,6 +24,6 @@ jobs:
         #     creds: ${{ secrets.AZURE_RBAC_CREDENTIALS }} # set up AZURE_RBAC_CREDENTIALS secrets in your repository
    
         - name: Setup Python ${{ env.PYTHON_VERSION }} Environment
    -      uses: actions/setup-python@v4
    +      uses: actions/setup-python@v5
           with:
             python-version: ${{ env.PYTHON_VERSION }}

    File: .github/workflows/Development .yml

    Original Content:

    name: Linux server deployment
    
    on:
      create:
        tags:
      push:
        branches:
          - main
      pull_request:
    
    jobs:
      lint:
        name: connect to linux server
        runs-on: ubuntu-latest
        environment: 'Development'
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
      build:
        name: build
        runs-on: ${{ matrix.os }}
        strategy:
          matrix:
            os: [ubuntu-latest, macos-12, macos-14, windows-latest]
        steps:
        - uses: actions/setup-python@v5
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - name: mkdir
          run: mkdir -p out
      emscripten:
        name: emscripten
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v1
          with:
            submodules: true
      wasi:
        name: wasi
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
            with:
              submodules: true
      sanitize:
        name: sanitize
        runs-on: ubuntu-24.04
        env:
          USE_NINJA: "1"
          CC: "clang"
          WASM2C_CFLAGS: "-march=x86-64-v2" # currently required for SIMDe to pass some tests on x86-64
        strategy:
          matrix:
            sanitizer: [asan, ubsan, fuzz]
            type: [debug, release]
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
      build-wasm2c-memchecked:
        name: wasm2c-memchecked
        runs-on: ubuntu-latest
        env:
          USE_NINJA: "1"
          CC: "clang" # used by the wasm2c tests
          WASM2C_CFLAGS: "-march=x86-64-v2 -fsanitize=address -DWASM_RT_USE_MMAP=0"
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - run: sudo apt-get install ninja-build
        - name: workaround for ASLR+ASAN compatibility # See https://github.com/actions/runner/issues/3207
          run: sudo sysctl -w vm.mmap_rnd_bits=28
    
      build-min-cmake:
        name: min-cmake
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v1
          with:
            submodules: true
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - name: Install Ninja
          run: sudo apt-get install ninja-build
        - name: Detect minimum CMake version
          run: >
            awk 'match($0, /cmake_minimum_required\(VERSION *([0-9]+\.[0-9]+)\)/, a)
            { print "WABT_CMAKE_VER=" a[1]; exit; }' CMakeLists.txt | tee $GITHUB_ENV
      build-rlbox:
        name: rlbox
        runs-on: ubuntu-latest
        env:
          USE_NINJA: "1"
          WASM2C_CC: "clang"
          WASM2C_CFLAGS: "-DWASM_RT_USE_MMAP=1 -DWASM_RT_SKIP_SIGNAL_RECOVERY=1 -DWASM_RT_NONCONFORMING_UNCHECKED_STACK_EXHAUSTION=1 -DWASM2C_TEST_EMBEDDER_SIGNAL_HANDLING -DWASM_RT_ALLOW_SEGUE=1 -DWASM_RT_SEGUE_FREE_SEGMENT=1 -mfsgsbase -DWASM_RT_SANITY_CHECKS=1 -Wno-pass-failed"
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - run: sudo apt-get install ninja-build
      build-cross:
        name: Disconnect from linux server and deploy
        runs-on: ubuntu-latest
        strategy:
          fail-fast: false
          matrix:
            arch: [s390x]
        services: # still faster on debian...
          distcc:
            image: debian:latest
            options: --health-cmd distccmon-text --health-interval 5s --health-start-period 5m debian:latest bash -c "apt-get update && apt-get install -y g++-s390x-linux-gnu distcc && distccd --daemon --no-detach"
            ports:
              - 3632:3632
        env:
          QEMU_LD_PREFIX: /usr/${{matrix.arch}}-linux-gnu/
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - name: Set up QEMU
          uses: docker/setup-qemu-action@v2
          with:
            platforms: ${{matrix.arch}}
            image: "tonistiigi/binfmt:master"
        - name: install ninja
          run: sudo apt-get install ninja-build
        - name: install the toolchain
          run: sudo apt-get install g++-${{matrix.arch}}-linux-gnu
        - name: install distcc
          run: sudo apt-get install distcc
        - name: installing linux debugger
          run: sudo mkdir -p /opt/bin/distcc_symlinks
        - name: read files - checking if production succeeded 
          run: sudo ln -s /usr/bin/distcc /opt/bin/distcc_symlinks/${{matrix.arch}}-linux-gnu-gcc # only CC is needed
    

    Changes:

    @@ -14,21 +14,21 @@ jobs:
         runs-on: ubuntu-latest
         environment: 'Development'
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
       build:
         name: build
         runs-on: ${{ matrix.os }}
         strategy:
           matrix:
    -        os: [ubuntu-latest, macos-12, macos-14, windows-latest]
    +        os: [ubuntu-latest, macos-12, macos-14]
         steps:
         - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - name: mkdir
    @@ -37,14 +37,14 @@ jobs:
         name: emscripten
         runs-on: ubuntu-latest
         steps:
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
       wasi:
         name: wasi
         runs-on: ubuntu-latest
         steps:
    -      - uses: actions/checkout@v3
    +      - uses: actions/checkout@v4
             with:
               submodules: true
       sanitize:
    @@ -59,10 +59,10 @@ jobs:
             sanitizer: [asan, ubsan, fuzz]
             type: [debug, release]
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
       build-wasm2c-memchecked:
    @@ -73,10 +73,10 @@ jobs:
           CC: "clang" # used by the wasm2c tests
           WASM2C_CFLAGS: "-march=x86-64-v2 -fsanitize=address -DWASM_RT_USE_MMAP=0"
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - run: sudo apt-get install ninja-build
    @@ -87,10 +87,10 @@ jobs:
         name: min-cmake
         runs-on: ubuntu-latest
         steps:
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
         - name: Install Ninja
    @@ -107,10 +107,10 @@ jobs:
           WASM2C_CC: "clang"
           WASM2C_CFLAGS: "-DWASM_RT_USE_MMAP=1 -DWASM_RT_SKIP_SIGNAL_RECOVERY=1 -DWASM_RT_NONCONFORMING_UNCHECKED_STACK_EXHAUSTION=1 -DWASM2C_TEST_EMBEDDER_SIGNAL_HANDLING -DWASM_RT_ALLOW_SEGUE=1 -DWASM_RT_SEGUE_FREE_SEGMENT=1 -mfsgsbase -DWASM_RT_SANITY_CHECKS=1 -Wno-pass-failed"
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - run: sudo apt-get install ninja-build
    @@ -130,14 +130,14 @@ jobs:
         env:
           QEMU_LD_PREFIX: /usr/${{matrix.arch}}-linux-gnu/
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - name: Set up QEMU
    -      uses: docker/setup-qemu-action@v2
    +      uses: docker/setup-qemu-action@v3
           with:
             platforms: ${{matrix.arch}}
             image: "tonistiigi/binfmt:master"

    File: .github/workflows/Package.yml

    Original Content:

    name: publish package using python
    
    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 }}
    

    Changes:

    @@ -15,7 +15,7 @@ jobs:
         steps:
         - uses: actions/checkout@v4
         - name: Set up Python
    -      uses: actions/setup-python@v3
    +      uses: actions/setup-python@v5
           with:
             python-version: '3.x'
         - name: Install dependencies
    @@ -25,7 +25,7 @@ jobs:
         - name: Build package
           run: python -m build
         - name: Publish package
    -      uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
    +      uses: pypa/gh-action-pypi-publish@f7600683efdcb7656dec5b29656edb7bc586e597
           with:
             user: __token__
             password: ${{ secrets.PYPI_API_TOKEN }}

    File: .github/workflows/Package_create.yml

    Original Content:

    name: Package create
    
    on: [push]
    
    jobs:
      build-linux:
        runs-on: ubuntu-latest
        strategy:
          max-parallel: 5
    
        steps:
        - uses: actions/checkout@v4
        - name: Set up Python 3.10
          uses: actions/setup-python@v3
          with:
            python-version: '3.10'
        - name: Publish python package
          run: |
            # $CONDA is an environment variable pointing to the root of the miniconda directory
            echo $CONDA/bin >> $GITHUB_PATH
    

    Changes:

    @@ -11,7 +11,7 @@ jobs:
         steps:
         - uses: actions/checkout@v4
         - name: Set up Python 3.10
    -      uses: actions/setup-python@v3
    +      uses: actions/setup-python@v5
           with:
             python-version: '3.10'
         - name: Publish python package

    File: .github/workflows/cr.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,27 @@
    +name: Code Review
    +
    +permissions:
    +  contents: read
    +  pull-requests: write
    +
    +on:
    +  pull_request:
    +    types: [opened, reopened, synchronize]
    +
    +jobs:
    +  test:
    +    # if: ${{ contains(github.event.*.labels.*.name, 'gpt review') }} # Optional; to run only when a label is attached
    +    runs-on: ubuntu-latest
    +    steps:
    +      - uses: anc95/ChatGPT-CodeReview@main
    +        env:
    +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    +          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
    +          # Optional
    +          LANGUAGE: Chinese
    +          OPENAI_API_ENDPOINT: https://api.openai.com/v1
    +          MODEL: gpt-3.5-turbo # https://platform.openai.com/docs/models
    +          top_p: 1 # https://platform.openai.com/docs/api-reference/chat/create#chat/create-top_p
    +          temperature: 1 # https://platform.openai.com/docs/api-reference/chat/create#chat/create-temperature
    +          max_tokens: 10000
    +          MAX_PATCH_LENGTH: 10000 # if the patch/diff length is large than MAX_PATCH_LENGTH, will be ignored and won't review. By default, with no MAX_PATCH_LENGTH set, there is also no limit for the patch/diff length.

    File: .github/workflows/dockerimage.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,18 @@
    +name: Docker Image CI
    +
    +on:
    +  push:
    +    branches: [ main ]
    +  pull_request:
    +    branches: [ main ]
    +
    +jobs:
    +
    +  build:
    +
    +    runs-on: ubuntu-latest
    +
    +    steps:
    +    - uses: actions/checkout@v4
    +    - name: Build the Docker image
    +      run: docker build -f Dockerfile.CompressImages . -t imgbot

    File: .github/workflows/gitguardian.yaml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,21 @@
    +name: GitGuardian scan
    +
    +on: [push, pull_request]
    +
    +jobs:
    +  scanning:
    +    name: GitGuardian scan
    +    runs-on: ubuntu-latest
    +    steps:
    +      - name: Checkout
    +        uses: actions/checkout@v4
    +        with:
    +          fetch-depth: 0 # fetch all history so multiple commits can be scanned
    +      - name: GitGuardian scan
    +        uses: GitGuardian/ggshield/actions/secret@v1.32.2
    +        env:
    +          GITHUB_PUSH_BEFORE_SHA: ${{ github.event.before }}
    +          GITHUB_PUSH_BASE_SHA: ${{ github.event.base }}
    +          GITHUB_PULL_BASE_SHA: ${{ github.event.pull_request.base.sha }}
    +          GITHUB_DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
    +          GITGUARDIAN_API_KEY: ${{ secrets.GITGUARDIAN_API_KEY }}

    File: .github/workflows/prettier-check.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,23 @@
    +name: prettier-check
    +
    +on:
    +  pull_request: # Must run on pull requests
    +    branches:
    +      - main
    +
    +permissions:
    +  contents: read
    +  pull-requests: write
    +  issues: write
    +
    +jobs:
    +  prettier-bot:
    +    name: Prettier Bot
    +    runs-on: ubuntu-latest
    +
    +    steps:
    +      - name: Checkout
    +        uses: actions/checkout@v4
    +
    +      - name: Prettier Bot
    +        uses: noyobo/prettier-bot@v1

    File: .imgbotconfig

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,14 @@
    +{
    +    "createPullRequest": "true",
    +    "pullRequestTemplate": "template.md",
    +    "prTitle": "Image optimized"
    +    "schedule": "daily",
    +    "ignoredFiles": [
    +        "*.ico",                
    +        "drawing_6.jpg",  
    +        "docs*"
    +    ],
    +    "aggressiveCompression": "false",
    +    "minKBReduced" : 0,
    +    "compressWiki": "true",
    +}

    File: .main files/PackagingLayout.xml

    Original Content:

    <PackagingLayout xmlns="http://schemas.microsoft.com/appx/makeappx/2017">
        <!-- Main game -->
        <PackageFamily ID="OpenTTD" FlatBundle="false" ManifestPath="manifests\Package.appxmanifest" ResourceManager="false">
            <!-- x86 code package-->
            <Package ID="OpenTTD-x86" ProcessorArchitecture="x86" ManifestPath="manifests\Package-x86.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="x86-binaries\**"/>
                    <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
                </Files>
            </Package>
    
            <!-- x64 code package-->
            <Package ID="OpenTTD-x64" ProcessorArchitecture="x64" ManifestPath="manifests\Package-x64.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="x64-binaries\**"/>
                    <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
                </Files>
            </Package>
    
            <!-- ARM64 code package-->
            <Package ID="OpenTTD-ARM64" ProcessorArchitecture="arm64" ManifestPath="manifests\Package-ARM64.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="ARM64-binaries\**"/>
                    <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
                </Files>
            </Package>
    
            <!-- Common asset package-->
            <AssetPackage ID="OpenTTD-common" AllowExecution="false" ManifestPath="manifests\AssetsPackage.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="common-binaries\**"/>
                </Files>
            </AssetPackage>
        </PackageFamily>
    </PackagingLayout>
    

    Changes:

    @@ -6,6 +6,7 @@
                 <Files>
                     <File DestinationPath="**" SourcePath="x86-binaries\**"/>
                     <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
    +                <./>
                 </Files>
             </Package>
    

    File: .text files/atomic-no-shared-memory.txt

    Original Content:

    ;;; TOOL: wat2wasm
    ;;; ARGS: --enable-threads
    
    (module
      (memory 1)
      (func
        i32.const 0 i32.const 0 memory.atomic.notify drop
        i32.const 0 i32.const 0 i64.const 0 memory.atomic.wait32 drop
        i32.const 0 i64.const 0 i64.const 0 memory.atomic.wait64 drop
    
        i32.const 0 i32.atomic.load drop
        i32.const 0 i64.atomic.load drop
        i32.const 0 i32.atomic.load8_u drop
        i32.const 0 i32.atomic.load16_u drop
        i32.const 0 i64.atomic.load8_u drop
        i32.const 0 i64.atomic.load16_u drop
        i32.const 0 i64.atomic.load32_u drop
    
        i32.const 0 i32.const 0 i32.atomic.store
        i32.const 0 i64.const 0 i64.atomic.store
        i32.const 0 i32.const 0 i32.atomic.store8
        i32.const 0 i32.const 0 i32.atomic.store16
        i32.const 0 i64.const 0 i64.atomic.store8
        i32.const 0 i64.const 0 i64.atomic.store16
        i32.const 0 i64.const 0 i64.atomic.store32
    
        i32.const 0 i32.const 0 i32.atomic.rmw.add drop
        i32.const 0 i64.const 0 i64.atomic.rmw.add drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.add_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.add_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.add_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.add_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.add_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.sub drop
        i32.const 0 i64.const 0 i64.atomic.rmw.sub drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.sub_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.sub_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.sub_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.sub_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.sub_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.and drop
        i32.const 0 i64.const 0 i64.atomic.rmw.and drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.and_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.and_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.and_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.and_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.and_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.or drop
        i32.const 0 i64.const 0 i64.atomic.rmw.or drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.or_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.or_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.or_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.or_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.or_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.xor drop
        i32.const 0 i64.const 0 i64.atomic.rmw.xor drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.xor_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.xor_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.xor_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.xor_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.xor_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.xchg drop
        i32.const 0 i64.const 0 i64.atomic.rmw.xchg drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.xchg_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.xchg_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.xchg_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.xchg_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.xchg_u drop
    
        i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw.cmpxchg drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw.cmpxchg drop
        i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw8.cmpxchg_u drop
        i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw16.cmpxchg_u drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw8.cmpxchg_u drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw16.cmpxchg_u drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw32.cmpxchg_u drop
    
    ))
    

    Changes:

    @@ -8,15 +8,7 @@
         i32.const 0 i32.const 0 i64.const 0 memory.atomic.wait32 drop
         i32.const 0 i64.const 0 i64.const 0 memory.atomic.wait64 drop
    
    -    i32.const 0 i32.atomic.load drop
    -    i32.const 0 i64.atomic.load drop
    -    i32.const 0 i32.atomic.load8_u drop
    -    i32.const 0 i32.atomic.load16_u drop
    -    i32.const 0 i64.atomic.load8_u drop
    -    i32.const 0 i64.atomic.load16_u drop
    -    i32.const 0 i64.atomic.load32_u drop
    -
    -    i32.const 0 i32.const 0 i32.atomic.store
    +i32.const 0 i32.const 0 i32.atomic.store
         i32.const 0 i64.const 0 i64.atomic.store
         i32.const 0 i32.const 0 i32.atomic.store8
         i32.const 0 i32.const 0 i32.atomic.store16
    @@ -32,6 +24,14 @@
         i32.const 0 i64.const 0 i64.atomic.rmw16.add_u drop
         i32.const 0 i64.const 0 i64.atomic.rmw32.add_u drop
    
    +    i32.const 0 i32.atomic.load drop
    +    i32.const 0 i64.atomic.load drop
    +    i32.const 0 i32.atomic.load8_u drop
    +    i32.const 0 i32.atomic.load16_u drop
    +    i32.const 0 i64.atomic.load8_u drop
    +    i32.const 0 i64.atomic.load16_u drop
    +    i32.const 0 i64.atomic.load32_u drop
    +
         i32.const 0 i32.const 0 i32.atomic.rmw.sub drop
         i32.const 0 i64.const 0 i64.atomic.rmw.sub drop
         i32.const 0 i32.const 0 i32.atomic.rmw8.sub_u drop

    File: .unibeautifyrc.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,28 @@
    +PHP: # Language
    +  beautifiers: # Enable beautifiers
    +  - PHP-CS-Fixer
    +  PHP-CS-Fixer: # Beautifier options
    +    prefer_beautifier_config: true
    +    PHP-CS-Fixer: # Executable options
    +      path: "/absolute/path/to/php-cs-fixer"
    +TypeScript:
    +  beautifiers: ["Pretty Diff", "Prettier"]
    +  align_assignments: false
    +  arrow_parens: "as-needed"
    +  break_chained_methods: true
    +  end_with_comma: true
    +  end_with_semicolon: true
    +  indent_char: " "
    +  indent_size: 2
    +  jsx_brackets: false
    +  multiline_ternary: true
    +  object_curly_spacing: true
    +  quotes: "double"
    +  space_after_anon_function: false
    +  wrap_line_length: 80
    +CSS:
    +  indent_char: " "
    +  indent_size: 2
    +HTML:
    +  indent_char: " "
    +  indent_size: 2

    File: Dockerfile.CompressImages

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,28 @@
    +FROM mcr.microsoft.com/dotnet/sdk:6.0-focal AS dotnet
    +
    +COPY . /src/
    +RUN mkdir -p /home/site/wwwroot
    +RUN cd /src/CompressImagesFunction && dotnet publish CompressImagesFunction.csproj -c Release --output /home/site/wwwroot
    +
    +# Native Binaries
    +RUN cd /src/CompressImagesFunction && cp bin/Release/net6.0/runtimes/linux-x64/native/libgit2-b7bad55.so /home/site/wwwroot/bin/
    +RUN cd /src/CompressImagesFunction && cp bin/Release/net6.0/runtimes/linux-x64/native/Magick.Native-Q16-x64.dll.so /home/site/wwwroot/bin/
    +
    +FROM mcr.microsoft.com/azure-functions/dotnet:4
    +
    +RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests \
    +  curl libcurl4 autoconf automake libtool nasm make wget pkg-config
    +
    +RUN curl -sL https://deb.nodesource.com/setup_lts.x | bash -
    +RUN apt-get install -y nodejs
    +RUN npm install -g svgo@^1.3.2
    +
    +# Add support for mozjpeg
    +RUN cd /tmp && wget https://github.com/mozilla/mozjpeg/archive/v3.3.1.tar.gz
    +RUN cd /tmp && tar -xzf v3.3.1.tar.gz
    +RUN cd /tmp/mozjpeg-3.3.1 && autoreconf -fiv
    +RUN mkdir /tmp/mozjpeg-3.3.1/build
    +RUN cd /tmp/mozjpeg-3.3.1/build && sh ../configure && make install
    +
    +RUN ln -s /opt/mozjpeg/bin/jpegtran /usr/local/bin/mozjpegtran
    +RUN ln -s /opt/mozjpeg/bin/cjpeg /usr/local/bin/mozcjpeg
    codiumai-pr-agent-free[bot] commented 1 day ago

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 4 🔵🔵🔵🔵⚪
    🧪 No relevant tests
    🔒 Security concerns

    Sensitive information exposure:
    In the OpenPrFunction/PullRequest.cs file, there's a potential security concern with how the GitHub access token is handled. The token is passed as a parameter and stored in a variable. Ensure that this token is not logged or exposed in any way throughout the execution of the function.
    ⚡ Recommended focus areas for review

    Performance Concern
    The change from `+new Date` to `Number(new Date)` may have a slight performance impact. This should be validated to ensure it doesn't affect overall performance, especially in frequently called functions. Potential Bug
    The change in the `isEmpty` function now checks for `Object.prototype.hasOwnProperty.call(obj, n)` instead of `obj.hasOwnProperty(n)`. This could potentially change the behavior if `obj` is a custom object with a modified `hasOwnProperty` method. Code Complexity
    The `OpenAsync` method in the `PullRequest` class is quite long and complex. Consider refactoring it into smaller, more focused methods to improve readability and maintainability.
    cr-gpt[bot] commented 1 day ago

    Seems you are using me but didn't get OPENAI_API_KEY seted in Variables/Secrets for this repo. you could follow readme for more information

    structuredbot[bot] commented 1 day ago

    Modularity Analysis

    The changes primarily involve workflow updates and dependency upgrades. While not directly related to DBT modularity, keeping CI/CD pipelines up-to-date is crucial for maintaining a modular and efficient development process.


    Versioning Analysis

    The changes mainly involve updating GitHub Actions workflow files and adding new configuration files. No significant versioning changes are present in DBT models. Consider adding version tags or comments to any new or modified DBT models in future updates.


    Grouping And Folder Structure Analysis

    The changes don't directly affect DBT model organization. However, updating GitHub Actions workflows and configuration files is important for maintaining a robust CI/CD pipeline, which indirectly supports better code organization and project scalability.


    Access Control Analysis

    The changes do not appear to directly impact data access control. However, updating dependencies and GitHub Actions workflows may indirectly affect security. Consider reviewing access controls for any new or updated components.


    Naming Conventions Analysis

    The changes maintain consistent naming conventions, using snake_case for file names and kebab-case for workflow names. However, consider renaming 'Development .yml' to 'development.yml' for consistency with other workflow files.


    Testing Coverage Analysis

    The changes primarily focus on workflow updates and configuration files. While these are important, there don't appear to be any significant changes to DBT models or tests. Consider adding or updating tests for any affected DBT models to ensure data quality and integrity.


    Config Best Practices Analysis

    The changes primarily involve updates to GitHub Actions workflows, including upgrading Python setup actions and adjusting CI/CD processes. While not directly related to DBT configurations, these updates can improve the overall development workflow and potentially impact how DBT models are tested and deployed.


    Sql Performance And Efficiency Analysis

    The changes primarily update GitHub Actions workflows and configurations. While there are no direct SQL performance impacts, the updated CI/CD processes may indirectly improve overall code quality and deployment efficiency.


    Avoiding Anti Patterns In S Q L Analysis

    The changes in this PR focus on updating GitHub Actions workflows and configurations. While there are no direct SQL changes, it's important to maintain good SQL practices in any database-related code. Always avoid using SELECT * and optimize queries where possible.


    Adherence To Data Contracts Analysis

    The changes primarily involve workflow updates and configuration additions. No significant modifications to data schemas or model outputs are present that would impact existing data contracts. However, it's recommended to review the new configuration files to ensure they align with current data management practices.


    Data Lineage Tracking Analysis

    The changes focus on updating dependency versions and GitHub Actions workflows. There are no significant changes related to data lineage tracking or documentation of key metrics in the DBT code.


    Handling Nulls And Defaults Analysis

    The changes mainly focus on updating GitHub Actions workflows and configurations. There don't appear to be any significant changes related to handling null values or defining defaults in DBT models. The modifications are primarily about CI/CD improvements and dependency updates.


    Jinja And Macro Reusability Analysis

    The changes do not appear to involve any Jinja templates or DBT macros. The modifications are primarily focused on updating GitHub Actions workflow files, Docker configurations, and other non-DBT related files. There are no opportunities identified for macro reusability in this context.


    Managing Data Freshness And Validity Analysis

    The changes primarily update GitHub Actions workflows and dependencies. While not directly related to data freshness, keeping CI/CD pipelines up-to-date is crucial for maintaining overall project health and security. Consider adding specific freshness checks for data sources if not already implemented.


    Incremental Model Optimization Analysis

    The changes do not appear to directly impact incremental model optimization. However, the updates to GitHub Actions workflows and package creation processes may indirectly affect build and deployment efficiency for DBT projects.


    Dependency Management Analysis

    The changes update various GitHub Actions to their latest versions, improving security and functionality. However, the removal of Windows from the build matrix in Development.yml may impact cross-platform testing. Consider keeping Windows in the matrix for comprehensive testing.


    Documentation And Descriptions Analysis

    Updated GitHub Actions workflows with latest versions of actions. Removed Windows from build matrix. Minor code reorganization in atomic-no-shared-memory.txt. No significant documentation changes observed.


    Semantic Layer Consistency Analysis

    The changes primarily involve updating GitHub Actions workflows and configurations. There are no significant changes to DBT models or metric definitions that would impact semantic layer consistency.

    structuredbot[bot] commented 1 day ago

    Thanks for opening this PR!

    Total commits: 30 Files changed: 186 Additions: 1317 Deletions: 484

    Commits: bad0976: Merge pull request #4 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-3

    Create README.md d3974a4: Update dependabot.yml 073814c: Update dependabot.yml b5403eb: Merge pull request #5 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-3

    Andrewshin 7th technology student patch 3 6a70888: Update configure.sh 1af879c: Merge pull request #6 from Andrewshin-7th-technology-student/main

    merge 2c8af68: Update dependabot.yml e6ce424: Update dependabot.yml 091fc2d: Update dependabot.yml c27f34b: Bump the dev-dependencies group with 4 updates

    Bumps the dev-dependencies group with 4 updates: actions/checkout, actions/setup-python, docker/setup-qemu-action and pypa/gh-action-pypi-publish.

    Updates actions/checkout from 1 to 4

    Updates actions/setup-python from 1 to 5

    Updates docker/setup-qemu-action from 2 to 3

    Updates pypa/gh-action-pypi-publish from 1.4.2 to 1.10.3


    updated-dependencies:

    Signed-off-by: dependabot[bot] support@github.com e03f38c: Merge pull request #8 from Andrewshin-7th-technology-student/dependabot/github_actions/dev-dependencies-bb26703bbe

    Bump the dev-dependencies group with 4 updates 503f1d7: Merge pull request #7 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-1

    Andrewshin 7th technology student patch 1 9ccf91a: Update array.txt b111a82: Update atomic-no-shared-memory.txt f44d10c: Create main.png fad31a2: Add files via upload 04d0e15: Merge pull request #10 from Andrewshin-7th-technology-student/main

    ok 77a82ab: Add files via upload afe7043: Merge pull request #11 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-1

    Merge pull request #10 from Andrewshin-7th-technology-student/main 78b21c1: Add files via upload f0461c0: Add files via upload 182c4af: Create Imagebot.yml 2a38820: Update appveyor.yml de92dcc: Create pcimages?.tre 73bfd48: UPDATE FILES FROM UseInterstellar/Interstellar b17a836: Create index.html abfe79b: Update Development .yml 938c519: Create Production_deploymet_name.yml 64f144f: Delete static directory fb0cd92: Create .imgbotconfig

    Changes: File: .deepsource.toml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,29 @@
    +version = 1
    +
    +[[analyzers]]
    +name = "python"
    +
    +  [analyzers.meta]
    +  runtime_version = "3.x.x"
    +
    +[[analyzers]]
    +name = "java"
    +
    +  [analyzers.meta]
    +  runtime_version = "11"
    +
    +[[analyzers]]
    +name = "csharp"
    +
    +[[analyzers]]
    +name = "javascript"
    +
    +[[analyzers]]
    +name = "shell"
    +
    +[[analyzers]]
    +name = "kotlin"
    +
    +  [analyzers.meta]
    +  runtime_version = "1.8"
    +  language_version = "1.7"
    \ No newline at end of file

    File: .devcontainer/main.js

    Original Content:

    /*
    All this code is copyright Orteil, 2013-2023.
        -with some help, advice and fixes by Nicholas Laux, Debugbro, Opti, the folks at Playsaurus, and lots of people on reddit, Discord, and the DashNet forums
        -also includes a bunch of snippets found on stackoverflow.com and others
        -want to mod the game? scroll down to the "MODDING API" section
    Hello, and welcome to the joyous mess that is main.js. Code contained herein is not guaranteed to be good, consistent, or sane. Most of this is years old at this point and harkens back to simpler, cruder times. In particular I've tried to maintain compatibility with fairly old versions of javascript, which means luxuries such as 'let', arrow functions and string literals are unavailable.
    As Cookie Clicker is rife with puns and tricky wordplay, localization was never intended to be possible - but ended up happening anyway as part of the Steam port. As a result, usage of strings is somewhat unorthodox in some places.
    Have a nice trip, and stay safe.
    Spoilers ahead.
    http://orteil.dashnet.org
    */
    
    /*=====================================================================================
    MISC HELPER FUNCTIONS
    =======================================================================================*/
    function l(what) {return document.getElementById(what);}
    function choose(arr) {return arr[Math.floor(Math.random()*arr.length)];}
    
    function escapeRegExp(str){return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");}
    function replaceAll(find,replace,str){return str.replace(new RegExp(escapeRegExp(find),'g'),replace);}
    
    function cap(str){return str.charAt(0).toUpperCase()+str.slice(1);}
    
    function romanize(num){
        if (isNaN(num))
            return NaN;
        var digits = String(+num).split(""),
            key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
                   "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
                   "","I","II","III","IV","V","VI","VII","VIII","IX"],
            roman = "",
            i = 3;
        while (i--)
            roman = (key[+digits.pop() + (i * 10)] || "") + roman;
        return Array(+digits.join("") + 1).join("M") + roman;
    }
    
    //disable sounds coming from soundjay.com (sorry)
    var realAudio=typeof Audio!=='undefined'?Audio:function(){return {}};//backup real audio
    Audio=function(src){
        if (src && src.indexOf('soundjay')>-1) {Game.Popup('Sorry, no sounds hotlinked from soundjay.com.');this.play=function(){};}
        else return new realAudio(src);
    };
    
    if(!Array.prototype.indexOf) {
        Array.prototype.indexOf = function(needle) {
            for(var i = 0; i < this.length; i++) {
                if(this[i] === needle) {return i;}
            }
            return -1;
        };
    }
    

    Changes:

    @@ -24,15 +24,15 @@ function cap(str){return str.charAt(0).toUpperCase()+str.slice(1);}
     function romanize(num){
         if (isNaN(num))
             return NaN;
    -    var digits = String(+num).split(""),
    +    var digits = String(Number(num)).split(""),
             key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
                    "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
                    "","I","II","III","IV","V","VI","VII","VIII","IX"],
             roman = "",
             i = 3;
         while (i--)
    -        roman = (key[+digits.pop() + (i * 10)] || "") + roman;
    -    return Array(+digits.join("") + 1).join("M") + roman;
    +        roman = (key[Number(digits.pop()) + (i * 10)] || "") + roman;
    +    return Array(Number(digits.join("")) + 1).join("M") + roman;
     }
    
     //disable sounds coming from soundjay.com (sorry)

    File: .github/.cirrus.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,9 @@
    +container:
    +  image: node:latest
    +
    +check_task:
    +  node_modules_cache:
    +    folder: node_modules
    +    fingerprint_script: cat yarn.lock
    +    populate_script: yarn install
    +  test_script: yarn test

    File: .github/FUNDING.yml

    Original Content:

    # These are supported funding model platforms
    
    github: [As90909w][Nebula]
    open_collective: Andrewmoney
    tidelift: .github/build.yml
    community_bridge: cloud-foundry
    lfx_crowdfunding: ANDREWRXCVfoundry8282
    buy_me_a_coffee: usermainElliot_shin2221
    thanks_dev: FoundryTODEVfree
    custom: https://www.github.com/git?authuser=ID:zeZoispLfr6Saj1ARpPbcp2cljZ5fdKv8sPuS6l9xjwdT8sG5e409wgb7vFwRu5djHShwo2iuwe2f9eeghds8qer3we2wd9cec8ehudhciu3deyu8iywi73ewoq820f9o=truemain=branch/main
    

    Changes:

    @@ -1,10 +0,0 @@
    -# These are supported funding model platforms
    -
    -github: [As90909w][Nebula]
    -open_collective: Andrewmoney
    -tidelift: .github/build.yml
    -community_bridge: cloud-foundry
    -lfx_crowdfunding: ANDREWRXCVfoundry8282
    -buy_me_a_coffee: usermainElliot_shin2221
    -thanks_dev: FoundryTODEVfree
    -custom: https://www.github.com/git?authuser=ID:zeZoispLfr6Saj1ARpPbcp2cljZ5fdKv8sPuS6l9xjwdT8sG5e409wgb7vFwRu5djHShwo2iuwe2f9eeghds8qer3we2wd9cec8ehudhciu3deyu8iywi73ewoq820f9o=truemain=branch/main

    File: .github/appveyor.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,12 @@
    +version: 1.0.{build}
    +image: Visual Studio 2017
    +pull_requests:
    +  do_not_increment_build_number: true
    +branches:
    +  only:
    +  - master
    +before_build:
    +- nuget restore
    +configuration: Release
    +build:
    +  verbosity: minimal

    File: .github/branding/Img

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1 @@
    +g

    File: .github/branding/branding.png

    Original Content:

    Unable to fetch content

    Changes:

    No changes

    File: .github/branding/openttd.2048.png

    Original Content:

    Unable to fetch content

    Changes:

    No changes

    File: .github/butterb0t.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,6 @@
    +domains: 
    +    - name: Staging 
    +      url: https://staging.example.com/
    +
    +    - name: Storybook
    +      url: https://storybook.example.com/

    File: .github/dependabot-auto-merger.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,18 @@
    +name: automerge
    +
    +on:
    +  workflow_dispatch:
    +    inputs:
    +      pr-number:
    +        required: true
    +
    +jobs:
    +  automerge:
    +    runs-on: ubuntu-latest
    +    permissions:
    +      pull-requests: write
    +      contents: write
    +    steps:
    +      - uses: fastify/github-action-merge-dependabot@v3
    +        with:
    +          pr-number: ${{ github.event.inputs.pr-number }}

    File: .github/dependabot.yml

    Original Content:

    version: 2
    updates:
      # Keep bundler dependencies up to date
      - package-ecosystem: "bundler"
        directories:
        schedule:
          interval: "daily"
        # Create a group of dependencies to be updated together in one pull request
        groups:
           # Specify a name for the group, which will be used in pull request titles
           # and branch names
           dev-dependencies:
              # Define patterns to include dependencies in the group (based on
              # dependency name)
              applies-to: version-updates # Applies the group rule to version updates
              patterns:
                - "rubocop" # A single dependency name
                - "rspec*"  # A wildcard string that matches multiple dependency names
                - "*"       # A wildcard that matches all dependencies in the package
                            # ecosystem. Note: using "*" may open a large pull request
              # Define patterns to exclude dependencies from the group (based on
              # dependency name)
              exclude-patterns:
                - "gc_ruboconfig"
                - "gocardless-*"
    

    Changes:

    @@ -1,25 +1,32 @@
     version: 2
     updates:
       # Keep bundler dependencies up to date
    -  - package-ecosystem: "bundler"
    -    directories:
    +  - package-ecosystem: "github-actions"
    +    directory: "/"
         schedule:
           interval: "daily"
    -    # Create a group of dependencies to be updated together in one pull request
         groups:
    -       # Specify a name for the group, which will be used in pull request titles
    -       # and branch names
    -       dev-dependencies:
    -          # Define patterns to include dependencies in the group (based on
    -          # dependency name)
    -          applies-to: version-updates # Applies the group rule to version updates
    -          patterns:
    -            - "rubocop" # A single dependency name
    -            - "rspec*"  # A wildcard string that matches multiple dependency names
    -            - "*"       # A wildcard that matches all dependencies in the package
    -                        # ecosystem. Note: using "*" may open a large pull request
    -          # Define patterns to exclude dependencies from the group (based on
    -          # dependency name)
    -          exclude-patterns:
    -            - "gc_ruboconfig"
    -            - "gocardless-*"
    +      dev-dependencies:
    +        applies-to: version-updates # Applies the group rule to version updates
    +        patterns:
    +          - "rubocop" 
    +          - "rspec*"  
    +          - "*"       
    +          - "*"            
    +        exclude-patterns:
    +          - "gc_ruboconfig"
    +          - "gocardless-*"
    +    open-pull-requests-limit: 100
    +    reviewers:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username
    +    assignees:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username
    +  - package-ecosystem: "npm"
    +    directory: "/"
    +    schedule:
    +      interval: "daily"
    +    open-pull-requests-limit: 100
    +    reviewers:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username
    +    assignees:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username

    File: .github/fast-foward.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,16 @@
    +name: Fast-Forward
    +
    +on: 
    +  issue_comment:
    +    types: [created]
    +  push:
    +  pull_request:
    +
    +jobs:
    +  run:
    +    runs-on: ubuntu-latest
    +    steps:
    +      - uses: APN-Pucky/fast-forward-action@main
    +        with:
    +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    +          SSH_PRIVATE_KEY: ${{ secrets.GH_SSH }}

    File: .github/imagebot.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,16 @@
    +name: ImageBot
    +on:
    +  push:
    +    branches:
    +      - main
    +jobs:
    +  imagebot:
    +    runs-on: ubuntu-latest
    +    steps:
    +      - name: Checkout code
    +        uses: actions/checkout@v2
    +      - name: Run ImageBot
    +        uses: imagebot/imagebot@v1
    +        with:
    +          githubToken: ${{ secrets.GITHUB_TOKEN }}
    +          imagebotConfig: .imgbotconfig

    File: .github/issue-branch.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,20 @@
    +on:
    +  # The issue.opened event below is only needed for the "immediate" mode.
    +  # The issue.assigned event below is only needed for the default ("auto") mode.
    +  issues:
    +    types: [ opened, assigned ]
    +  # The issue_comment.created event below is only needed for the ChatOps mode.
    +  issue_comment:
    +    types: [ created ]
    +  # The pull_request events below are only needed for pull-request related features.
    +  pull_request:
    +    types: [ opened, closed ]
    +
    +jobs:
    +  create_issue_branch_job:
    +    runs-on: ubuntu-latest
    +    steps:
    +      - name: Create Issue Branch
    +        uses: robvanderleek/create-issue-branch@main
    +        env:
    +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

    File: .github/issue_label_bot.yaml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,4 @@
    +label-alias:
    +  bug: 'kind/bug'
    +  feature_request: 'enhancement'
    +  question: 'question'

    File: .github/stale.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,12 @@
    +daysUntilStale: 1
    +daysUntilClose: 2
    +exemptLabels:
    +  - duplicate
    +  - invalid
    +  - wontfix
    +staleLabel: goneStale
    +markComment: >
    +  This issue has been automatically marked as stale because it has not had
    +  recent activity. It will be closed if no further activity occurs. Thank you
    +  for your contributions.
    +closeComment: false

    File: .github/wip.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,7 @@
    +locations:
    +  - title
    +  - label_name
    +  - commit_subject
    +terms:
    +  - do not merge
    +  - ⛔

    File: .github/workflows/Deployment.yml

    Original Content:

    name: Deployment
    
    on:
      push:
        branches: ["main"]
    
    env:
      AZURE_FUNCTIONAPP_NAME: 'Deployment'   # set this to your function app name on Azure
      AZURE_FUNCTIONAPP_PACKAGE_PATH: '.'       # set this to the path to your function app project, defaults to the repository root
      PYTHON_VERSION: '3.9'                     # set this to the python version to use (e.g. '3.6', '3.7', '3.8')
    
    jobs:
      build-and-deploy:
        runs-on: ubuntu-latest
        environment: Deployment
        steps:
        - name: 'Checkout GitHub Action'
          uses: actions/checkout@v4
    
        # If you want to use Azure RBAC instead of Publish Profile, then uncomment the task below
        # - name: 'Login via Azure CLI'
        #   uses: azure/login@v1
        #   with:
        #     creds: ${{ secrets.AZURE_RBAC_CREDENTIALS }} # set up AZURE_RBAC_CREDENTIALS secrets in your repository
    
        - name: Setup Python ${{ env.PYTHON_VERSION }} Environment
          uses: actions/setup-python@v4
          with:
            python-version: ${{ env.PYTHON_VERSION }}
    

    Changes:

    @@ -24,6 +24,6 @@ jobs:
         #     creds: ${{ secrets.AZURE_RBAC_CREDENTIALS }} # set up AZURE_RBAC_CREDENTIALS secrets in your repository
    
         - name: Setup Python ${{ env.PYTHON_VERSION }} Environment
    -      uses: actions/setup-python@v4
    +      uses: actions/setup-python@v5
           with:
             python-version: ${{ env.PYTHON_VERSION }}

    File: .github/workflows/Development .yml

    Original Content:

    name: Linux server deployment
    
    on:
      create:
        tags:
      push:
        branches:
          - main
      pull_request:
    
    jobs:
      lint:
        name: connect to linux server
        runs-on: ubuntu-latest
        environment: 'Development'
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
      build:
        name: build
        runs-on: ${{ matrix.os }}
        strategy:
          matrix:
            os: [ubuntu-latest, macos-12, macos-14, windows-latest]
        steps:
        - uses: actions/setup-python@v5
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - name: mkdir
          run: mkdir -p out
      emscripten:
        name: emscripten
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v1
          with:
            submodules: true
      wasi:
        name: wasi
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
            with:
              submodules: true
      sanitize:
        name: sanitize
        runs-on: ubuntu-24.04
        env:
          USE_NINJA: "1"
          CC: "clang"
          WASM2C_CFLAGS: "-march=x86-64-v2" # currently required for SIMDe to pass some tests on x86-64
        strategy:
          matrix:
            sanitizer: [asan, ubsan, fuzz]
            type: [debug, release]
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
      build-wasm2c-memchecked:
        name: wasm2c-memchecked
        runs-on: ubuntu-latest
        env:
          USE_NINJA: "1"
          CC: "clang" # used by the wasm2c tests
          WASM2C_CFLAGS: "-march=x86-64-v2 -fsanitize=address -DWASM_RT_USE_MMAP=0"
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - run: sudo apt-get install ninja-build
        - name: workaround for ASLR+ASAN compatibility # See https://github.com/actions/runner/issues/3207
          run: sudo sysctl -w vm.mmap_rnd_bits=28
    
      build-min-cmake:
        name: min-cmake
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v1
          with:
            submodules: true
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - name: Install Ninja
          run: sudo apt-get install ninja-build
        - name: Detect minimum CMake version
          run: >
            awk 'match($0, /cmake_minimum_required\(VERSION *([0-9]+\.[0-9]+)\)/, a)
            { print "WABT_CMAKE_VER=" a[1]; exit; }' CMakeLists.txt | tee $GITHUB_ENV
      build-rlbox:
        name: rlbox
        runs-on: ubuntu-latest
        env:
          USE_NINJA: "1"
          WASM2C_CC: "clang"
          WASM2C_CFLAGS: "-DWASM_RT_USE_MMAP=1 -DWASM_RT_SKIP_SIGNAL_RECOVERY=1 -DWASM_RT_NONCONFORMING_UNCHECKED_STACK_EXHAUSTION=1 -DWASM2C_TEST_EMBEDDER_SIGNAL_HANDLING -DWASM_RT_ALLOW_SEGUE=1 -DWASM_RT_SEGUE_FREE_SEGMENT=1 -mfsgsbase -DWASM_RT_SANITY_CHECKS=1 -Wno-pass-failed"
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - run: sudo apt-get install ninja-build
      build-cross:
        name: Disconnect from linux server and deploy
        runs-on: ubuntu-latest
        strategy:
          fail-fast: false
          matrix:
            arch: [s390x]
        services: # still faster on debian...
          distcc:
            image: debian:latest
            options: --health-cmd distccmon-text --health-interval 5s --health-start-period 5m debian:latest bash -c "apt-get update && apt-get install -y g++-s390x-linux-gnu distcc && distccd --daemon --no-detach"
            ports:
              - 3632:3632
        env:
          QEMU_LD_PREFIX: /usr/${{matrix.arch}}-linux-gnu/
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - name: Set up QEMU
          uses: docker/setup-qemu-action@v2
          with:
            platforms: ${{matrix.arch}}
            image: "tonistiigi/binfmt:master"
        - name: install ninja
          run: sudo apt-get install ninja-build
        - name: install the toolchain
          run: sudo apt-get install g++-${{matrix.arch}}-linux-gnu
        - name: install distcc
          run: sudo apt-get install distcc
        - name: installing linux debugger
          run: sudo mkdir -p /opt/bin/distcc_symlinks
        - name: read files - checking if production succeeded 
          run: sudo ln -s /usr/bin/distcc /opt/bin/distcc_symlinks/${{matrix.arch}}-linux-gnu-gcc # only CC is needed
    

    Changes:

    @@ -14,21 +14,21 @@ jobs:
         runs-on: ubuntu-latest
         environment: 'Development'
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
       build:
         name: build
         runs-on: ${{ matrix.os }}
         strategy:
           matrix:
    -        os: [ubuntu-latest, macos-12, macos-14, windows-latest]
    +        os: [ubuntu-latest, macos-12, macos-14]
         steps:
         - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - name: mkdir
    @@ -37,14 +37,14 @@ jobs:
         name: emscripten
         runs-on: ubuntu-latest
         steps:
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
       wasi:
         name: wasi
         runs-on: ubuntu-latest
         steps:
    -      - uses: actions/checkout@v3
    +      - uses: actions/checkout@v4
             with:
               submodules: true
       sanitize:
    @@ -59,10 +59,10 @@ jobs:
             sanitizer: [asan, ubsan, fuzz]
             type: [debug, release]
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
       build-wasm2c-memchecked:
    @@ -73,10 +73,10 @@ jobs:
           CC: "clang" # used by the wasm2c tests
           WASM2C_CFLAGS: "-march=x86-64-v2 -fsanitize=address -DWASM_RT_USE_MMAP=0"
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - run: sudo apt-get install ninja-build
    @@ -87,10 +87,10 @@ jobs:
         name: min-cmake
         runs-on: ubuntu-latest
         steps:
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
         - name: Install Ninja
    @@ -107,10 +107,10 @@ jobs:
           WASM2C_CC: "clang"
           WASM2C_CFLAGS: "-DWASM_RT_USE_MMAP=1 -DWASM_RT_SKIP_SIGNAL_RECOVERY=1 -DWASM_RT_NONCONFORMING_UNCHECKED_STACK_EXHAUSTION=1 -DWASM2C_TEST_EMBEDDER_SIGNAL_HANDLING -DWASM_RT_ALLOW_SEGUE=1 -DWASM_RT_SEGUE_FREE_SEGMENT=1 -mfsgsbase -DWASM_RT_SANITY_CHECKS=1 -Wno-pass-failed"
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - run: sudo apt-get install ninja-build
    @@ -130,14 +130,14 @@ jobs:
         env:
           QEMU_LD_PREFIX: /usr/${{matrix.arch}}-linux-gnu/
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - name: Set up QEMU
    -      uses: docker/setup-qemu-action@v2
    +      uses: docker/setup-qemu-action@v3
           with:
             platforms: ${{matrix.arch}}
             image: "tonistiigi/binfmt:master"

    File: .github/workflows/Package.yml

    Original Content:

    name: publish package using python
    
    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 }}
    

    Changes:

    @@ -15,7 +15,7 @@ jobs:
         steps:
         - uses: actions/checkout@v4
         - name: Set up Python
    -      uses: actions/setup-python@v3
    +      uses: actions/setup-python@v5
           with:
             python-version: '3.x'
         - name: Install dependencies
    @@ -25,7 +25,7 @@ jobs:
         - name: Build package
           run: python -m build
         - name: Publish package
    -      uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
    +      uses: pypa/gh-action-pypi-publish@f7600683efdcb7656dec5b29656edb7bc586e597
           with:
             user: __token__
             password: ${{ secrets.PYPI_API_TOKEN }}

    File: .github/workflows/Package_create.yml

    Original Content:

    name: Package create
    
    on: [push]
    
    jobs:
      build-linux:
        runs-on: ubuntu-latest
        strategy:
          max-parallel: 5
    
        steps:
        - uses: actions/checkout@v4
        - name: Set up Python 3.10
          uses: actions/setup-python@v3
          with:
            python-version: '3.10'
        - name: Publish python package
          run: |
            # $CONDA is an environment variable pointing to the root of the miniconda directory
            echo $CONDA/bin >> $GITHUB_PATH
    

    Changes:

    @@ -11,7 +11,7 @@ jobs:
         steps:
         - uses: actions/checkout@v4
         - name: Set up Python 3.10
    -      uses: actions/setup-python@v3
    +      uses: actions/setup-python@v5
           with:
             python-version: '3.10'
         - name: Publish python package

    File: .github/workflows/cr.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,27 @@
    +name: Code Review
    +
    +permissions:
    +  contents: read
    +  pull-requests: write
    +
    +on:
    +  pull_request:
    +    types: [opened, reopened, synchronize]
    +
    +jobs:
    +  test:
    +    # if: ${{ contains(github.event.*.labels.*.name, 'gpt review') }} # Optional; to run only when a label is attached
    +    runs-on: ubuntu-latest
    +    steps:
    +      - uses: anc95/ChatGPT-CodeReview@main
    +        env:
    +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    +          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
    +          # Optional
    +          LANGUAGE: Chinese
    +          OPENAI_API_ENDPOINT: https://api.openai.com/v1
    +          MODEL: gpt-3.5-turbo # https://platform.openai.com/docs/models
    +          top_p: 1 # https://platform.openai.com/docs/api-reference/chat/create#chat/create-top_p
    +          temperature: 1 # https://platform.openai.com/docs/api-reference/chat/create#chat/create-temperature
    +          max_tokens: 10000
    +          MAX_PATCH_LENGTH: 10000 # if the patch/diff length is large than MAX_PATCH_LENGTH, will be ignored and won't review. By default, with no MAX_PATCH_LENGTH set, there is also no limit for the patch/diff length.

    File: .github/workflows/dockerimage.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,18 @@
    +name: Docker Image CI
    +
    +on:
    +  push:
    +    branches: [ main ]
    +  pull_request:
    +    branches: [ main ]
    +
    +jobs:
    +
    +  build:
    +
    +    runs-on: ubuntu-latest
    +
    +    steps:
    +    - uses: actions/checkout@v4
    +    - name: Build the Docker image
    +      run: docker build -f Dockerfile.CompressImages . -t imgbot

    File: .github/workflows/gitguardian.yaml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,21 @@
    +name: GitGuardian scan
    +
    +on: [push, pull_request]
    +
    +jobs:
    +  scanning:
    +    name: GitGuardian scan
    +    runs-on: ubuntu-latest
    +    steps:
    +      - name: Checkout
    +        uses: actions/checkout@v4
    +        with:
    +          fetch-depth: 0 # fetch all history so multiple commits can be scanned
    +      - name: GitGuardian scan
    +        uses: GitGuardian/ggshield/actions/secret@v1.32.2
    +        env:
    +          GITHUB_PUSH_BEFORE_SHA: ${{ github.event.before }}
    +          GITHUB_PUSH_BASE_SHA: ${{ github.event.base }}
    +          GITHUB_PULL_BASE_SHA: ${{ github.event.pull_request.base.sha }}
    +          GITHUB_DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
    +          GITGUARDIAN_API_KEY: ${{ secrets.GITGUARDIAN_API_KEY }}

    File: .github/workflows/prettier-check.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,23 @@
    +name: prettier-check
    +
    +on:
    +  pull_request: # Must run on pull requests
    +    branches:
    +      - main
    +
    +permissions:
    +  contents: read
    +  pull-requests: write
    +  issues: write
    +
    +jobs:
    +  prettier-bot:
    +    name: Prettier Bot
    +    runs-on: ubuntu-latest
    +
    +    steps:
    +      - name: Checkout
    +        uses: actions/checkout@v4
    +
    +      - name: Prettier Bot
    +        uses: noyobo/prettier-bot@v1

    File: .imgbotconfig

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,14 @@
    +{
    +    "createPullRequest": "true",
    +    "pullRequestTemplate": "template.md",
    +    "prTitle": "Image optimized"
    +    "schedule": "daily",
    +    "ignoredFiles": [
    +        "*.ico",                
    +        "drawing_6.jpg",  
    +        "docs*"
    +    ],
    +    "aggressiveCompression": "false",
    +    "minKBReduced" : 0,
    +    "compressWiki": "true",
    +}

    File: .main files/PackagingLayout.xml

    Original Content:

    <PackagingLayout xmlns="http://schemas.microsoft.com/appx/makeappx/2017">
        <!-- Main game -->
        <PackageFamily ID="OpenTTD" FlatBundle="false" ManifestPath="manifests\Package.appxmanifest" ResourceManager="false">
            <!-- x86 code package-->
            <Package ID="OpenTTD-x86" ProcessorArchitecture="x86" ManifestPath="manifests\Package-x86.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="x86-binaries\**"/>
                    <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
                </Files>
            </Package>
    
            <!-- x64 code package-->
            <Package ID="OpenTTD-x64" ProcessorArchitecture="x64" ManifestPath="manifests\Package-x64.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="x64-binaries\**"/>
                    <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
                </Files>
            </Package>
    
            <!-- ARM64 code package-->
            <Package ID="OpenTTD-ARM64" ProcessorArchitecture="arm64" ManifestPath="manifests\Package-ARM64.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="ARM64-binaries\**"/>
                    <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
                </Files>
            </Package>
    
            <!-- Common asset package-->
            <AssetPackage ID="OpenTTD-common" AllowExecution="false" ManifestPath="manifests\AssetsPackage.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="common-binaries\**"/>
                </Files>
            </AssetPackage>
        </PackageFamily>
    </PackagingLayout>
    

    Changes:

    @@ -6,6 +6,7 @@
                 <Files>
                     <File DestinationPath="**" SourcePath="x86-binaries\**"/>
                     <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
    +                <./>
                 </Files>
             </Package>
    

    File: .text files/atomic-no-shared-memory.txt

    Original Content:

    ;;; TOOL: wat2wasm
    ;;; ARGS: --enable-threads
    
    (module
      (memory 1)
      (func
        i32.const 0 i32.const 0 memory.atomic.notify drop
        i32.const 0 i32.const 0 i64.const 0 memory.atomic.wait32 drop
        i32.const 0 i64.const 0 i64.const 0 memory.atomic.wait64 drop
    
        i32.const 0 i32.atomic.load drop
        i32.const 0 i64.atomic.load drop
        i32.const 0 i32.atomic.load8_u drop
        i32.const 0 i32.atomic.load16_u drop
        i32.const 0 i64.atomic.load8_u drop
        i32.const 0 i64.atomic.load16_u drop
        i32.const 0 i64.atomic.load32_u drop
    
        i32.const 0 i32.const 0 i32.atomic.store
        i32.const 0 i64.const 0 i64.atomic.store
        i32.const 0 i32.const 0 i32.atomic.store8
        i32.const 0 i32.const 0 i32.atomic.store16
        i32.const 0 i64.const 0 i64.atomic.store8
        i32.const 0 i64.const 0 i64.atomic.store16
        i32.const 0 i64.const 0 i64.atomic.store32
    
        i32.const 0 i32.const 0 i32.atomic.rmw.add drop
        i32.const 0 i64.const 0 i64.atomic.rmw.add drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.add_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.add_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.add_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.add_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.add_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.sub drop
        i32.const 0 i64.const 0 i64.atomic.rmw.sub drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.sub_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.sub_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.sub_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.sub_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.sub_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.and drop
        i32.const 0 i64.const 0 i64.atomic.rmw.and drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.and_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.and_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.and_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.and_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.and_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.or drop
        i32.const 0 i64.const 0 i64.atomic.rmw.or drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.or_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.or_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.or_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.or_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.or_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.xor drop
        i32.const 0 i64.const 0 i64.atomic.rmw.xor drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.xor_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.xor_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.xor_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.xor_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.xor_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.xchg drop
        i32.const 0 i64.const 0 i64.atomic.rmw.xchg drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.xchg_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.xchg_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.xchg_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.xchg_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.xchg_u drop
    
        i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw.cmpxchg drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw.cmpxchg drop
        i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw8.cmpxchg_u drop
        i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw16.cmpxchg_u drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw8.cmpxchg_u drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw16.cmpxchg_u drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw32.cmpxchg_u drop
    
    ))
    

    Changes:

    @@ -8,15 +8,7 @@
         i32.const 0 i32.const 0 i64.const 0 memory.atomic.wait32 drop
         i32.const 0 i64.const 0 i64.const 0 memory.atomic.wait64 drop
    
    -    i32.const 0 i32.atomic.load drop
    -    i32.const 0 i64.atomic.load drop
    -    i32.const 0 i32.atomic.load8_u drop
    -    i32.const 0 i32.atomic.load16_u drop
    -    i32.const 0 i64.atomic.load8_u drop
    -    i32.const 0 i64.atomic.load16_u drop
    -    i32.const 0 i64.atomic.load32_u drop
    -
    -    i32.const 0 i32.const 0 i32.atomic.store
    +i32.const 0 i32.const 0 i32.atomic.store
         i32.const 0 i64.const 0 i64.atomic.store
         i32.const 0 i32.const 0 i32.atomic.store8
         i32.const 0 i32.const 0 i32.atomic.store16
    @@ -32,6 +24,14 @@
         i32.const 0 i64.const 0 i64.atomic.rmw16.add_u drop
         i32.const 0 i64.const 0 i64.atomic.rmw32.add_u drop
    
    +    i32.const 0 i32.atomic.load drop
    +    i32.const 0 i64.atomic.load drop
    +    i32.const 0 i32.atomic.load8_u drop
    +    i32.const 0 i32.atomic.load16_u drop
    +    i32.const 0 i64.atomic.load8_u drop
    +    i32.const 0 i64.atomic.load16_u drop
    +    i32.const 0 i64.atomic.load32_u drop
    +
         i32.const 0 i32.const 0 i32.atomic.rmw.sub drop
         i32.const 0 i64.const 0 i64.atomic.rmw.sub drop
         i32.const 0 i32.const 0 i32.atomic.rmw8.sub_u drop

    File: .unibeautifyrc.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,28 @@
    +PHP: # Language
    +  beautifiers: # Enable beautifiers
    +  - PHP-CS-Fixer
    +  PHP-CS-Fixer: # Beautifier options
    +    prefer_beautifier_config: true
    +    PHP-CS-Fixer: # Executable options
    +      path: "/absolute/path/to/php-cs-fixer"
    +TypeScript:
    +  beautifiers: ["Pretty Diff", "Prettier"]
    +  align_assignments: false
    +  arrow_parens: "as-needed"
    +  break_chained_methods: true
    +  end_with_comma: true
    +  end_with_semicolon: true
    +  indent_char: " "
    +  indent_size: 2
    +  jsx_brackets: false
    +  multiline_ternary: true
    +  object_curly_spacing: true
    +  quotes: "double"
    +  space_after_anon_function: false
    +  wrap_line_length: 80
    +CSS:
    +  indent_char: " "
    +  indent_size: 2
    +HTML:
    +  indent_char: " "
    +  indent_size: 2

    File: Dockerfile.CompressImages

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,28 @@
    +FROM mcr.microsoft.com/dotnet/sdk:6.0-focal AS dotnet
    +
    +COPY . /src/
    +RUN mkdir -p /home/site/wwwroot
    +RUN cd /src/CompressImagesFunction && dotnet publish CompressImagesFunction.csproj -c Release --output /home/site/wwwroot
    +
    +# Native Binaries
    +RUN cd /src/CompressImagesFunction && cp bin/Release/net6.0/runtimes/linux-x64/native/libgit2-b7bad55.so /home/site/wwwroot/bin/
    +RUN cd /src/CompressImagesFunction && cp bin/Release/net6.0/runtimes/linux-x64/native/Magick.Native-Q16-x64.dll.so /home/site/wwwroot/bin/
    +
    +FROM mcr.microsoft.com/azure-functions/dotnet:4
    +
    +RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests \
    +  curl libcurl4 autoconf automake libtool nasm make wget pkg-config
    +
    +RUN curl -sL https://deb.nodesource.com/setup_lts.x | bash -
    +RUN apt-get install -y nodejs
    +RUN npm install -g svgo@^1.3.2
    +
    +# Add support for mozjpeg
    +RUN cd /tmp && wget https://github.com/mozilla/mozjpeg/archive/v3.3.1.tar.gz
    +RUN cd /tmp && tar -xzf v3.3.1.tar.gz
    +RUN cd /tmp/mozjpeg-3.3.1 && autoreconf -fiv
    +RUN mkdir /tmp/mozjpeg-3.3.1/build
    +RUN cd /tmp/mozjpeg-3.3.1/build && sh ../configure && make install
    +
    +RUN ln -s /opt/mozjpeg/bin/jpegtran /usr/local/bin/mozjpegtran
    +RUN ln -s /opt/mozjpeg/bin/cjpeg /usr/local/bin/mozcjpeg
    cr-gpt[bot] commented 1 day ago

    Seems you are using me but didn't get OPENAI_API_KEY seted in Variables/Secrets for this repo. you could follow readme for more information

    structuredbot[bot] commented 1 day ago

    Thanks for opening this PR!

    Total commits: 30 Files changed: 187 Additions: 1318 Deletions: 485

    Commits: bad0976: Merge pull request #4 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-3

    Create README.md d3974a4: Update dependabot.yml 073814c: Update dependabot.yml b5403eb: Merge pull request #5 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-3

    Andrewshin 7th technology student patch 3 6a70888: Update configure.sh 1af879c: Merge pull request #6 from Andrewshin-7th-technology-student/main

    merge 2c8af68: Update dependabot.yml e6ce424: Update dependabot.yml 091fc2d: Update dependabot.yml c27f34b: Bump the dev-dependencies group with 4 updates

    Bumps the dev-dependencies group with 4 updates: actions/checkout, actions/setup-python, docker/setup-qemu-action and pypa/gh-action-pypi-publish.

    Updates actions/checkout from 1 to 4

    Updates actions/setup-python from 1 to 5

    Updates docker/setup-qemu-action from 2 to 3

    Updates pypa/gh-action-pypi-publish from 1.4.2 to 1.10.3


    updated-dependencies:

    Signed-off-by: dependabot[bot] support@github.com e03f38c: Merge pull request #8 from Andrewshin-7th-technology-student/dependabot/github_actions/dev-dependencies-bb26703bbe

    Bump the dev-dependencies group with 4 updates 503f1d7: Merge pull request #7 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-1

    Andrewshin 7th technology student patch 1 9ccf91a: Update array.txt b111a82: Update atomic-no-shared-memory.txt f44d10c: Create main.png fad31a2: Add files via upload 04d0e15: Merge pull request #10 from Andrewshin-7th-technology-student/main

    ok 77a82ab: Add files via upload afe7043: Merge pull request #11 from Andrewshin-7th-technology-student/Andrewshin-7th-technology-student-patch-1

    Merge pull request #10 from Andrewshin-7th-technology-student/main 78b21c1: Add files via upload f0461c0: Add files via upload 182c4af: Create Imagebot.yml 2a38820: Update appveyor.yml de92dcc: Create pcimages?.tre 73bfd48: UPDATE FILES FROM UseInterstellar/Interstellar b17a836: Create index.html abfe79b: Update Development .yml 938c519: Create Production_deploymet_name.yml 64f144f: Delete static directory fb0cd92: Create .imgbotconfig

    Changes: File: .deepsource.toml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,29 @@
    +version = 1
    +
    +[[analyzers]]
    +name = "python"
    +
    +  [analyzers.meta]
    +  runtime_version = "3.x.x"
    +
    +[[analyzers]]
    +name = "java"
    +
    +  [analyzers.meta]
    +  runtime_version = "11"
    +
    +[[analyzers]]
    +name = "csharp"
    +
    +[[analyzers]]
    +name = "javascript"
    +
    +[[analyzers]]
    +name = "shell"
    +
    +[[analyzers]]
    +name = "kotlin"
    +
    +  [analyzers.meta]
    +  runtime_version = "1.8"
    +  language_version = "1.7"
    \ No newline at end of file

    File: .devcontainer/index.html

    Original Content:

    <!DOCTYPE html>
    <html>
    <head>
        <!--Google Analytics-->
        <script async src="https://www.googletagmanager.com/gtag/js?id=G-M9KJ1XPKLF"></script>
        <script>
            window.dataLayer = window.dataLayer || [];
            function gtag(){dataLayer.push(arguments);}
            gtag('js', new Date());
    
            gtag('config', 'G-M9KJ1XPKLF');
        </script>
        <!--Google Analytics-->
    <!-- external -->
    <script type="text/javascript">
        window.cookieconsent_options = {"message":"Unsurprisingly, this website uses cookies for ads and traffic analysis.","dismiss":"Got it!","learnMore":"Learn more","link":"//orteil.dashnet.org/cookieconsentpolicy.html","target":"_blank","theme":"//orteil.dashnet.org/cookieconsent.css","domain":"dashnet.org"};
    </script>
    
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.9/cookieconsent.min.js"></script>
    
    <!--<link href="https://fonts.googleapis.com/css?family=Kavoon&subset=latin,latin-ext" rel="stylesheet" type="text/css">-->
    <link href='https://fonts.googleapis.com/css?family=Merriweather:900&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
    
    <!-- Facebook Pixel Code -->
        <script>
        !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
        n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
        n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
        t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
        document,'script','https://connect.facebook.net/en_US/fbevents.js');
        fbq('init', '357399801355203');
        fbq('track', 'PageView');
        </script>
        <noscript><img height="1" width="1" style="display:none"
        src="https://www.facebook.com/tr?id=357399801355203&ev=PageView&noscript=1"></noscript>
    <!-- end code -->
    <!-- /external -->
    
    <title>Cookie Clicker</title>
    <!--
    Code and graphics copyright Orteil, 2013-2023
    Feel free to alter this code to your liking, but please do not re-host it, do not profit from it and do not present it as your own.
    -->
    
    <meta name="viewport" content="width=900, initial-scale=1">
    <link rel="shortcut icon" href="img/favicon.ico" />
    <script src="base64.js"></script>
    
    <script>
    var VERSION=2.052;
    var BETA=0;
    var App=typeof App==='undefined'?0:App;
    </script>
    
    <link href="style.css?v=9" rel="stylesheet" type="text/css">
    <script  src="main.js?v=10"></script>
    
    <!-- ad -->
    <script src="showads.js"></script><!-- this just detects adblockers so we can adjust the layout and play nice -->
    <!-- /ad -->
    
    <!--[if IE]>
    <style type="text/css">
        #ifIE9{display:block;}
    </style>
    <![endif]-->
    
    <!--[if lt IE9]><script src="excanvas.compiled.js"></script><![endif]-->
    </head>
    <body>
    
    <div id="wrapper">
    
        <div id="topBar">
            <div><b style="font-weight:bold;">Cookie Clicker</b>&trade; &copy; <a href="//orteil.dashnet.org" target="_blank" id="topbarOrteil">Orteil</a>, 2023 - <a href="//dashnet.org" target="_blank" id="topbarDashnet">DashNet</a></div>
            <div><a href="https://twitter.com/orteil42" target="_blank" id="topbarTwitter">twitter</a></div>
            <div><a href="https://orteil42.tumblr.com" target="_blank" id="topbarTumblr">tumblr</a></div>
            <div style="position:relative;"><div style="width:22px;height:32px;background:url(img/discord.png);position:absolute;left:0px;top:0px;pointer-events:none;"></div><a href="https://discordapp.com/invite/cookie" target="_blank" style="padding-left:16px;" id="topbarDiscord">Discord</a></div>
            <div style="position:relative;"><div style="width:25px;height:32px;background:url(img/weeHoodie.png);position:absolute;left:-2px;top:0px;pointer-events:none;"></div><a class="blueLink" href="http://www.redbubble.com/people/dashnet" target="_blank" style="padding-left:12px;" id="topbarMerch">Merch!</a></div>
            <div style="position:relative;"><div style="width:22px;height:32px;background:url(img/patreon.png);position:absolute;left:0px;top:0px;pointer-events:none;"></div><a class="orangeLink" href="https://www.patreon.com/dashnet" target="_blank" style="padding-left:16px;" id="topbarPatreon">Patreon</a></div>
            <div style="position:relative;display:none;font-weight:bold;" id="heralds"><div style="position:absolute;top:-4px;width:31px;height:39px;background:url(img/heraldFlag.png);left:50%;margin-left:-15px;pointer-events:none;"></div><div id="heraldsAmount" style="position:relative;z-index:10;text-shadow:0px 1px 0px #000,0px 0px 6px #ff00e4;color:#fff;">-</div></div>
            <div><a class="lightblueLink" style="font-weight:bold;" href="https://play.google.com/store/apps/details?id=org.dashnet.cookieclicker" target="_blank" id="topbarMobileCC">Cookie Clicker for Android</a></div>
            <div><a class="lightblueLink" style="font-weight:bold;" href="https://store.steampowered.com/app/1454400/Cookie_Clicker/" target="_blank" id="topbarSteamCC">Cookie Clicker on Steam</a></div>
            <div><a href="//orteil.dashnet.org/randomgen/" target="_blank" id="topbarRandomgen">RandomGen</a></div>
            <div><a href="//orteil.dashnet.org/igm/" target="_blank" id="topbarIGM">Idle Game Maker</a></div>
            <div style="float:right;position:relative;"><div id="tinyglobe" style="position:absolute;top:-4px;width:22px;height:22px;background:url(img/tinyglobeSheet.gif);right:4px;top:4px;pointer-events:none;"></div><a id="changeLanguage" style="font-variant:small-caps;padding-right:20px;" onmouseover="INTERVAL_TINYGLOBE=setInterval(function(){var tinyglobe=document.getElementById('tinyglobe');tinyglobe.style.backgroundPosition=(parseInt(tinyglobe.style.backgroundPosition)-22)+'px';},30);" onmouseout="clearInterval(INTERVAL_TINYGLOBE);">Change language</a><script>document.getElementById('tinyglobe').style.backgroundPosition=(-[0,19,27][Math.floor(Math.random()*3)]*22)+'px';</script></div>
            <div id="links" class="hoverer">
                Other versions
                <div class="hoverable">
                    <a href="../" target="_blank" id="linkVersionLive">Live version</a>
                    <a href="beta" target="_blank" id="linkVersionBeta">Try the beta!</a>
                    <a href="//orteil.dashnet.org/cookieclicker/v10466" target="_blank" id="linkVersionOld">v. 1.0466</a>
                    <a href="//orteil.dashnet.org/experiments/cookie/" target="_blank">Classic</a>
                </div>
            </div>
        </div>
        <div id="game">
            <div id="versionNumber" class="title"></div>
            <script>document.getElementById('versionNumber').innerHTML='v. '+VERSION;</script>
            <div id="offGameMessageWrap">
                <div id="offGameMessage">
                    <div id="loader">
                        <div class="spinnyBig"></div>
                        <div class="spinnySmall"></div>
                        <div id="loading" class="title">Loading...</div>
                        <div id="failedToLoad" class="title">This is taking longer than expected.<br>
                        <div style="font-size:65%;line-height:120%;"><!-- error -->Slow connection? If not, please make sure your javascript is enabled, then refresh.<br>
                        If problems persist, this might be on our side - wait a few minutes, then hit ctrl+f5!<!-- /error --></div></div>
                        <div id="ifIE9" class="title" style="font-size:100%;line-height:120%;">Your browser may not be recent enough to run Cookie Clicker.<br>You might want to update, or switch to a more modern browser such as Chrome or Firefox.</div>
                    </div>
                </div>
            </div>
    
            <canvas id="backgroundCanvas"></canvas>
    
            <div id="goldenCookie" class="goldenCookie"></div>
            <div id="seasonPopup" class="seasonPopup"></div>
            <div id="shimmers"></div>
            <div id="alert"></div>
            <div id="particles"></div>
            <div id="sparkles" class="sparkles"></div>
            <div id="notes"></div>
            <div id="darken"></div>
            <div id="toggleBox" class="framed prompt"></div>
            <div id="promptAnchor"><div id="prompt" class="framed"><div id="promptContent"></div><div id="promptClose" class="close" style="display:none;" onclick="PlaySound('snd/tickOff.mp3');Game.ClosePrompt();">x</div></div></div>
            <div id="ascend">
                <div id="ascendBG"></div>
                <div id="ascendZoomable"><div id="ascendContent"><div id="ascendUpgrades" style="position:absolute;"></div></div></div>
                <div id="ascendOverlay"></div>
            </div>
    
            <div id="debug"><div id="devConsole" class="framed"></div><div id="debugLog"></div></div>
    
            <div id="sectionLeft" class="inset">
                <canvas id="backgroundLeftCanvas" style="z-index:5;"></canvas>
                <div class="blackFiller"></div>
                <div class="blackGradient"></div>
                <div id="sectionLeftInfo"></div>
                <div id="cookies" class="title"></div>
                <div id="bakeryNameAnchor"><div id="bakeryName" class="title"></div></div>
                <div id="specialPopup" class="framed prompt offScreen"></div>
                <div id="buffs" class="crateBox"></div>
                <div id="cookieAnchor">
                    <button id="bigCookie"></button>
                    <div id="cookieNumbers"></div>
                </div>
                <div id="sectionLeftExtra"></div>
            </div>
    
            <div class="separatorLeft" id="leftBeam"></div>
            <div class="separatorRight" id="rightBeam"></div>
    
            <div id="sectionMiddle" class="inset">
                <div id="comments" class="inset title">
                    <div id="prefsButton" class="panelButton"><div class="subButton">Options</div></div>
                    <div id="statsButton" class="panelButton"><div>Stats</div></div>
                    <div id="logButton" class="panelButton"><div>Info</div><div id="checkForUpdate">New update!</div></div>
                    <div id="legacyButton" class="panelButton"><div class="subButton">Legacy</div><div id="ascendMeterContainer" class="smallFramed meterContainer"><div id="ascendMeter" class="meter filling"></div></div><div class="roundedPanel" id="ascendNumber"></div><div id="ascendTooltip" class="framed"></div></div>
                    <div id="commentsText">
                        <div id="commentsText1" class="commentsText"></div>
                        <div id="commentsText2" class="commentsText"></div>
                    </div>
                    <div class="separatorBottom"></div>
                </div>
                <div id="centerArea">
                    <div id="buildingsTitle" class="inset title zoneTitle">Buildings</div>
                    <div id="buildingsMaster"></div>
                    <div id="rows"></div>
                    <div id="menu"></div>
                </div>
            </div>
    
            <div id="sectionRight" class="inset">
                <!-- ad -->
                <div class="ifNoAds" style="width:300px;text-align:center;padding:8px 0px;background:rgba(0,0,0,0.95);font-size:10px;opacity:0.5;text-shadow:0px 0px 2px #000,0px 1px 0px #000;text-align:center;">
                    Cookie Clicker is mainly supported by ads.<br>Consider unblocking our site or checking out our <a href="https://www.patreon.com/dashnet" target="_blank">Patreon</a>!
                </div>
                <div id="smallSupport" style="width:300px;text-align:center;padding-bottom:40px;background:rgba(0,0,0,0.5);position:relative;z-index:100;">
    
                </div>
                <!-- /ad -->
                <div id="store">
                    <div id="storeTitle" class="inset title zoneTitle">Store</div>
                    <div id="toggleUpgrades" class="storeSection upgradeBox"></div>
                    <div id="techUpgrades" class="storeSection upgradeBox"></div>
                    <div id="vaultUpgrades" class="storeSection upgradeBox"></div>
                    <div id="upgrades" class="storeSection upgradeBox"></div>
                    <div id="products" class="storeSection"></div>
                </div>
                <!-- ad -->
                <div id="detectAds" class="adBanner" style="background:transparent;width:1px;height:1px;"></div>
                <div id="support" style="margin-top:130px;">
                    <div style="position:relative;">
                        <div style="position:relative;z-index:100;min-height:250px;">
                            <div style="height:32px;"></div>
                            <div style="height:32px;"></div>
                        </div>
                    </div>
                </div>
                <!-- /ad -->
            </div>
    
            <div id="tooltipAnchor"><div id="tooltip" class="framed" onMouseOut="Game.tooltip.hide();"></div></div>
            <div id="preloadImages" style="display:none;"></div>
        </div>
    </div>
    <!--Anchor Ad Start-->
    <script>
        var afg={};afg.u=6328;afg.s=31;
        afg.anchor="bottom";
        document.write("<sc"+"ript src='//js.adforgames.com/cd.js'></sc"+"ript>");
      </script>
      <!--Anchor Ad End-->
    </body>
    </html>
    

    Changes:

    @@ -16,7 +16,7 @@
         window.cookieconsent_options = {"message":"Unsurprisingly, this website uses cookies for ads and traffic analysis.","dismiss":"Got it!","learnMore":"Learn more","link":"//orteil.dashnet.org/cookieconsentpolicy.html","target":"_blank","theme":"//orteil.dashnet.org/cookieconsent.css","domain":"dashnet.org"};
     </script>
    
    -<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.9/cookieconsent.min.js"></script>
    +<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.10/cookieconsent.min.js"></script>
    
     <!--<link href="https://fonts.googleapis.com/css?family=Kavoon&subset=latin,latin-ext" rel="stylesheet" type="text/css">-->
     <link href='https://fonts.googleapis.com/css?family=Merriweather:900&subset=latin,latin-ext' rel='stylesheet' type='text/css'>

    File: .devcontainer/main.js

    Original Content:

    /*
    All this code is copyright Orteil, 2013-2023.
        -with some help, advice and fixes by Nicholas Laux, Debugbro, Opti, the folks at Playsaurus, and lots of people on reddit, Discord, and the DashNet forums
        -also includes a bunch of snippets found on stackoverflow.com and others
        -want to mod the game? scroll down to the "MODDING API" section
    Hello, and welcome to the joyous mess that is main.js. Code contained herein is not guaranteed to be good, consistent, or sane. Most of this is years old at this point and harkens back to simpler, cruder times. In particular I've tried to maintain compatibility with fairly old versions of javascript, which means luxuries such as 'let', arrow functions and string literals are unavailable.
    As Cookie Clicker is rife with puns and tricky wordplay, localization was never intended to be possible - but ended up happening anyway as part of the Steam port. As a result, usage of strings is somewhat unorthodox in some places.
    Have a nice trip, and stay safe.
    Spoilers ahead.
    http://orteil.dashnet.org
    */
    
    /*=====================================================================================
    MISC HELPER FUNCTIONS
    =======================================================================================*/
    function l(what) {return document.getElementById(what);}
    function choose(arr) {return arr[Math.floor(Math.random()*arr.length)];}
    
    function escapeRegExp(str){return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");}
    function replaceAll(find,replace,str){return str.replace(new RegExp(escapeRegExp(find),'g'),replace);}
    
    function cap(str){return str.charAt(0).toUpperCase()+str.slice(1);}
    
    function romanize(num){
        if (isNaN(num))
            return NaN;
        var digits = String(+num).split(""),
            key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
                   "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
                   "","I","II","III","IV","V","VI","VII","VIII","IX"],
            roman = "",
            i = 3;
        while (i--)
            roman = (key[+digits.pop() + (i * 10)] || "") + roman;
        return Array(+digits.join("") + 1).join("M") + roman;
    }
    
    //disable sounds coming from soundjay.com (sorry)
    var realAudio=typeof Audio!=='undefined'?Audio:function(){return {}};//backup real audio
    Audio=function(src){
        if (src && src.indexOf('soundjay')>-1) {Game.Popup('Sorry, no sounds hotlinked from soundjay.com.');this.play=function(){};}
        else return new realAudio(src);
    };
    
    if(!Array.prototype.indexOf) {
        Array.prototype.indexOf = function(needle) {
            for(var i = 0; i < this.length; i++) {
                if(this[i] === needle) {return i;}
            }
            return -1;
        };
    }
    

    Changes:

    @@ -24,15 +24,15 @@ function cap(str){return str.charAt(0).toUpperCase()+str.slice(1);}
     function romanize(num){
         if (isNaN(num))
             return NaN;
    -    var digits = String(+num).split(""),
    +    var digits = String(Number(num)).split(""),
             key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
                    "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
                    "","I","II","III","IV","V","VI","VII","VIII","IX"],
             roman = "",
             i = 3;
         while (i--)
    -        roman = (key[+digits.pop() + (i * 10)] || "") + roman;
    -    return Array(+digits.join("") + 1).join("M") + roman;
    +        roman = (key[Number(digits.pop()) + (i * 10)] || "") + roman;
    +    return Array(Number(digits.join("")) + 1).join("M") + roman;
     }
    
     //disable sounds coming from soundjay.com (sorry)

    File: .github/.cirrus.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,9 @@
    +container:
    +  image: node:latest
    +
    +check_task:
    +  node_modules_cache:
    +    folder: node_modules
    +    fingerprint_script: cat yarn.lock
    +    populate_script: yarn install
    +  test_script: yarn test

    File: .github/FUNDING.yml

    Original Content:

    # These are supported funding model platforms
    
    github: [As90909w][Nebula]
    open_collective: Andrewmoney
    tidelift: .github/build.yml
    community_bridge: cloud-foundry
    lfx_crowdfunding: ANDREWRXCVfoundry8282
    buy_me_a_coffee: usermainElliot_shin2221
    thanks_dev: FoundryTODEVfree
    custom: https://www.github.com/git?authuser=ID:zeZoispLfr6Saj1ARpPbcp2cljZ5fdKv8sPuS6l9xjwdT8sG5e409wgb7vFwRu5djHShwo2iuwe2f9eeghds8qer3we2wd9cec8ehudhciu3deyu8iywi73ewoq820f9o=truemain=branch/main
    

    Changes:

    @@ -1,10 +0,0 @@
    -# These are supported funding model platforms
    -
    -github: [As90909w][Nebula]
    -open_collective: Andrewmoney
    -tidelift: .github/build.yml
    -community_bridge: cloud-foundry
    -lfx_crowdfunding: ANDREWRXCVfoundry8282
    -buy_me_a_coffee: usermainElliot_shin2221
    -thanks_dev: FoundryTODEVfree
    -custom: https://www.github.com/git?authuser=ID:zeZoispLfr6Saj1ARpPbcp2cljZ5fdKv8sPuS6l9xjwdT8sG5e409wgb7vFwRu5djHShwo2iuwe2f9eeghds8qer3we2wd9cec8ehudhciu3deyu8iywi73ewoq820f9o=truemain=branch/main

    File: .github/appveyor.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,12 @@
    +version: 1.0.{build}
    +image: Visual Studio 2017
    +pull_requests:
    +  do_not_increment_build_number: true
    +branches:
    +  only:
    +  - master
    +before_build:
    +- nuget restore
    +configuration: Release
    +build:
    +  verbosity: minimal

    File: .github/branding/Img

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1 @@
    +g

    File: .github/branding/branding.png

    Original Content:

    Unable to fetch content

    Changes:

    No changes

    File: .github/branding/openttd.2048.png

    Original Content:

    Unable to fetch content

    Changes:

    No changes

    File: .github/butterb0t.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,6 @@
    +domains: 
    +    - name: Staging 
    +      url: https://staging.example.com/
    +
    +    - name: Storybook
    +      url: https://storybook.example.com/

    File: .github/dependabot-auto-merger.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,18 @@
    +name: automerge
    +
    +on:
    +  workflow_dispatch:
    +    inputs:
    +      pr-number:
    +        required: true
    +
    +jobs:
    +  automerge:
    +    runs-on: ubuntu-latest
    +    permissions:
    +      pull-requests: write
    +      contents: write
    +    steps:
    +      - uses: fastify/github-action-merge-dependabot@v3
    +        with:
    +          pr-number: ${{ github.event.inputs.pr-number }}

    File: .github/dependabot.yml

    Original Content:

    version: 2
    updates:
      # Keep bundler dependencies up to date
      - package-ecosystem: "bundler"
        directories:
        schedule:
          interval: "daily"
        # Create a group of dependencies to be updated together in one pull request
        groups:
           # Specify a name for the group, which will be used in pull request titles
           # and branch names
           dev-dependencies:
              # Define patterns to include dependencies in the group (based on
              # dependency name)
              applies-to: version-updates # Applies the group rule to version updates
              patterns:
                - "rubocop" # A single dependency name
                - "rspec*"  # A wildcard string that matches multiple dependency names
                - "*"       # A wildcard that matches all dependencies in the package
                            # ecosystem. Note: using "*" may open a large pull request
              # Define patterns to exclude dependencies from the group (based on
              # dependency name)
              exclude-patterns:
                - "gc_ruboconfig"
                - "gocardless-*"
    

    Changes:

    @@ -1,25 +1,32 @@
     version: 2
     updates:
       # Keep bundler dependencies up to date
    -  - package-ecosystem: "bundler"
    -    directories:
    +  - package-ecosystem: "github-actions"
    +    directory: "/"
         schedule:
           interval: "daily"
    -    # Create a group of dependencies to be updated together in one pull request
         groups:
    -       # Specify a name for the group, which will be used in pull request titles
    -       # and branch names
    -       dev-dependencies:
    -          # Define patterns to include dependencies in the group (based on
    -          # dependency name)
    -          applies-to: version-updates # Applies the group rule to version updates
    -          patterns:
    -            - "rubocop" # A single dependency name
    -            - "rspec*"  # A wildcard string that matches multiple dependency names
    -            - "*"       # A wildcard that matches all dependencies in the package
    -                        # ecosystem. Note: using "*" may open a large pull request
    -          # Define patterns to exclude dependencies from the group (based on
    -          # dependency name)
    -          exclude-patterns:
    -            - "gc_ruboconfig"
    -            - "gocardless-*"
    +      dev-dependencies:
    +        applies-to: version-updates # Applies the group rule to version updates
    +        patterns:
    +          - "rubocop" 
    +          - "rspec*"  
    +          - "*"       
    +          - "*"            
    +        exclude-patterns:
    +          - "gc_ruboconfig"
    +          - "gocardless-*"
    +    open-pull-requests-limit: 100
    +    reviewers:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username
    +    assignees:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username
    +  - package-ecosystem: "npm"
    +    directory: "/"
    +    schedule:
    +      interval: "daily"
    +    open-pull-requests-limit: 100
    +    reviewers:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username
    +    assignees:
    +      - "Andrewshin-7th-technology-student" # Replace with your GitHub username

    File: .github/fast-foward.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,16 @@
    +name: Fast-Forward
    +
    +on: 
    +  issue_comment:
    +    types: [created]
    +  push:
    +  pull_request:
    +
    +jobs:
    +  run:
    +    runs-on: ubuntu-latest
    +    steps:
    +      - uses: APN-Pucky/fast-forward-action@main
    +        with:
    +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    +          SSH_PRIVATE_KEY: ${{ secrets.GH_SSH }}

    File: .github/imagebot.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,16 @@
    +name: ImageBot
    +on:
    +  push:
    +    branches:
    +      - main
    +jobs:
    +  imagebot:
    +    runs-on: ubuntu-latest
    +    steps:
    +      - name: Checkout code
    +        uses: actions/checkout@v2
    +      - name: Run ImageBot
    +        uses: imagebot/imagebot@v1
    +        with:
    +          githubToken: ${{ secrets.GITHUB_TOKEN }}
    +          imagebotConfig: .imgbotconfig

    File: .github/issue-branch.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,20 @@
    +on:
    +  # The issue.opened event below is only needed for the "immediate" mode.
    +  # The issue.assigned event below is only needed for the default ("auto") mode.
    +  issues:
    +    types: [ opened, assigned ]
    +  # The issue_comment.created event below is only needed for the ChatOps mode.
    +  issue_comment:
    +    types: [ created ]
    +  # The pull_request events below are only needed for pull-request related features.
    +  pull_request:
    +    types: [ opened, closed ]
    +
    +jobs:
    +  create_issue_branch_job:
    +    runs-on: ubuntu-latest
    +    steps:
    +      - name: Create Issue Branch
    +        uses: robvanderleek/create-issue-branch@main
    +        env:
    +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

    File: .github/issue_label_bot.yaml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,4 @@
    +label-alias:
    +  bug: 'kind/bug'
    +  feature_request: 'enhancement'
    +  question: 'question'

    File: .github/stale.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,12 @@
    +daysUntilStale: 1
    +daysUntilClose: 2
    +exemptLabels:
    +  - duplicate
    +  - invalid
    +  - wontfix
    +staleLabel: goneStale
    +markComment: >
    +  This issue has been automatically marked as stale because it has not had
    +  recent activity. It will be closed if no further activity occurs. Thank you
    +  for your contributions.
    +closeComment: false

    File: .github/wip.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,7 @@
    +locations:
    +  - title
    +  - label_name
    +  - commit_subject
    +terms:
    +  - do not merge
    +  - ⛔

    File: .github/workflows/Deployment.yml

    Original Content:

    name: Deployment
    
    on:
      push:
        branches: ["main"]
    
    env:
      AZURE_FUNCTIONAPP_NAME: 'Deployment'   # set this to your function app name on Azure
      AZURE_FUNCTIONAPP_PACKAGE_PATH: '.'       # set this to the path to your function app project, defaults to the repository root
      PYTHON_VERSION: '3.9'                     # set this to the python version to use (e.g. '3.6', '3.7', '3.8')
    
    jobs:
      build-and-deploy:
        runs-on: ubuntu-latest
        environment: Deployment
        steps:
        - name: 'Checkout GitHub Action'
          uses: actions/checkout@v4
    
        # If you want to use Azure RBAC instead of Publish Profile, then uncomment the task below
        # - name: 'Login via Azure CLI'
        #   uses: azure/login@v1
        #   with:
        #     creds: ${{ secrets.AZURE_RBAC_CREDENTIALS }} # set up AZURE_RBAC_CREDENTIALS secrets in your repository
    
        - name: Setup Python ${{ env.PYTHON_VERSION }} Environment
          uses: actions/setup-python@v4
          with:
            python-version: ${{ env.PYTHON_VERSION }}
    

    Changes:

    @@ -24,6 +24,6 @@ jobs:
         #     creds: ${{ secrets.AZURE_RBAC_CREDENTIALS }} # set up AZURE_RBAC_CREDENTIALS secrets in your repository
    
         - name: Setup Python ${{ env.PYTHON_VERSION }} Environment
    -      uses: actions/setup-python@v4
    +      uses: actions/setup-python@v5
           with:
             python-version: ${{ env.PYTHON_VERSION }}

    File: .github/workflows/Development .yml

    Original Content:

    name: Linux server deployment
    
    on:
      create:
        tags:
      push:
        branches:
          - main
      pull_request:
    
    jobs:
      lint:
        name: connect to linux server
        runs-on: ubuntu-latest
        environment: 'Development'
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
      build:
        name: build
        runs-on: ${{ matrix.os }}
        strategy:
          matrix:
            os: [ubuntu-latest, macos-12, macos-14, windows-latest]
        steps:
        - uses: actions/setup-python@v5
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - name: mkdir
          run: mkdir -p out
      emscripten:
        name: emscripten
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v1
          with:
            submodules: true
      wasi:
        name: wasi
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
            with:
              submodules: true
      sanitize:
        name: sanitize
        runs-on: ubuntu-24.04
        env:
          USE_NINJA: "1"
          CC: "clang"
          WASM2C_CFLAGS: "-march=x86-64-v2" # currently required for SIMDe to pass some tests on x86-64
        strategy:
          matrix:
            sanitizer: [asan, ubsan, fuzz]
            type: [debug, release]
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
      build-wasm2c-memchecked:
        name: wasm2c-memchecked
        runs-on: ubuntu-latest
        env:
          USE_NINJA: "1"
          CC: "clang" # used by the wasm2c tests
          WASM2C_CFLAGS: "-march=x86-64-v2 -fsanitize=address -DWASM_RT_USE_MMAP=0"
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - run: sudo apt-get install ninja-build
        - name: workaround for ASLR+ASAN compatibility # See https://github.com/actions/runner/issues/3207
          run: sudo sysctl -w vm.mmap_rnd_bits=28
    
      build-min-cmake:
        name: min-cmake
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v1
          with:
            submodules: true
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - name: Install Ninja
          run: sudo apt-get install ninja-build
        - name: Detect minimum CMake version
          run: >
            awk 'match($0, /cmake_minimum_required\(VERSION *([0-9]+\.[0-9]+)\)/, a)
            { print "WABT_CMAKE_VER=" a[1]; exit; }' CMakeLists.txt | tee $GITHUB_ENV
      build-rlbox:
        name: rlbox
        runs-on: ubuntu-latest
        env:
          USE_NINJA: "1"
          WASM2C_CC: "clang"
          WASM2C_CFLAGS: "-DWASM_RT_USE_MMAP=1 -DWASM_RT_SKIP_SIGNAL_RECOVERY=1 -DWASM_RT_NONCONFORMING_UNCHECKED_STACK_EXHAUSTION=1 -DWASM2C_TEST_EMBEDDER_SIGNAL_HANDLING -DWASM_RT_ALLOW_SEGUE=1 -DWASM_RT_SEGUE_FREE_SEGMENT=1 -mfsgsbase -DWASM_RT_SANITY_CHECKS=1 -Wno-pass-failed"
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - run: sudo apt-get install ninja-build
      build-cross:
        name: Disconnect from linux server and deploy
        runs-on: ubuntu-latest
        strategy:
          fail-fast: false
          matrix:
            arch: [s390x]
        services: # still faster on debian...
          distcc:
            image: debian:latest
            options: --health-cmd distccmon-text --health-interval 5s --health-start-period 5m debian:latest bash -c "apt-get update && apt-get install -y g++-s390x-linux-gnu distcc && distccd --daemon --no-detach"
            ports:
              - 3632:3632
        env:
          QEMU_LD_PREFIX: /usr/${{matrix.arch}}-linux-gnu/
        steps:
        - uses: actions/setup-python@v1
          with:
            python-version: '3.x'
        - uses: actions/checkout@v1
          with:
            submodules: true
        - name: Set up QEMU
          uses: docker/setup-qemu-action@v2
          with:
            platforms: ${{matrix.arch}}
            image: "tonistiigi/binfmt:master"
        - name: install ninja
          run: sudo apt-get install ninja-build
        - name: install the toolchain
          run: sudo apt-get install g++-${{matrix.arch}}-linux-gnu
        - name: install distcc
          run: sudo apt-get install distcc
        - name: installing linux debugger
          run: sudo mkdir -p /opt/bin/distcc_symlinks
        - name: read files - checking if production succeeded 
          run: sudo ln -s /usr/bin/distcc /opt/bin/distcc_symlinks/${{matrix.arch}}-linux-gnu-gcc # only CC is needed
    

    Changes:

    @@ -14,21 +14,21 @@ jobs:
         runs-on: ubuntu-latest
         environment: 'Development'
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
       build:
         name: build
         runs-on: ${{ matrix.os }}
         strategy:
           matrix:
    -        os: [ubuntu-latest, macos-12, macos-14, windows-latest]
    +        os: [ubuntu-latest, macos-12, macos-14]
         steps:
         - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - name: mkdir
    @@ -37,14 +37,14 @@ jobs:
         name: emscripten
         runs-on: ubuntu-latest
         steps:
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
       wasi:
         name: wasi
         runs-on: ubuntu-latest
         steps:
    -      - uses: actions/checkout@v3
    +      - uses: actions/checkout@v4
             with:
               submodules: true
       sanitize:
    @@ -59,10 +59,10 @@ jobs:
             sanitizer: [asan, ubsan, fuzz]
             type: [debug, release]
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
       build-wasm2c-memchecked:
    @@ -73,10 +73,10 @@ jobs:
           CC: "clang" # used by the wasm2c tests
           WASM2C_CFLAGS: "-march=x86-64-v2 -fsanitize=address -DWASM_RT_USE_MMAP=0"
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - run: sudo apt-get install ninja-build
    @@ -87,10 +87,10 @@ jobs:
         name: min-cmake
         runs-on: ubuntu-latest
         steps:
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
         - name: Install Ninja
    @@ -107,10 +107,10 @@ jobs:
           WASM2C_CC: "clang"
           WASM2C_CFLAGS: "-DWASM_RT_USE_MMAP=1 -DWASM_RT_SKIP_SIGNAL_RECOVERY=1 -DWASM_RT_NONCONFORMING_UNCHECKED_STACK_EXHAUSTION=1 -DWASM2C_TEST_EMBEDDER_SIGNAL_HANDLING -DWASM_RT_ALLOW_SEGUE=1 -DWASM_RT_SEGUE_FREE_SEGMENT=1 -mfsgsbase -DWASM_RT_SANITY_CHECKS=1 -Wno-pass-failed"
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - run: sudo apt-get install ninja-build
    @@ -130,14 +130,14 @@ jobs:
         env:
           QEMU_LD_PREFIX: /usr/${{matrix.arch}}-linux-gnu/
         steps:
    -    - uses: actions/setup-python@v1
    +    - uses: actions/setup-python@v5
           with:
             python-version: '3.x'
    -    - uses: actions/checkout@v1
    +    - uses: actions/checkout@v4
           with:
             submodules: true
         - name: Set up QEMU
    -      uses: docker/setup-qemu-action@v2
    +      uses: docker/setup-qemu-action@v3
           with:
             platforms: ${{matrix.arch}}
             image: "tonistiigi/binfmt:master"

    File: .github/workflows/Package.yml

    Original Content:

    name: publish package using python
    
    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 }}
    

    Changes:

    @@ -15,7 +15,7 @@ jobs:
         steps:
         - uses: actions/checkout@v4
         - name: Set up Python
    -      uses: actions/setup-python@v3
    +      uses: actions/setup-python@v5
           with:
             python-version: '3.x'
         - name: Install dependencies
    @@ -25,7 +25,7 @@ jobs:
         - name: Build package
           run: python -m build
         - name: Publish package
    -      uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
    +      uses: pypa/gh-action-pypi-publish@f7600683efdcb7656dec5b29656edb7bc586e597
           with:
             user: __token__
             password: ${{ secrets.PYPI_API_TOKEN }}

    File: .github/workflows/Package_create.yml

    Original Content:

    name: Package create
    
    on: [push]
    
    jobs:
      build-linux:
        runs-on: ubuntu-latest
        strategy:
          max-parallel: 5
    
        steps:
        - uses: actions/checkout@v4
        - name: Set up Python 3.10
          uses: actions/setup-python@v3
          with:
            python-version: '3.10'
        - name: Publish python package
          run: |
            # $CONDA is an environment variable pointing to the root of the miniconda directory
            echo $CONDA/bin >> $GITHUB_PATH
    

    Changes:

    @@ -11,7 +11,7 @@ jobs:
         steps:
         - uses: actions/checkout@v4
         - name: Set up Python 3.10
    -      uses: actions/setup-python@v3
    +      uses: actions/setup-python@v5
           with:
             python-version: '3.10'
         - name: Publish python package

    File: .github/workflows/cr.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,27 @@
    +name: Code Review
    +
    +permissions:
    +  contents: read
    +  pull-requests: write
    +
    +on:
    +  pull_request:
    +    types: [opened, reopened, synchronize]
    +
    +jobs:
    +  test:
    +    # if: ${{ contains(github.event.*.labels.*.name, 'gpt review') }} # Optional; to run only when a label is attached
    +    runs-on: ubuntu-latest
    +    steps:
    +      - uses: anc95/ChatGPT-CodeReview@main
    +        env:
    +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    +          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
    +          # Optional
    +          LANGUAGE: Chinese
    +          OPENAI_API_ENDPOINT: https://api.openai.com/v1
    +          MODEL: gpt-3.5-turbo # https://platform.openai.com/docs/models
    +          top_p: 1 # https://platform.openai.com/docs/api-reference/chat/create#chat/create-top_p
    +          temperature: 1 # https://platform.openai.com/docs/api-reference/chat/create#chat/create-temperature
    +          max_tokens: 10000
    +          MAX_PATCH_LENGTH: 10000 # if the patch/diff length is large than MAX_PATCH_LENGTH, will be ignored and won't review. By default, with no MAX_PATCH_LENGTH set, there is also no limit for the patch/diff length.

    File: .github/workflows/dockerimage.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,18 @@
    +name: Docker Image CI
    +
    +on:
    +  push:
    +    branches: [ main ]
    +  pull_request:
    +    branches: [ main ]
    +
    +jobs:
    +
    +  build:
    +
    +    runs-on: ubuntu-latest
    +
    +    steps:
    +    - uses: actions/checkout@v4
    +    - name: Build the Docker image
    +      run: docker build -f Dockerfile.CompressImages . -t imgbot

    File: .github/workflows/gitguardian.yaml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,21 @@
    +name: GitGuardian scan
    +
    +on: [push, pull_request]
    +
    +jobs:
    +  scanning:
    +    name: GitGuardian scan
    +    runs-on: ubuntu-latest
    +    steps:
    +      - name: Checkout
    +        uses: actions/checkout@v4
    +        with:
    +          fetch-depth: 0 # fetch all history so multiple commits can be scanned
    +      - name: GitGuardian scan
    +        uses: GitGuardian/ggshield/actions/secret@v1.32.2
    +        env:
    +          GITHUB_PUSH_BEFORE_SHA: ${{ github.event.before }}
    +          GITHUB_PUSH_BASE_SHA: ${{ github.event.base }}
    +          GITHUB_PULL_BASE_SHA: ${{ github.event.pull_request.base.sha }}
    +          GITHUB_DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
    +          GITGUARDIAN_API_KEY: ${{ secrets.GITGUARDIAN_API_KEY }}

    File: .github/workflows/prettier-check.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,23 @@
    +name: prettier-check
    +
    +on:
    +  pull_request: # Must run on pull requests
    +    branches:
    +      - main
    +
    +permissions:
    +  contents: read
    +  pull-requests: write
    +  issues: write
    +
    +jobs:
    +  prettier-bot:
    +    name: Prettier Bot
    +    runs-on: ubuntu-latest
    +
    +    steps:
    +      - name: Checkout
    +        uses: actions/checkout@v4
    +
    +      - name: Prettier Bot
    +        uses: noyobo/prettier-bot@v1

    File: .imgbotconfig

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,14 @@
    +{
    +    "createPullRequest": "true",
    +    "pullRequestTemplate": "template.md",
    +    "prTitle": "Image optimized"
    +    "schedule": "daily",
    +    "ignoredFiles": [
    +        "*.ico",                
    +        "drawing_6.jpg",  
    +        "docs*"
    +    ],
    +    "aggressiveCompression": "false",
    +    "minKBReduced" : 0,
    +    "compressWiki": "true",
    +}

    File: .main files/PackagingLayout.xml

    Original Content:

    <PackagingLayout xmlns="http://schemas.microsoft.com/appx/makeappx/2017">
        <!-- Main game -->
        <PackageFamily ID="OpenTTD" FlatBundle="false" ManifestPath="manifests\Package.appxmanifest" ResourceManager="false">
            <!-- x86 code package-->
            <Package ID="OpenTTD-x86" ProcessorArchitecture="x86" ManifestPath="manifests\Package-x86.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="x86-binaries\**"/>
                    <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
                </Files>
            </Package>
    
            <!-- x64 code package-->
            <Package ID="OpenTTD-x64" ProcessorArchitecture="x64" ManifestPath="manifests\Package-x64.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="x64-binaries\**"/>
                    <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
                </Files>
            </Package>
    
            <!-- ARM64 code package-->
            <Package ID="OpenTTD-ARM64" ProcessorArchitecture="arm64" ManifestPath="manifests\Package-ARM64.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="ARM64-binaries\**"/>
                    <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
                </Files>
            </Package>
    
            <!-- Common asset package-->
            <AssetPackage ID="OpenTTD-common" AllowExecution="false" ManifestPath="manifests\AssetsPackage.appxmanifest">
                <Files>
                    <File DestinationPath="**" SourcePath="common-binaries\**"/>
                </Files>
            </AssetPackage>
        </PackageFamily>
    </PackagingLayout>
    

    Changes:

    @@ -6,6 +6,7 @@
                 <Files>
                     <File DestinationPath="**" SourcePath="x86-binaries\**"/>
                     <File DestinationPath="Assets\**" SourcePath="Assets\**"/>
    +                <./>
                 </Files>
             </Package>
    

    File: .text files/atomic-no-shared-memory.txt

    Original Content:

    ;;; TOOL: wat2wasm
    ;;; ARGS: --enable-threads
    
    (module
      (memory 1)
      (func
        i32.const 0 i32.const 0 memory.atomic.notify drop
        i32.const 0 i32.const 0 i64.const 0 memory.atomic.wait32 drop
        i32.const 0 i64.const 0 i64.const 0 memory.atomic.wait64 drop
    
        i32.const 0 i32.atomic.load drop
        i32.const 0 i64.atomic.load drop
        i32.const 0 i32.atomic.load8_u drop
        i32.const 0 i32.atomic.load16_u drop
        i32.const 0 i64.atomic.load8_u drop
        i32.const 0 i64.atomic.load16_u drop
        i32.const 0 i64.atomic.load32_u drop
    
        i32.const 0 i32.const 0 i32.atomic.store
        i32.const 0 i64.const 0 i64.atomic.store
        i32.const 0 i32.const 0 i32.atomic.store8
        i32.const 0 i32.const 0 i32.atomic.store16
        i32.const 0 i64.const 0 i64.atomic.store8
        i32.const 0 i64.const 0 i64.atomic.store16
        i32.const 0 i64.const 0 i64.atomic.store32
    
        i32.const 0 i32.const 0 i32.atomic.rmw.add drop
        i32.const 0 i64.const 0 i64.atomic.rmw.add drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.add_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.add_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.add_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.add_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.add_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.sub drop
        i32.const 0 i64.const 0 i64.atomic.rmw.sub drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.sub_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.sub_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.sub_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.sub_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.sub_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.and drop
        i32.const 0 i64.const 0 i64.atomic.rmw.and drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.and_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.and_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.and_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.and_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.and_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.or drop
        i32.const 0 i64.const 0 i64.atomic.rmw.or drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.or_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.or_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.or_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.or_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.or_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.xor drop
        i32.const 0 i64.const 0 i64.atomic.rmw.xor drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.xor_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.xor_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.xor_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.xor_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.xor_u drop
    
        i32.const 0 i32.const 0 i32.atomic.rmw.xchg drop
        i32.const 0 i64.const 0 i64.atomic.rmw.xchg drop
        i32.const 0 i32.const 0 i32.atomic.rmw8.xchg_u drop
        i32.const 0 i32.const 0 i32.atomic.rmw16.xchg_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw8.xchg_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw16.xchg_u drop
        i32.const 0 i64.const 0 i64.atomic.rmw32.xchg_u drop
    
        i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw.cmpxchg drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw.cmpxchg drop
        i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw8.cmpxchg_u drop
        i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw16.cmpxchg_u drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw8.cmpxchg_u drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw16.cmpxchg_u drop
        i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw32.cmpxchg_u drop
    
    ))
    

    Changes:

    @@ -8,15 +8,7 @@
         i32.const 0 i32.const 0 i64.const 0 memory.atomic.wait32 drop
         i32.const 0 i64.const 0 i64.const 0 memory.atomic.wait64 drop
    
    -    i32.const 0 i32.atomic.load drop
    -    i32.const 0 i64.atomic.load drop
    -    i32.const 0 i32.atomic.load8_u drop
    -    i32.const 0 i32.atomic.load16_u drop
    -    i32.const 0 i64.atomic.load8_u drop
    -    i32.const 0 i64.atomic.load16_u drop
    -    i32.const 0 i64.atomic.load32_u drop
    -
    -    i32.const 0 i32.const 0 i32.atomic.store
    +i32.const 0 i32.const 0 i32.atomic.store
         i32.const 0 i64.const 0 i64.atomic.store
         i32.const 0 i32.const 0 i32.atomic.store8
         i32.const 0 i32.const 0 i32.atomic.store16
    @@ -32,6 +24,14 @@
         i32.const 0 i64.const 0 i64.atomic.rmw16.add_u drop
         i32.const 0 i64.const 0 i64.atomic.rmw32.add_u drop
    
    +    i32.const 0 i32.atomic.load drop
    +    i32.const 0 i64.atomic.load drop
    +    i32.const 0 i32.atomic.load8_u drop
    +    i32.const 0 i32.atomic.load16_u drop
    +    i32.const 0 i64.atomic.load8_u drop
    +    i32.const 0 i64.atomic.load16_u drop
    +    i32.const 0 i64.atomic.load32_u drop
    +
         i32.const 0 i32.const 0 i32.atomic.rmw.sub drop
         i32.const 0 i64.const 0 i64.atomic.rmw.sub drop
         i32.const 0 i32.const 0 i32.atomic.rmw8.sub_u drop

    File: .unibeautifyrc.yml

    Original Content:

    Unable to fetch content

    Changes:

    @@ -0,0 +1,28 @@
    +PHP: # Language
    +  beautifiers: # Enable beautifiers
    +  - PHP-CS-Fixer
    +  PHP-CS-Fixer: # Beautifier options
    +    prefer_beautifier_config: true
    +    PHP-CS-Fixer: # Executable options
    +      path: "/absolute/path/to/php-cs-fixer"
    +TypeScript:
    +  beautifiers: ["Pretty Diff", "Prettier"]
    +  align_assignments: false
    +  arrow_parens: "as-needed"
    +  break_chained_methods: true
    +  end_with_comma: true
    +  end_with_semicolon: true
    +  indent_char: " "
    +  indent_size: 2
    +  jsx_brackets: false
    +  multiline_ternary: true
    +  object_curly_spacing: true
    +  quotes: "double"
    +  space_after_anon_function: false
    +  wrap_line_length: 80
    +CSS:
    +  indent_char: " "
    +  indent_size: 2
    +HTML:
    +  indent_char: " "
    +  indent_size: 2
    codiumai-pr-agent-free[bot] commented 1 day ago

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Score
    Security
    Improve security by storing sensitive information in configuration files or environment variables instead of hardcoding them in the source code ___ **Consider using a configuration file or environment variables to store sensitive
    information like KnownGitHubs.AppId and KnownEnvironmentVariables.APP_PRIVATE_KEY
    instead of hardcoding them in the source code.** [OpenPrFunction/OpenPr.cs [49-55]](https://github.com/Andrewshin-7th-technology-student/build-CI/pull/52/files#diff-f368aa47d92210f79c0d14d3843b2860b8347ab800813dd229529be9ecbd9ac2R49-R55) ```diff var installationToken = await installationTokenProvider.GenerateAsync( new InstallationTokenParameters { AccessTokensUrl = string.Format(KnownGitHubs.AccessTokensUrlFormat, installation.InstallationId), - AppId = KnownGitHubs.AppId, + AppId = Configuration["GitHub:AppId"], }, - KnownEnvironmentVariables.APP_PRIVATE_KEY); + Configuration["GitHub:PrivateKey"]); ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 9 Why: This suggestion addresses a critical security concern by recommending the use of configuration files or environment variables for sensitive information, reducing the risk of exposing credentials in the source code.
    9
    Enhancement
    Use nullish coalescing operator for more accurate falsy value handling ___ **Use the nullish coalescing operator (??) instead of the logical OR (||) operator to
    handle falsy values more accurately.** [code/js/codemirror.js [1233]](https://github.com/Andrewshin-7th-technology-student/build-CI/pull/52/files#diff-930c9f644305215f93b8e62d1b2650ecd996d660e4d74f82a04f167ffcd002b7R1233-R1233) ```diff -return emitter._handlers?.[type] || noHandlers +return emitter._handlers?.[type] ?? noHandlers ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 8 Why: The suggestion to use the nullish coalescing operator ensures that only null or undefined values trigger the fallback, which is more precise than using the logical OR operator. This change enhances the accuracy of the code's logic.
    8
    Combine null check and exception throwing using null-coalescing operator ___ **Consider using LINQ's FirstOrDefault with a lambda expression instead of a separate
    if statement to check for null, making the code more concise.** [OpenPrFunction/PullRequest.cs [42-47]](https://github.com/Andrewshin-7th-technology-student/build-CI/pull/52/files#diff-52679e14669443af593f05e9c84d08a42e4b877a6d4499e86b18a380c7e9dcaaR42-R47) ```diff -var pr = allPrs.FirstOrDefault(p => p.State == ItemState.Open && p.Head.Sha == commit.Sha); +var pr = allPrs.FirstOrDefault(p => p.State == ItemState.Open && p.Head.Sha == commit.Sha) + ?? throw new Exception("Couldn't update PR. PR not found"); -if (pr == null) -{ - throw new Exception("Couldn't update PR. PR not found"); -} - ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 8 Why: The suggestion effectively combines the null check and exception throwing into a single line, improving code clarity and reducing redundancy.
    8
    Use optional chaining for safer property access on potentially undefined objects ___ **Use the optional chaining operator (?.) instead of the logical AND (&&) operator for
    safer property access on potentially undefined objects.** [code/js/codemirror.js [26]](https://github.com/Andrewshin-7th-technology-student/build-CI/pull/52/files#diff-930c9f644305215f93b8e62d1b2650ecd996d660e4d74f82a04f167ffcd002b7R26-R26) ```diff -var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : Number((edge || ie_11up)[1])) +var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : Number((edge || ie_11up)?.[1])) ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 7 Why: The suggestion to use optional chaining improves code safety by preventing runtime errors when accessing properties of potentially undefined objects. This change aligns with modern JavaScript practices and enhances code robustness.
    7
    Use logical nullish assignment for concise default value assignment ___ **Use the logical nullish assignment (??=) operator to assign a default value only if
    the current value is null or undefined.** [code/js/codemirror.js [1458]](https://github.com/Andrewshin-7th-technology-student/build-CI/pull/52/files#diff-930c9f644305215f93b8e62d1b2650ecd996d660e4d74f82a04f167ffcd002b7R1458-R1458) ```diff -var exts = Object.prototype.hasOwnProperty.call(modeExtensions, mode) ? modeExtensions[mode] : (modeExtensions[mode] = {}) +modeExtensions[mode] ??= {} +var exts = modeExtensions[mode] ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 7 Why: The suggestion to use logical nullish assignment simplifies the code by reducing the need for a conditional check before assignment. This change makes the code more concise and aligns with modern JavaScript practices.
    7
    Simplify conditional assignment using null-coalescing operator ___ **Consider using a null-coalescing operator (??) instead of an if-else statement for
    the baseBranch assignment to improve code conciseness.** [OpenPrFunction/PullRequest.cs [28-32]](https://github.com/Andrewshin-7th-technology-student/build-CI/pull/52/files#diff-52679e14669443af593f05e9c84d08a42e4b877a6d4499e86b18a380c7e9dcaaR28-R32) ```diff -var baseBranch = repo.DefaultBranch; -if (settings != null && !string.IsNullOrEmpty(settings.DefaultBranchOverride)) -{ - baseBranch = settings.DefaultBranchOverride; -} +var baseBranch = settings?.DefaultBranchOverride ?? repo.DefaultBranch; ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 7 Why: The suggestion improves code conciseness by using the null-coalescing operator, making the assignment more readable and reducing the number of lines.
    7
    Simplify variable assignment using null-coalescing operator and string interpolation ___ **Use string interpolation for commitMessageTitle assignment to improve readability
    and reduce the need for a separate if statement.** [OpenPrFunction/PullRequest.cs [58-62]](https://github.com/Andrewshin-7th-technology-student/build-CI/pull/52/files#diff-52679e14669443af593f05e9c84d08a42e4b877a6d4499e86b18a380c7e9dcaaR58-R62) ```diff -var commitMessageTitle = KnownGitHubs.CommitMessageTitle; -if (settings?.PrTitle != null) -{ - commitMessageTitle = settings.PrTitle; -} +var commitMessageTitle = settings?.PrTitle ?? KnownGitHubs.CommitMessageTitle; ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 7 Why: This suggestion enhances readability by using a null-coalescing operator, which simplifies the assignment logic and reduces the need for an if statement.
    7
    Use unary plus operator for more concise number conversion ___ **Replace the Number() function with the unary plus operator (+) for a more concise
    type conversion of the date object to a number.** [code/js/codemirror.js [4051]](https://github.com/Andrewshin-7th-technology-student/build-CI/pull/52/files#diff-930c9f644305215f93b8e62d1b2650ecd996d660e4d74f82a04f167ffcd002b7R4051-R4051) ```diff -var end = Number(new Date) + cm.options.workTime +var end = +new Date + cm.options.workTime ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 6 Why: The suggestion to replace `Number()` with the unary plus operator simplifies the code and is a common idiom for converting date objects to numbers. This change improves code conciseness without affecting functionality.
    6
    Best practice
    Implement dependency injection for better testability and maintainability of the code ___ **Consider using dependency injection for InstallationTokenProvider, PullRequest, and
    other dependencies instead of creating them inside the method.** [OpenPrFunction/OpenPr.cs [27-30]](https://github.com/Andrewshin-7th-technology-student/build-CI/pull/52/files#diff-f368aa47d92210f79c0d14d3843b2860b8347ab800813dd229529be9ecbd9ac2R27-R30) ```diff -var installationTokenProvider = new InstallationTokenProvider(); -var pullRequest = new PullRequest(); -await RunAsync(openPrMessage, installation, prs, settingsTable, installationTokenProvider, pullRequest, logger, context) - .ConfigureAwait(false); +public static async Task Trigger( + [QueueTrigger("openprmessage")]OpenPrMessage openPrMessage, + [Table("installation", "{InstallationId}", "{RepoName}")] Installation installation, + [Table("pull")] ICollector prs, + ILogger logger, + ExecutionContext context, + [Inject] IInstallationTokenProvider installationTokenProvider, + [Inject] IPullRequest pullRequest) +{ + var storageAccount = CloudStorageAccount.Parse(KnownEnvironmentVariables.AzureWebJobsStorage); + var settingsTable = storageAccount.CreateCloudTableClient().GetTableReference("settings"); + await RunAsync(openPrMessage, installation, prs, settingsTable, installationTokenProvider, pullRequest, logger, context) + .ConfigureAwait(false); +} ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 8 Why: Implementing dependency injection improves the testability and maintainability of the code by decoupling dependencies, making it easier to manage and test individual components.
    8
    Use decimal instead of double for more precise calculations when dealing with financial data or exact decimal representations ___ **Consider using decimal instead of double for precise financial calculations or when
    exact decimal representation is required.** [OpenPrFunction/ImageStat.cs [13-20]](https://github.com/Andrewshin-7th-technology-student/build-CI/pull/52/files#diff-fd6c468638efb42f5355cb72768012c8d26e20aab58357b13efda548835e3404R13-R20) ```diff -public double Percent { get; set; } +public decimal Percent { get; set; } // before/after are in the form 1,283.30kb (string) -// this function will convert to 1283.30 (double) -public static double ToDouble(string value) +// this function will convert to 1283.30 (decimal) +public static decimal ToDecimal(string value) { - return Convert.ToDouble(value.Split(new[] { "kb" }, StringSplitOptions.None)[0]); + return Convert.ToDecimal(value.Split(new[] { "kb" }, StringSplitOptions.None)[0]); } ``` - [ ] **Apply this suggestion**
    Suggestion importance[1-10]: 7 Why: The suggestion to use `decimal` instead of `double` is valid for improving precision in calculations, especially when dealing with financial data, enhancing the accuracy and reliability of the code.
    7

    💡 Need additional feedback ? start a PR chat

    sonarcloud[bot] commented 1 day ago

    Quality Gate Failed Quality Gate failed

    Failed conditions
    5.1% Duplication on New Code (required ≤ 3%)

    See analysis details on SonarCloud