-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(core): CI pipeline to build and test CPP SDK
- Loading branch information
1 parent
e1f846a
commit 4398283
Showing
2 changed files
with
348 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,194 @@ | ||
name: CXX build | ||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
branches: | ||
- 'main' | ||
- 'next' | ||
types: | ||
- opened | ||
|
||
env: | ||
HUSKY: 0 | ||
jobs: | ||
thunder: | ||
name: Build Thunder Libraries | ||
runs-on: ubuntu-latest | ||
container: | ||
image: kevinshahfws/node-c:3.0 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
|
||
- name: Clone and Install Thunder | ||
id: install_thunder | ||
run: | | ||
.github/workflows/utils.sh cloneAndInstallThunder | ||
- name: Upload the library artifact | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: thunder | ||
path: /__w/firebolt-apis/install/ | ||
|
||
openrpc: | ||
name: Build Openrpc Artifacts | ||
runs-on: ubuntu-latest | ||
container: | ||
image: kevinshahfws/node-c:3.0 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
repo-token: ${{ secrets.SEMANTIC_RELEASE_BOT_PAT }} | ||
persist-credentials: false | ||
- name: Setup Node.js | ||
uses: actions/setup-node@v2 | ||
with: | ||
node-version: 'lts/*' | ||
- name: Set up NPM token | ||
env: | ||
NPM_TOKEN: ${{ secrets.SEMANTIC_RELEASE_NPM_TOKEN }} | ||
run: 'echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc' | ||
|
||
- name: Cache npm dependencies | ||
uses: actions/cache@v3 | ||
with: | ||
path: ~/.npm | ||
key: deps-node-modules-${{ hashFiles('package-lock.json') }} | ||
|
||
- name: Install dependencies | ||
run: npm ci | ||
|
||
- name: Set file permissions | ||
run: | | ||
chmod -R 755 ./ | ||
chown -R $(id -u):$(id -g) ./ | ||
- name: Build Artifacts | ||
run: | | ||
npm run dist | ||
- name: Upload Core SDK | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: core-sdk | ||
path: | | ||
package.json | ||
package-lock.json | ||
dist | ||
src/sdks/core | ||
- name: Upload Manage SDK | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: manage-sdk | ||
path: | | ||
package.json | ||
package-lock.json | ||
dist | ||
src/sdks/manage | ||
- name: Upload Discovery SDK | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: discovery-sdk | ||
path: | | ||
package.json | ||
package-lock.json | ||
dist | ||
src/sdks/discovery | ||
core_sdk: | ||
name: Build Core SDK | ||
needs: [thunder, openrpc] | ||
runs-on: ubuntu-latest | ||
container: | ||
image: kevinshahfws/node-c:3.0 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
|
||
- name: Download Core SDK | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: core-sdk | ||
path: /__w/core-sdk/ | ||
|
||
- name: Download Thunder | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: thunder | ||
path: /__w/thunder/install/ | ||
|
||
- name: Install npm dependencies | ||
run: | | ||
cd /__w/core-sdk/ | ||
npm ci | ||
- name: Build CXX Core SDK | ||
run: | | ||
.github/workflows/utils.sh buildCoreCPPSDK | ||
manage_sdk: | ||
name: Build Manage SDK | ||
needs: [thunder, openrpc] | ||
runs-on: ubuntu-latest | ||
container: | ||
image: kevinshahfws/node-c:3.0 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
|
||
- name: Download Manage SDK | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: manage-sdk | ||
path: /__w/manage-sdk/ | ||
|
||
- name: Download Thunder | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: thunder | ||
path: /__w/thunder/install/ | ||
|
||
- name: Install npm dependencies | ||
run: | | ||
cd /__w/manage-sdk/ | ||
npm ci | ||
- name: Build CXX manage SDK | ||
run: | | ||
.github/workflows/utils.sh buildManageCPPSDK | ||
dicovery_sdk: | ||
name: Build Discovery SDK | ||
needs: [thunder, openrpc] | ||
runs-on: ubuntu-latest | ||
container: | ||
image: kevinshahfws/node-c:3.0 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
|
||
- name: Download Discovery SDK | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: discovery-sdk | ||
path: /__w/discovery-sdk/ | ||
|
||
- name: Download Thunder | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: thunder | ||
path: /__w/thunder/install/ | ||
|
||
- name: Install npm dependencies | ||
run: | | ||
cd /__w/discovery-sdk/ | ||
npm ci | ||
- name: Build CXX Discovery SDK | ||
run: | | ||
.github/workflows/utils.sh buildDiscoveryCPPSDK |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters