Skip to content

Commit 603b77d

Browse files
authored
fix: dependabot bumps & releases in CI (#810)
1 parent d4bb6ee commit 603b77d

File tree

12 files changed

+2683
-4060
lines changed

12 files changed

+2683
-4060
lines changed

.github/dependabot.yml

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,28 @@
11
version: 2
22

33
updates:
4-
- package-ecosystem: "bun"
5-
target-branch: "main"
6-
directory: "/"
4+
- package-ecosystem: 'bundler'
5+
directory: '/example'
76
schedule:
8-
interval: "weekly"
7+
interval: 'weekly'
8+
9+
- package-ecosystem: 'bun'
10+
target-branch: 'main'
11+
directory: '/'
12+
schedule:
13+
interval: 'weekly'
914
ignore:
10-
- dependency-name: "react"
11-
- dependency-name: "react-native"
12-
- dependency-name: "@react-native/eslint-plugin"
13-
- dependency-name: "@react-native/metro-config"
14-
- dependency-name: "@react-native/eslint-config"
15-
- dependency-name: "@react-native/gradle-plugin"
16-
- dependency-name: "@react-native-community/cli"
17-
- dependency-name: "@react-native-community/cli-platform-android"
18-
- dependency-name: "@react-native-community/cli-platform-ios"
19-
- dependency-name: "@types/react"
20-
- dependency-name: "chai"
21-
versions: [ "<5.0.0" ]
22-
- dependency-name: "@types/chai"
23-
versions: [ "<5.0.0" ]
15+
- dependency-name: 'react'
16+
- dependency-name: 'react-native'
17+
- dependency-name: '@react-native/eslint-plugin'
18+
- dependency-name: '@react-native/metro-config'
19+
- dependency-name: '@react-native/eslint-config'
20+
- dependency-name: '@react-native/gradle-plugin'
21+
- dependency-name: '@react-native-community/cli'
22+
- dependency-name: '@react-native-community/cli-platform-android'
23+
- dependency-name: '@react-native-community/cli-platform-ios'
24+
- dependency-name: '@types/react'
25+
- dependency-name: 'chai'
26+
versions: ['<5.0.0']
27+
- dependency-name: '@types/chai'
28+
versions: ['<5.0.0']

.github/workflows/release.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: Release
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
version:
7+
description: 'Version to release (e.g., 1.0.0-beta.21) or increment (patch, minor, major, prepatch, preminor, premajor, prerelease)'
8+
required: true
9+
default: 'prerelease'
10+
dry-run:
11+
description: 'Dry run (no actual publish)'
12+
type: boolean
13+
default: false
14+
15+
jobs:
16+
release:
17+
runs-on: macos-latest
18+
permissions:
19+
contents: write
20+
id-token: write
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
with:
25+
fetch-depth: 0
26+
token: ${{ secrets.GITHUB_TOKEN }}
27+
28+
- name: Setup Bun
29+
uses: oven-sh/setup-bun@v2
30+
31+
- name: Setup Node.js (for npm publish with OIDC)
32+
uses: actions/setup-node@v4
33+
with:
34+
node-version: '22'
35+
registry-url: 'https://registry.npmjs.org'
36+
37+
- name: Setup Ruby (for CocoaPods)
38+
uses: ruby/setup-ruby@v1
39+
with:
40+
ruby-version: 3.3
41+
bundler-cache: true
42+
working-directory: example
43+
44+
- name: Install dependencies
45+
run: bun install
46+
47+
- name: Configure Git
48+
run: |
49+
git config user.name "github-actions[bot]"
50+
git config user.email "github-actions[bot]@users.noreply.github.com"
51+
52+
- name: Copy README to package
53+
run: cp README.md packages/react-native-quick-crypto/README.md
54+
55+
- name: Release package to npm
56+
working-directory: packages/react-native-quick-crypto
57+
run: |
58+
if [ "${{ inputs.dry-run }}" = "true" ]; then
59+
bun release ${{ inputs.version }} --dry-run --ci
60+
else
61+
bun release ${{ inputs.version }} --ci
62+
fi
63+
env:
64+
NPM_CONFIG_PROVENANCE: true
65+
66+
- name: Create Git tag and GitHub release
67+
run: |
68+
if [ "${{ inputs.dry-run }}" = "true" ]; then
69+
bun run release-it ${{ inputs.version }} --dry-run --ci
70+
else
71+
bun run release-it ${{ inputs.version }} --ci
72+
fi
73+
env:
74+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

bun.lock

Lines changed: 2396 additions & 3849 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bunfig.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[install]
2+
publicHoistPattern = ["@react-native*", "react-native", "react"]

example/Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ gem 'bigdecimal'
1414
gem 'logger'
1515
gem 'benchmark'
1616
gem 'mutex_m'
17+
gem 'rexml', '>= 3.4.2'

example/Gemfile.lock

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ GEM
8888
netrc (0.11.0)
8989
nkf (0.2.0)
9090
public_suffix (4.0.7)
91-
rexml (3.3.9)
91+
rexml (3.4.4)
9292
ruby-macho (2.5.1)
9393
securerandom (0.3.1)
9494
typhoeus (1.4.1)
@@ -114,6 +114,7 @@ DEPENDENCIES
114114
concurrent-ruby (< 1.3.4)
115115
logger
116116
mutex_m
117+
rexml (>= 3.4.2)
117118
xcodeproj (< 1.26.0)
118119

119120
RUBY VERSION

example/ios/Podfile.lock

Lines changed: 165 additions & 165 deletions
Large diffs are not rendered by default.

example/ios/QuickCryptoExample.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@
396396
"-DFOLLY_HAVE_CLOCK_GETTIME=1",
397397
);
398398
OTHER_LDFLAGS = "$(inherited)";
399-
REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native";
399+
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
400400
SDKROOT = iphoneos;
401401
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
402402
SWIFT_ENABLE_EXPLICIT_MODULES = NO;
@@ -481,7 +481,7 @@
481481
"-DFOLLY_HAVE_CLOCK_GETTIME=1",
482482
);
483483
OTHER_LDFLAGS = "$(inherited)";
484-
REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native";
484+
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
485485
SDKROOT = iphoneos;
486486
SWIFT_ENABLE_EXPLICIT_MODULES = NO;
487487
USE_HERMES = true;

