Skip to content
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

SNOW-896752 - Add node20 on Ubuntu to github action tests #651

Merged
merged 4 commits into from
Oct 2, 2023
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
66 changes: 52 additions & 14 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ jobs:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4
- name: Build
shell: bash
env:
WHITESOURCE_API_KEY: ${{ secrets.WHITESOURCE_API_KEY }}
run: ./ci/build.sh
- name: Upload Build Artifact
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v3
with:
name: artifacts
path: artifacts
Expand All @@ -49,19 +49,20 @@ jobs:
fail-fast: false
matrix:
cloud: [ 'AWS', 'AZURE', 'GCP' ]
nodeVersion: [ '14.x', '16.x', '18.x']
nodeVersion: [ '14.x', '16.x', '18.x', '20.x']
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.nodeVersion }}
- uses: actions/setup-python@v1
- uses: actions/setup-python@v4
with:
python-version: '3.7'
- name: Download Build Artifacts
uses: actions/download-artifact@v1
uses: actions/download-artifact@v3
with:
name: artifacts
path: artifacts
- name: Install Homebrew Bash
shell: bash
run: brew install bash
Expand All @@ -86,20 +87,21 @@ jobs:
fail-fast: false
matrix:
cloud: [ 'AWS', 'AZURE', 'GCP' ]
nodeVersion: [ '14.x', '16.x', '18.x']
nodeVersion: [ '14.x', '16.x', '18.x', '20.x']
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.nodeVersion }}
- uses: actions/setup-python@v1
- uses: actions/setup-python@v4
with:
python-version: '3.7'
architecture: 'x64'
- name: Download Build Artifacts
uses: actions/download-artifact@v1
uses: actions/download-artifact@v3
with:
name: artifacts
path: artifacts
- name: Tests
shell: cmd
env:
Expand All @@ -117,15 +119,51 @@ jobs:
image: [ 'nodejs-centos7-node14', 'nodejs-centos7-fips']
cloud: [ 'AWS', 'AZURE', 'GCP' ]
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4
- name: Download Build Artifacts
uses: actions/download-artifact@v1
uses: actions/download-artifact@v3
with:
name: artifacts
path: artifacts
- name: Tests
shell: bash
env:
PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }}
CLOUD_PROVIDER: ${{ matrix.cloud }}
TARGET_DOCKER_TEST_IMAGE: ${{ matrix.image }}
run: ./ci/test.sh

test-ubuntu:
needs: build
name: Tests on Ubuntu
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
cloud: [ 'AWS', 'AZURE', 'GCP' ]
nodeVersion: ['18.x', '20.x']
sfc-gh-dprzybysz marked this conversation as resolved.
Show resolved Hide resolved
steps:
- uses: actions/checkout@v4
- name: Download Build Artifacts
uses: actions/download-artifact@v3
with:
name: artifacts
path: artifacts
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Tests
shell: bash
env:
PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }}
CLOUD_PROVIDER: ${{ matrix.cloud }}
run: ./ci/test_ubuntu.sh
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
with:
# without the token code cov may fail because of Github limits https://github.com/codecov/codecov-action/issues/557
token: ${{ secrets.CODE_COV_UPLOAD_TOKEN }}
fail_ci_if_error: true


4 changes: 4 additions & 0 deletions ci/test_mac.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,15 @@
#
# Test NodeJS for Mac
#

echo "DOWNLOADED"
echo $(ls /Users/runner/work/snowflake-connector-nodejs/snowflake-connector-nodejs/)
set -o pipefail
THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $THIS_DIR/_init.sh
sfc-gh-dprzybysz marked this conversation as resolved.
Show resolved Hide resolved
source $THIS_DIR/scripts/set_git_info.sh


export WORKSPACE=$GITHUB_WORKSPACE
export SOURCE_ROOT=$GITHUB_WORKSPACE
export SHOULD_GENERATE_COVERAGE_REPORT=1
Expand Down
23 changes: 23 additions & 0 deletions ci/test_ubuntu.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash -e
#
# Test NodeJS for Ubuntu
#

echo "DOWNLOADED"
echo $(ls /Users/runner/work/snowflake-connector-nodejs/snowflake-connector-nodejs/)
set -o pipefail
THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $THIS_DIR/_init.sh
source $THIS_DIR/scripts/set_git_info.sh

export WORKSPACE=$GITHUB_WORKSPACE
export SOURCE_ROOT=$GITHUB_WORKSPACE
export SHOULD_GENERATE_COVERAGE_REPORT=1
sfc-gh-dprzybysz marked this conversation as resolved.
Show resolved Hide resolved
export SHOULD_SKIP_PROXY_TESTS=1

python3 --version
python3 -m venv venv
source venv/bin/activate
pip3 install -U pip
pip3 install -U snowflake-connector-python
$THIS_DIR/container/test_component.sh $SHOULD_GENERATE_COVERAGE_REPORT
2 changes: 1 addition & 1 deletion test/integration/testProxyExecute.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const os = require('os');

describe('Execute proxy test', function () {
const platform = os.platform();
if (platform === 'linux') {
if (platform === 'linux' && !process.env.SHOULD_SKIP_PROXY_TESTS) {
let connection;
const createNodeTSQL = 'create or replace table NodeT(colA number, colB varchar)';
const selectAllSQL = 'select * from NodeT';
Expand Down
Loading