Skip to content

Commit

Permalink
prebuild workflow updates
Browse files Browse the repository at this point in the history
  • Loading branch information
thejcfactor committed Jul 22, 2024
1 parent 212c9c6 commit f5cfee0
Showing 1 changed file with 134 additions and 1 deletion.
135 changes: 134 additions & 1 deletion .github/workflows/prebuilds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,137 @@ jobs:
retention-days: 1
name: couchnode-columnar-${{ inputs.version }}-sdist
path: |
./sdist/*.tgz
./sdist/*.tgz
- name: Set npm pack requirements
run: |
mkdir npmpack-reqs
cd npmpack-reqs
cp ../tsconfig.json .
cp -r ../lib .
cp ../.npmignore .
ls -alh
- uses: actions/upload-artifact@v4
with:
retention-days: 1
name: couchnode-columnar-${{ inputs.version }}-npmpack-reqs
path: |
./npmpack-reqs
linux_x86_64_prebuild:
runs-on: ubuntu-20.04
needs: sdist
steps:
- uses: actions/download-artifact@v4
with:
name: couchnode-columnar-${{ inputs.version }}-sdist
- uses: actions/download-artifact@v4
with:
name: couchnode-columnar-${{ inputs.version }}-npmpack-reqs
- name: Extract sdist source
run: |
ls -alh
tar -xvzf couchbase-columnar-$COUCHNODE_COLUMNAR_VERSION.tgz
cp -r package/** .
rm -rf package
env:
COUCHNODE_COLUMNAR_VERSION: ${{ inputs.version }}
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "18.x"
- name: Confirm Node version
run: node --version
- name: Install dependencies
run: |
npm install --ignore-scripts
- name: Build binary
run: |
npm run prebuild -- --use-boringssl
- name: Reduce prebuild size
run: |
cd build/Release
ls -alh
cp couchbase_impl.node couchbase_impl.orig.node
objcopy --strip-debug --strip-unneeded couchbase_impl.node
ls -alh
cd ../..
mv build/Release/couchbase_impl.node .
rm -rf build
mkdir -p build/Release
mv couchbase_impl.node build/Release
- name: Create package
id: create_package
run: |
npm run prepare
npm pack
ls -alh
PKG_NAME=$(find . -name '*.tgz' | cut -c 3-)
echo "package_name=${PKG_NAME}" >> "$GITHUB_OUTPUT"
mkdir output
mv $PKG_NAME output
- uses: actions/upload-artifact@v4
with:
retention-days: 1
name: ${{ steps.create_package.outputs.package_name }}
path: |
./output/${{ steps.create_package.outputs.package_name }}
macos_arm64_prebuild:
runs-on: macos-14
needs: sdist
steps:
- uses: actions/download-artifact@v4
with:
name: couchnode-columnar-${{ inputs.version }}-sdist
- uses: actions/download-artifact@v4
with:
name: couchnode-columnar-${{ inputs.version }}-npmpack-reqs
- name: Extract sdist source
run: |
ls -alh
tar -xvzf couchbase-columnar-$COUCHNODE_COLUMNAR_VERSION.tgz
cp -r package/** .
rm -rf package
env:
COUCHNODE_COLUMNAR_VERSION: ${{ inputs.version }}
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "18.x"
- name: Confirm Node version
run: node --version
- name: Install dependencies
run: |
npm install --ignore-scripts
- name: Build binary
run: |
npm run prebuild -- --use-boringssl
- name: Reduce prebuild size
run: |
cd build/Release
ls -alh
cp couchbase_impl.node couchbase_impl.orig.node
xcrun strip -Sx couchbase_impl.node
ls -alh
cd ../..
mv build/Release/couchbase_impl.node .
rm -rf build
mkdir -p build/Release
mv couchbase_impl.node build/Release
- name: Create package
id: create_package
run: |
ls -alh
npm run prepare
npm pack
ls -alh
PKG_NAME=$(find . -name '*.tgz' | cut -c 3-)
echo "package_name=${PKG_NAME}" >> "$GITHUB_OUTPUT"
mkdir output
mv $PKG_NAME output
- uses: actions/upload-artifact@v4
with:
retention-days: 1
name: ${{ steps.create_package.outputs.package_name }}
path: |
./output/${{ steps.create_package.outputs.package_name }}

0 comments on commit f5cfee0

Please sign in to comment.