Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gitignore
-
Release 0.12.0 of stevedore - minor feature enhancement
The challenge here was actually from my #48in28 Exercism participation, where I am pretty familiar the standard layout for some repositories since I am familiar with tooling and language, working with new languages does not come with the same familiarity, so I found it made sense to use canonical definitions, hence the use of github/gitignore.
-
How to Use Environment Variables in Node.js
Add .env to your .gitignore file to prevent it from being committed. Here's an example file with it already added. You may also use dotenv for advanced configuration and it will automatically load environment variables from a .env file into process.env.
-
Basic Python Project Layout
Virtual Environments are a feature that has been part of python itself since version 3.3. It allows you to isolate both a python version and any packages you install with it. Every python project I develop with uses a virtual environment for such isolation purposes. Now I generally like to create these virtual environments inside the target project's directory so I know exactly what it's tied to. If you use GitHub's python gitignore file naming the virtual environment folder as venv or .venv will ensure it doesn't get committed (which you don't want). So I'll make a new project folder and create a virtual environment inside of it:
-
Node.js 20.6.0 will include built-in support for .env files
Especially considering the GitHub .gitignore template for Node only ignores .env.local, not .local.env: https://github.com/github/gitignore/blob/main/Node.gitignore...
-
GitHub Repo Feedback [intermediate / advance]
Starting with the top-level .gitignore, it's nearly empty. I'd recommend defaulting to something like this if you don't have any specific needs.
- Old ASP.NET/.NET Framework 3.5 gitignore question: Which files/folders should be gitignored?
-
Please, please, PLEASE use source control! (Plus, the only git commands I ever use)
There are .gitignores for almost every type of project (Unity included) here: https://github.com/github/gitignore
- Best Practices for MATLAB Toolbox Development is published!
-
PSA: Use version control and take backups!
Make sure your .gitignore file is properly set up (and .gitattributes): https://github.com/github/gitignore/blob/main/Unity.gitignore
-
Questions for my team
So first - here's an intuitive guide on what Git even does and how. Afterwards you can install one of various Git guis, for instance Github Desktop so you don't have to learn the syntax yet. One important thing about Unity projects is to also add a correct .gitignore file to the base directory of a project, else you wil lend up with a LOT of noise. Here's a good starting point. I also have to point out that Github actually has repository size limitations which are hard to reach with code but are easy to reach with assets. Realistically speaking though, this is what should cover 99% of Git needs you will have:
gitlab
-
BuildKit in depth: Docker's build engine explained
and its "oh, you want multi-arch, do you?" friend. While prosecuting this <https://gitlab.com/gitlab-org/gitlab/-/issues/339567> I learned that https://hub.docker.com/layers/multiarch/qemu-user-static/7.2... actually mutates the binfmt_misc in buildx's context in order to exec the static copy of qemu in it https://github.com/multiarch/qemu-user-static/blob/v7.2.0-1/...
and, that the buildx plugin itself has some qemu magick in it, which got addressed in a minor version bump but I couldn't track down the relevant GitHub issue this second (I've flushed it from my mind, only recalling that there were a lot of actors in that tire fire)
-
Gitlab password reset bug leaves more than 5.3K servers up for grabs
For folks who wanna see what led to this exploit in a Rails codebase, hereβs the commit where the exploit is fixed:
https://gitlab.com/gitlab-org/gitlab/-/commit/c571840ba2f0e9...
> "RecoverableByAnyEmail"
Added 8 months ago [1]. And then one month later:
> "password_reset_any_verified_email"
Was removed. 7 months ago [2], *note* __verified__ word here.
No blaming or conspiracy intended in this post, just listing links to relevant commits.
1 - https://gitlab.com/gitlab-org/gitlab/-/commit/94069d38c9cd63...
2 - https://gitlab.com/gitlab-org/gitlab/-/commit/a935d28f3decf8...
This doesn't look like the actual fix but rather a follow-up refactor. I believe the fix is here: https://gitlab.com/gitlab-org/gitlab/-/commit/abe79e4ec43798...
- recoverable.send_reset_password_instructions(to: email) if recoverable&.persisted?
This is actually a follow-up refactor, the fix is here: https://gitlab.com/gitlab-org/gitlab/-/commit/abe79e4ec43798...
-
I Love Ruby
This made me curious. Having never read the gitlab code before, and on mobile, took all of about 30 seconds to find https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/ro...
Those are some pretty clean routes!
-
GitLab π Kubernetes : act 2
If you want to know why GitLab decided to replace ArgoCD with Flux, you can refer to this issue: https://gitlab.com/gitlab-org/gitlab/-/issues/357947.
-
Geany 2.0 Is Out
> ruby has just RubyMine which doesn't have a community edition and also isn't very good
I have a great deal of sympathy for RubyMine (and shudder at working for the CLion team, whew) because Ruby isn't doing the IDE author any favors. Given:
https://gitlab.com/gitlab-org/gitlab/-/blob/v16.5.0-ee/lib/g...
- what types are client_email and private_key? they are whatever type they're called with lolol
- the symbol Google::Auth::ServiceAccountCredentials just materializes; was it required in some containing context and thus is in scope by _this_ required file? are those symbols visible in every context from one of the various Gemfile lines? a hard-core rubyist knows
- where did the symbol StringIO come from? well, from require 'stringio' obviously, which is on .. err, which line exactly? I guess that lends weight to the 'this file is obviously running as a child context of some other file' theory
I think half of it is the culture of Rubyists and half of it is "productivity hacks" of "if it runs, then it must be correct"
I also recognize that I'm very clearly a static typing snob, and firmly in the camp of "please import symbols you use," but that doesn't stop me from having a great deal of sympathy for anyone who has to implement an IDE for such a monkey-patch friendly language
-
GitHub and Developer Ecosystem Control
BitBucket and GitLab both have organizational backing, BitBucket even more so. GitLab does offer an open source core for those to self host. Though I must say the "Contact Sales" link at the top navigation banner is quite interesting. The GNU project does offer hosting services, though it's very much conditional on buying into their philosophy. There are also some options of hosted software such as heptapod and Codeberg.
-
π¦ GitLab CI: 10+ Best Practices to Avoid Widespread Anti-patterns
The "needs" keyword can also be applied to jobs within the same stage, allowing you to create stageless pipelines similar to those in Jenkins. However, it's important to note that in reality, jobs fall into the default stage, which is Test. This limitation is currently being addressed in GitLab, as mentioned in this issue.
What are some alternatives?
Gitea - Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
Harbor - An open source trusted cloud native registry project that stores, signs, and scans content.
onedev - Git Server with CI/CD, Kanban, and Packages. Seamless integration. Unparalleled experience.
terragrunt - Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.
rich-markdown-editor - The open source React and Prosemirror based markdown editor that powers Outline. Want to try it out? Create an account:
gitlab-foss
chatwoot - Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. π₯π¬
git-lfs - Git extension for versioning large files
Gitbucket - A Git platform powered by Scala with easy installation, high extensibility & GitHub API compatibility
terratest - Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.
semantic-release - :package::rocket: Fully automated version management and package publishing
dependency-track - Dependency-Track is an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain.