Skip to content

Fuse the calls to searchForIssuesUsingJql when possible + memoizati… #4942

Fuse the calls to searchForIssuesUsingJql when possible + memoizati…

Fuse the calls to searchForIssuesUsingJql when possible + memoizati… #4942

Workflow file for this run

name: CI
on:
push:
branches:
- main
paths-ignore:
- '**.md'
pull_request:
branches:
- main
paths-ignore:
- '**.md'
workflow_dispatch:
jobs:
connector-acceptance-test:
if: ${{ github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' }} # Skip PRs
name: Connector Acceptance Test
runs-on: ubuntu-latest
timeout-minutes: 45
env:
FORCE_COLOR: true
steps:
- name: Check out
uses: actions/checkout@v4
- name: Run Jenkins server
run: |
mkdir -p ${{ github.workspace }}/sources/jenkins-source/test_files/jenkins/data/secrets/
docker run -d -u 0 -i --name jenkins -p 8080:8080 -p 50000:50000 -v ${{ github.workspace }}/sources/jenkins-source/test_files/jenkins/data:/var/jenkins_home jenkins/jenkins:lts-jdk11
echo "Waiting until Jenkins is up"
waiting=0
until curl -s -I -X GET http://127.0.0.1:8080; do
docker ps -a
let waiting+=3
sleep 3
if [ $waiting -eq 120 ]; then
echo "Jenkins server did not respond within 120 seconds"
exit 42
fi
done
sudo chown -R $USER:$USER ${{ github.workspace }}/sources/jenkins-source/test_files/jenkins/data
- name: Source Acceptance Test
env:
AGILEACCELERATOR_SOURCE_TEST_CONFIG: ${{ secrets.AGILEACCELERATOR_SOURCE_TEST_CONFIG }}
AZUREACTIVEDIRECTORY_SOURCE_TEST_CONFIG: ${{ secrets.AZUREACTIVEDIRECTORY_SOURCE_TEST_CONFIG }}
AZUREPIPELINE_SOURCE_TEST_CONFIG: ${{ secrets.AZUREPIPELINE_SOURCE_TEST_CONFIG }}
AZURE_REPOS_SOURCE_TEST_CONFIG: ${{ secrets.AZURE_REPOS_SOURCE_TEST_CONFIG }}
BACKLOG_SOURCE_TEST_CONFIG: ${{ secrets.BACKLOG_SOURCE_TEST_CONFIG }}
BAMBOOHR_SOURCE_TEST_CONFIG: ${{ secrets.BAMBOOHR_SOURCE_TEST_CONFIG }}
BITBUCKET_SOURCE_TEST_CONFIG: ${{ secrets.BITBUCKET_SOURCE_TEST_CONFIG }}
BUILDKITE_SOURCE_TEST_CONFIG: ${{ secrets.BUILDKITE_SOURCE_TEST_CONFIG }}
CIRCLECI_SOURCE_TEST_CONFIG: ${{ secrets.CIRCLECI_SOURCE_TEST_CONFIG }}
CLICKUP_SOURCE_TEST_CONFIG: ${{ secrets.CLICKUP_SOURCE_TEST_CONFIG }}
CUSTOMER_IO_SOURCE_TEST_CONFIG: ${{ secrets.CUSTOMER_IO_SOURCE_TEST_CONFIG }}
DOCKER_SOURCE_TEST_CONFIG: ${{ secrets.DOCKER_SOURCE_TEST_CONFIG }}
FIREHYDRANT_SOURCE_TEST_CONFIG: ${{ secrets.FIREHYDRANT_SOURCE_TEST_CONFIG }}
GOOGLECALENDAR_SOURCE_TEST_CONFIG: ${{ secrets.GOOGLECALENDAR_SOURCE_TEST_CONFIG }}
HARNESS_SOURCE_TEST_CONFIG: ${{ secrets.HARNESS_SOURCE_TEST_CONFIG }}
PAGERDUTY_SOURCE_TEST_CONFIG: ${{ secrets.PAGERDUTY_SOURCE_TEST_CONFIG }}
SHORTCUT_SOURCE_TEST_CONFIG: ${{ secrets.SHORTCUT_SOURCE_TEST_CONFIG }}
SQUADCAST_SOURCE_TEST_CONFIG: ${{ secrets.SQUADCAST_SOURCE_TEST_CONFIG }}
STATUSPAGE_SOURCE_TEST_CONFIG: ${{ secrets.STATUSPAGE_SOURCE_TEST_CONFIG }}
run: |
for i in $(ls -d sources/*/)
do
source=$(echo $i | cut -f2 -d'/')
if grep -Fxq "$source" .github/workflows/skip-test-sources.txt
then
echo "Skipping $source acceptance tests"
else
./scripts/source-acceptance-test.sh $source
fi
done
- name: Stop Jenkins server
if: ${{ github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' }} # Skip PRs
run: |
docker stop jenkins
docker rm jenkins
test:
name: Test
runs-on: ubuntu-latest
timeout-minutes: 30
env:
FORCE_COLOR: true
HUSKY_SKIP_INSTALL: 1
HUSKY_SKIP_HOOKS: 1
HUSKY: 0
steps:
- name: Check out
uses: actions/checkout@v4
- name: Cache Node modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Install dependencies
run: npm install -g lerna @lerna/legacy-package-management && lerna bootstrap --hoist
- name: Test
env:
NODE_OPTIONS: '--max-old-space-size=4096'
run: lerna run test-cov
test-packaging:
if: ${{ github.ref != 'refs/heads/main' && github.event_name != 'workflow_dispatch' }} # Only on PRs
name: Packaging Test
runs-on: ubuntu-latest
timeout-minutes: 15
env:
FORCE_COLOR: true
HUSKY_SKIP_INSTALL: 1
HUSKY_SKIP_HOOKS: 1
HUSKY: 0
steps:
- name: Check out
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 18.x
registry-url: https://registry.npmjs.org
- name: Install dependencies
run: npm install -g lerna @lerna/legacy-package-management && lerna bootstrap --hoist
- name: Test Airbyte CDK package
run: |
cd faros-airbyte-cdk && \
npm publish --dry-run
- name: Test Airbyte Common package
run: |
cd faros-airbyte-common && \
npm publish --dry-run
- name: Test Faros Destination package
run: |
cd destinations/airbyte-faros-destination && \
npm publish --dry-run