Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
30 changes: 12 additions & 18 deletions .kokoro/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,35 +7,29 @@ cd "$KOKORO_ARTIFACTS_DIR/git/serverless/functions-framework-nodejs"
### Configure Airlock
# APT
rm -f /etc/apt/sources.list.d/* /etc/apt/sources.list
echo 'deb https://us-apt.pkg.dev/remote/artifact-foundry-prod/debian-3p-remote-bookworm bookworm main' | \
tee -a /etc/apt/sources.list.d/artifact-registry.list
echo 'deb https://us-apt.pkg.dev/remote/artifact-foundry-prod/debian-3p-remote-bookworm bookworm main' |
tee -a /etc/apt/sources.list.d/artifact-registry.list

# NPM
cat > .npmrc <<EOF
cat >.npmrc <<EOF
registry=https://us-npm.pkg.dev/artifact-foundry-prod/npm-3p-trusted/
//us-npm.pkg.dev/artifact-foundry-prod/npm-3p-trusted/:always-auth=true
EOF
cp .npmrc "$HOME/.npmrc"

### Build all package.json
### Build root package
ARTIFACTS="${KOKORO_ARTIFACTS_DIR}/artifacts"
mkdir "${ARTIFACTS}"

readarray -t package_jsons < <(find "." -type d -name "node_modules" -prune -o -name "package.json" -print)
for package_file in "${package_jsons[@]}"; do
echo "Building package ${package_file}"
package_dir="$(dirname "${package_file}")"
pushd "${package_dir}"
npm ci
# npm pack and npm publish needs to be distinct steps to ensure the
# artifacts will be stored locally for attestation generation.
npm pack --pack-destination="${ARTIFACTS}"
popd
done
mkdir -p "${ARTIFACTS}"

echo "Building root package"
npm ci
# npm pack and npm publish needs to be distinct steps to ensure the
# artifacts will be stored locally for attestation generation.
npm pack --pack-destination="${ARTIFACTS}"

### Authenticate to OSS Exit Gate
# Replace default registry with OSS Exit Gate
cat > .npmrc <<EOF
cat >.npmrc <<EOF
registry=https://us-npm.pkg.dev/oss-exit-gate-prod/ff-releases--npm/
//us-npm.pkg.dev/oss-exit-gate-prod/ff-releases--npm/:always-auth=true
EOF
Expand Down
21 changes: 21 additions & 0 deletions .louhi/flow.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
apiVersion: louhi/v2
kind: Flow
metadata:
name: Build and Release
spec:
sourceRepositoryName: functions-framework-nodejs
environmentName: default
pipeline:
stages:
- name: Build
index: 1
stageTypeName: Build
- name: Release
index: 2
stageTypeName: Release
triggers:
- name: Tag Created Trigger
type: tag-trigger
parameters:
repositoryName: functions-framework-nodejs
tagRegularExpression: "^v[0-9]+[\\.0-9]*$"
9 changes: 9 additions & 0 deletions .louhi/repository.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: louhi/v2
kind: Repository
metadata:
name: functions-framework-nodejs
spec:
url: https://serverless.googlesource.com/functions-framework-nodejs
branchFilter: ^(main)$
tagFilter: null
triggerOnInitialization: false
10 changes: 10 additions & 0 deletions .louhi/stage_type_build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: louhi/v2
kind: StageType
metadata:
name: Build
spec:
description: 'Build and test Functions Framework Node.js'
runtime: kokoro
---
kokoroJobName: cloud-functions-framework-team/functions-framework-releases/nodejs/build
injectLouhiParameters: true
10 changes: 10 additions & 0 deletions .louhi/stage_type_release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: louhi/v2
kind: StageType
metadata:
name: Release
spec:
description: 'Release Functions Framework Node.js to npm'
runtime: kokoro
---
kokoroJobName: cloud-functions-framework-team/functions-framework-releases/nodejs/release
injectLouhiParameters: true
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
omit-lockfile-registry-resolved=true
Loading
Loading