-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Prepare the project for the new bun ecosystem
- Loading branch information
1 parent
a665aea
commit b850251
Showing
15 changed files
with
1,219 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
BUNDLE_GEMFILE: "../dependabot-updater/Gemfile" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
.bundle/* | ||
!.bundle/config | ||
/.env | ||
/tmp | ||
/dependabot-*.gem | ||
/helpers/node_modules | ||
/helpers/install-dir |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
inherit_from: ../.rubocop.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
FROM ghcr.io/dependabot/dependabot-updater-core | ||
|
||
# Check for updates at https://github.com/nodejs/corepack/releases | ||
ARG COREPACK_VERSION=0.30.0 | ||
|
||
# Check for updates at https://github.com/pnpm/pnpm/releases | ||
ARG PNPM_VERSION=9.15.3 | ||
|
||
# Check for updates at https://github.com/yarnpkg/berry/releases | ||
ARG YARN_VERSION=4.5.3 | ||
|
||
# Check for updates at https://github.com/oven-sh/bun/releases | ||
ARG BUN_VERSION=1.2 | ||
|
||
# See https://github.com/nodesource/distributions#installation-instructions | ||
ARG NODEJS_VERSION=20 | ||
|
||
# Check for updates at https://github.com/npm/cli/releases | ||
# This version should be compatible with the Node.js version declared above. See https://nodejs.org/en/download/releases as well | ||
# TODO: Upgrade to 9.6.7 depending on the outcome of https://github.com/npm/cli/issues/6742 | ||
ARG NPM_VERSION=9.6.5 | ||
|
||
# Install Node and npm | ||
RUN mkdir -p /etc/apt/keyrings \ | ||
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ | ||
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODEJS_VERSION}.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ | ||
&& apt-get update \ | ||
&& apt-get install -y --no-install-recommends \ | ||
nodejs \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& npm install -g corepack@$COREPACK_VERSION \ | ||
&& npm install -g corepack@$COREPACK_VERSION bun@$BUN_VERSION \ | ||
&& rm -rf ~/.npm | ||
|
||
USER dependabot | ||
|
||
# Install pnpm and set it to a stable version | ||
RUN corepack install pnpm@$PNPM_VERSION --global | ||
|
||
# Install yarn berry and set it to a stable version | ||
RUN corepack install yarn@$YARN_VERSION --global | ||
|
||
# Install npm and set it to a stable version | ||
RUN corepack install npm@$NPM_VERSION --global | ||
|
||
ENV DEPENDABOT_NATIVE_HELPERS_PATH="/opt" | ||
COPY --chown=dependabot:dependabot npm_and_yarn/helpers /opt/npm_and_yarn/helpers | ||
RUN bash /opt/npm_and_yarn/helpers/build | ||
|
||
# START: HACKY WORKAROUND FOR NPM GIT INSTALLS SPAWNING CHILD PROCESS | ||
|
||
# TODO: Remove these hacks once we've deprecated npm 6 support as it no longer | ||
# spawns a child process to npm install git dependencies. | ||
|
||
# Create the config file manually instead of using yarn/npm config set as this | ||
# executes the package manager outputs to every job log | ||
COPY --chown=dependabot:dependabot updater/config/.yarnrc updater/config/.npmrc $DEPENDABOT_HOME/ | ||
|
||
# For Yarn Berry we can set this via an environment variable | ||
ENV NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt | ||
|
||
# END: HACKY WORKAROUND FOR NPM GIT INSTALLS SPAWNING CHILD PROCESS | ||
|
||
COPY --chown=dependabot:dependabot npm_and_yarn $DEPENDABOT_HOME/npm_and_yarn | ||
COPY --chown=dependabot:dependabot common $DEPENDABOT_HOME/common | ||
COPY --chown=dependabot:dependabot updater $DEPENDABOT_HOME/dependabot-updater |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# frozen_string_literal: true | ||
|
||
Gem::Specification.new do |spec| | ||
common_gemspec = | ||
Bundler.load_gemspec_uncached("../common/dependabot-common.gemspec") | ||
|
||
spec.name = "dependabot-bun" | ||
spec.summary = "Provides Dependabot support for Bun" | ||
spec.description = "Dependabot-bun provides support for bumping Javascript libraries using bun via " \ | ||
"Dependabot. " \ | ||
"If you want support for multiple package managers, you probably want the meta-gem " \ | ||
"dependabot-omnibus." | ||
|
||
spec.author = common_gemspec.author | ||
spec.email = common_gemspec.email | ||
spec.homepage = common_gemspec.homepage | ||
spec.license = common_gemspec.license | ||
|
||
spec.metadata = { | ||
"bug_tracker_uri" => common_gemspec.metadata["bug_tracker_uri"], | ||
"changelog_uri" => common_gemspec.metadata["changelog_uri"] | ||
} | ||
|
||
spec.version = common_gemspec.version | ||
spec.required_ruby_version = common_gemspec.required_ruby_version | ||
spec.required_rubygems_version = common_gemspec.required_ruby_version | ||
|
||
spec.require_path = "lib" | ||
spec.files = [] | ||
|
||
spec.add_dependency "dependabot-common", Dependabot::VERSION | ||
spec.add_dependency "zeitwerk", "~> 2.7" | ||
|
||
common_gemspec.development_dependencies.each do |dep| | ||
spec.add_development_dependency dep.name, *dep.requirement.as_list | ||
end | ||
|
||
next unless File.exist?("../.gitignore") | ||
|
||
spec.files += `git -C #{__dir__} ls-files lib helpers -z`.split("\x0") | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -e | ||
|
||
bundle install | ||
bundle exec turbo_tests --verbose |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# typed: true | ||
# frozen_string_literal: true | ||
|
||
def common_dir | ||
@common_dir ||= Gem::Specification.find_by_name("dependabot-common").gem_dir | ||
end | ||
|
||
def require_common_spec(path) | ||
require "#{common_dir}/spec/dependabot/#{path}" | ||
end | ||
|
||
require "#{common_dir}/spec/spec_helper.rb" |
Oops, something went wrong.