You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by ro...@apache.org on 2022/09/08 18:20:31 UTC

[beam] branch master updated: Merge pull request #23092 Cross-language tests in github actions.

This is an automated email from the ASF dual-hosted git repository.

robertwb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new f0cd27596e3 Merge pull request #23092 Cross-language tests in github actions.
f0cd27596e3 is described below

commit f0cd27596e3a59d6ee013ee2db232d24f46ad70a
Author: Robert Bradshaw <ro...@gmail.com>
AuthorDate: Thu Sep 8 11:20:20 2022 -0700

    Merge pull request #23092 Cross-language tests in github actions.
---
 .github/workflows/typescript_tests.yml | 35 ++++++++++++++++++++++++++++++++++
 sdks/typescript/test/io_test.ts        | 22 ++++++++++++---------
 2 files changed, 48 insertions(+), 9 deletions(-)

diff --git a/.github/workflows/typescript_tests.yml b/.github/workflows/typescript_tests.yml
index 381a3076079..be557f56b08 100644
--- a/.github/workflows/typescript_tests.yml
+++ b/.github/workflows/typescript_tests.yml
@@ -68,3 +68,38 @@ jobs:
       - run: npm test
         working-directory: ./sdks/typescript
 #        if: ${{ matrix.os != 'ubuntu-latest' }}
+
+  typescript_xlang_tests:
+    name: 'TypeScript xlang Tests'
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v3
+        with:
+          persist-credentials: false
+          submodules: recursive
+      - name: Install node
+        uses: actions/setup-node@v3
+        with:
+          node-version: '16'
+      - name: Install python
+        uses: actions/setup-python@v4
+        with:
+          python-version: 3.8
+      - name: Setup Beam Python
+        working-directory: ./sdks/python
+        run: |
+          pip install pip setuptools --upgrade
+          pip install -r build-requirements.txt
+          pip install 'pandas>=1.0,<1.5'
+          python setup.py develop
+      - run: npm ci
+        working-directory: ./sdks/typescript
+      - run: npm run build
+        working-directory: ./sdks/typescript
+      - run: npm test -- --grep "@xlang"
+        working-directory: ./sdks/typescript
+        env:
+          BEAM_SERVICE_OVERRIDES: '{"python:*": "python"}'
diff --git a/sdks/typescript/test/io_test.ts b/sdks/typescript/test/io_test.ts
index 3d4a2e03085..a6fd2743aaa 100644
--- a/sdks/typescript/test/io_test.ts
+++ b/sdks/typescript/test/io_test.ts
@@ -59,13 +59,17 @@ before(() => {
 
 after(() => subprocessCache.stopAll());
 
+function xlang_it(name, fn) {
+  return (process.env.BEAM_SERVICE_OVERRIDES ? it : it.skip)(name + ' @xlang', fn);
+}
+
 // These depends on fixes that will be released in 2.40.
 // They can be run manually by setting an environment variable
-// expor tBEAM_SERVICE_OVERRIDES = '{python:*": "/path/to/dev/venv/bin/python"}'
+// export BEAM_SERVICE_OVERRIDES = '{python:*": "/path/to/dev/venv/bin/python"}'
 // TODO: Automatically set up/depend on such a venv in dev environments and/or
 // testing infra.
-xdescribe("IO Tests", function () {
-  it("textio file test", async function () {
+describe("IO Tests", function () {
+  xlang_it("textio file test", async function () {
     const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "apache-beam-test"));
 
     await createRunner().run(async (root) => {
@@ -83,7 +87,7 @@ xdescribe("IO Tests", function () {
     });
   }).timeout(15000);
 
-  it("textio csv file test", async function () {
+  xlang_it("textio csv file test", async function () {
     const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "apache-beam-test"));
 
     await createRunner().run(async (root) => {
@@ -103,7 +107,7 @@ xdescribe("IO Tests", function () {
     });
   }).timeout(15000);
 
-  it("textio json file test", async function () {
+  xlang_it("textio json file test", async function () {
     const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "apache-beam-test"));
 
     await createRunner().run(async (root) => {
@@ -122,7 +126,7 @@ xdescribe("IO Tests", function () {
     });
   }).timeout(15000);
 
-  it("parquetio file test", async function () {
+  xlang_it("parquetio file test", async function () {
     const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "apache-beam-test"));
 
     await createRunner().run(async (root) => {
@@ -153,7 +157,7 @@ xdescribe("IO Tests", function () {
     });
   }).timeout(15000);
 
-  it("avroio file test", async function () {
+  it.skip("avroio file test", async function () {
     // Requires access to a distributed filesystem.
     const options = {
       //      runner: "dataflow",
@@ -190,7 +194,7 @@ xdescribe("IO Tests", function () {
     });
   }).timeout(60000);
 
-  it("bigqueryio test", async function () {
+  it.skip("bigqueryio test", async function () {
     // This only passes when it is run on its own.
     // TODO: Figure out what is going on here.
     // The error is a java.lang.NullPointerException at
@@ -264,7 +268,7 @@ xdescribe("IO Tests", function () {
     }
   }).timeout(300000);
 
-  it("pubsub test", async function () {
+  it.skip("pubsub test", async function () {
     const options = {
       runner: "dataflow",
       project: "apache-beam-testing",