example/metro.config.cjs

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
22
const path = require('path');
3-
const exclusionList = require('metro-config/private/defaults/exclusionList');
4-
const escape = require('escape-string-regexp');
5-
const pack = require('../package.json');
63

74
const root = path.resolve(__dirname, '..');
8-
const peerModules = Object.keys({ ...pack.peerDependencies });
5+
const packagesDir = path.join(root, 'packages');
96

107
/**
118
* Metro configuration
@@ -16,20 +13,13 @@ const peerModules = Object.keys({ ...pack.peerDependencies });
1613
const config = {
1714
watchFolders: [root],
1815

19-
// We need to make sure that only one version is loaded for peerDependencies
20-
// So we blacklist them at the root, and alias them to the versions in example's node_modules
2116
resolver: {
22-
blacklistRE: exclusionList(
23-
peerModules.map(
24-
m => new RegExp(`^${escape(path.join(root, 'node_modules', m))}\\/.*$`),
25-
),
26-
),
27-
17+
nodeModulesPaths: [
18+
path.join(__dirname, 'node_modules'),
19+
path.join(root, 'node_modules'),
20+
packagesDir,
21+
],
2822
extraNodeModules: {
29-
...peerModules.reduce((acc, name) => {
30-
acc[name] = path.join(__dirname, 'node_modules', name);
31-
return acc;
32-
}, {}),
3323
stream: require.resolve('readable-stream'),
3424
},
3525
},

example/package.json

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
"@noble/ciphers": "^2.0.1",
2626
"@noble/curves": "^1.7.0",
2727
"@noble/hashes": "^1.5.0",
28-
"@react-navigation/bottom-tabs": "^6.6.1",
29-
"@react-navigation/native": "^6.1.18",
30-
"@react-navigation/native-stack": "^6.11.0",
28+
"@react-navigation/bottom-tabs": "^7.8.6",
29+
"@react-navigation/native": "^7.1.19",
30+
"@react-navigation/native-stack": "^7.8.0",
3131
"buffer": "6.0.3",
3232
"chai": "<5.0.0",
3333
"crypto-browserify": "^3.12.0",
@@ -40,16 +40,18 @@
4040
"react-native-quick-base64": "2.2.2",
4141
"react-native-quick-crypto": "workspace:*",
4242
"react-native-safe-area-context": "^5.2.2",
43-
"react-native-screens": "4.15.4",
43+
"react-native-screens": "4.18.0",
4444
"react-native-vector-icons": "^10.1.0",
4545
"readable-stream": "4.5.2",
46+
"safe-buffer": "^5.2.1",
4647
"tinybench": "^3.0.6",
4748
"util": "0.12.5"
4849
},
4950
"devDependencies": {
5051
"@babel/core": "7.28.4",
5152
"@babel/plugin-transform-class-static-block": "7.26.0",
5253
"@babel/preset-env": "7.26.0",
54+
"@babel/preset-typescript": "^7.28.5",
5355
"@babel/runtime": "7.28.4",
5456
"@react-native-community/cli": "20.0.0",
5557
"@react-native-community/cli-platform-android": "20.0.0",
@@ -58,12 +60,12 @@
5860
"@react-native/eslint-config": "0.81.1",
5961
"@react-native/metro-config": "0.81.1",
6062
"@react-native/typescript-config": "0.81.1",
61-
"@types/jest": "^29.5.13",
6263
"@tsconfig/react-native": "^3.0.5",
6364
"@types/chai": "<5.0.0",
65+
"@types/jest": "^29.5.13",
6466
"@types/react": "^19.1.0",
65-
"@types/react-test-renderer": "^19.1.0",
6667
"@types/react-native-vector-icons": "^6.4.18",
68+
"@types/react-test-renderer": "^19.1.0",
6769
"babel-jest": "29.7.0",
6870
"babel-plugin-module-resolver": "5.0.2",
6971
"react-test-renderer": "19.1.0",

0 commit comments

Comments
 (0)