Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/prod-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
cache: 'npm'

- name: Install dependencies
run: npm ci --unsafe-perm
run: npm ci

- name: Configure AWS Credentials for Release
uses: aws-actions/configure-aws-credentials@v5
Expand Down
20 changes: 17 additions & 3 deletions .github/workflows/shared-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ on:

env:
NODE_OPTIONS: "--max-old-space-size=4096"
NPM_CONFIG_UNSAFE_PERM: true

jobs:
test:
Expand All @@ -37,10 +36,25 @@ jobs:
fetch-depth: 0
submodules: true

- name: Resolve Node.js version
id: node-version
env:
REQUESTED_NODE_VERSION: ${{ matrix.node-version }}
run: |
if [ "$REQUESTED_NODE_VERSION" = "latest" ]; then
# setup-node's `latest` takes the newest entry in nodejs.org/dist/index.json,
# which can be a prerelease (e.g. v27.0.0-alpha). Use the newest stable release.
version=$(curl -fsSL https://nodejs.org/dist/index.json | jq -r '[.[] | select(.version | test("-") | not)][0].version')
else
version="$REQUESTED_NODE_VERSION"
fi
echo "Using Node.js $version"
echo "version=$version" >> "$GITHUB_OUTPUT"

- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
node-version: ${{ steps.node-version.outputs.version }}
cache: 'npm'

- name: Configure AWS Credentials for Tests
Expand All @@ -51,7 +65,7 @@ jobs:
role-session-name: JavaScriptTests

- name: Install dependencies
run: npm ci --unsafe-perm
run: npm ci

- name: Build (for source code testing)
if: ${{ !inputs.test-published-packages }}
Expand Down
13 changes: 13 additions & 0 deletions modules/integration-browser/karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,19 @@ module.exports = function (config) {
test: /yauzl/,
use: 'null-loader',
},
{
// Our packages set "sideEffects": false in package.json. Since
// webpack 5.112, development builds use that flag to skip modules
// that are only re-exported (`export * from ...`), and they skip
// some that are needed, e.g. @aws-crypto/cache-material. The
// bundle still compiles, but the tests fail with "Cannot find
// module". `sideEffects: true` tells webpack to ignore the flag
// and include every module. This can't go in
// `optimization.sideEffects` because karma-webpack drops any
// `optimization` settings.
test: /\.js$/,
sideEffects: true,
},
]
},
mode: 'development',
Expand Down
Loading