Skip to content

chore: move CI to GHA CodeBuild Runners #1422

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 22 commits into from
Jun 27, 2024
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# This workflow performs tests in JavaScript.
name: ESDK JavaScript CI Tests

on: [pull_request, workflow_call]

jobs:
CI:
strategy:
matrix:
node: [16, 18.3.0, 20.4.0]
fail-fast: false
runs-on: codebuild-AWS-ESDK-JS-Release-${{ github.run_id }}-${{ github.run_attempt }}-ubuntu-5.0-large
permissions:
id-token: write
contents: read
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/setup-node@v4
with:
node-version: ${{matrix.node}}
- name: Configure AWS Credentials for Tests
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: us-west-2
role-to-assume: arn:aws:iam::370957321024:role/GitHub-CI-MPL-Dafny-Role-us-west-2
role-session-name: JavaScriptTests
- name: Test Node ${{matrix.node}}
env:
NODE_OPTIONS: "--max-old-space-size=4096"
run: |
npm ci --unsafe-perm
npm run build
npm run coverage-node
npm run coverage-merge
npm run coverage-check
- name: Test compliance
env:
NODE_OPTIONS: "--max-old-space-size=4096"
run: |
npm ci --unsafe-perm
npm run lint
npm run test_conditions
- name: Run Test Vectors Node ${{matrix.node}}
env:
NODE_OPTIONS: "--max-old-space-size=4096"
NPM_CONFIG_UNSAFE_PERM: true
PUBLISH_LOCAL: true
run: |
npm ci --unsafe-perm
npm run build
npm run verdaccio-publish
npm run verdaccio-node-decrypt
npm run verdaccio-node-encrypt
- name: Run Test Vectors Browser node ${{matrix.node}}
env:
NODE_OPTIONS: "--max-old-space-size=4096"
NPM_CONFIG_UNSAFE_PERM: true
PUBLISH_LOCAL: true
run: |
npm ci --unsafe-perm
npm run build
npm run verdaccio-publish
npm run verdaccio-browser-decrypt
npm run verdaccio-browser-encrypt
12 changes: 12 additions & 0 deletions .github/workflows/daily_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# This workflow runs every weekday at 15:00 UTC (8AM PDT)
name: Daily CI

on:
schedule:
- cron: "00 15 * * 1-5"

jobs:
DAILY_CI:
# Don't run the cron builds on forks
if: github.event_name != 'schedule' || github.repository_owner == 'aws'
uses: ./.github/workflows/ci.yml
2 changes: 1 addition & 1 deletion modules/encrypt-node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"@aws-crypto/material-management-node": "file:../material-management-node",
"@aws-crypto/serialize": "file:../serialize",
"@types/duplexify": "^3.6.0",
"duplexify": "^4.1.1",
"duplexify": "^4.1.3",
"readable-stream": "^3.6.0",
"tslib": "^2.2.0"
},
Expand Down
1 change: 1 addition & 0 deletions modules/material-management/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ export interface AwsEsdkKeyObject {
export(options?: { format: 'jwk' }): AwsEsdkJsonWebKey
symmetricSize?: number
type: AwsEsdkKeyObjectType
equals(otherKeyObject: AwsEsdkKeyObject): boolean
}
export type AwsEsdkCreateSecretKey = (key: Uint8Array) => AwsEsdkKeyObject

Expand Down
Loading
Loading