From b42be2aea8700c238d3d78a9a2cf6e6e9f8a2505 Mon Sep 17 00:00:00 2001 From: Josh Radcliff Date: Fri, 11 Sep 2026 16:46:49 -0400 Subject: [PATCH] build: add workflow to run tests on PRs Fixes dependency for samples as well. Change-Id: Ifb4fcb7dd59f0679d270cb0779cfce0c15ddfebd --- .github/workflows/presubmit.yaml | 47 ++++++++++++++++++++++++++++++++ package-lock.json | 4 +-- samples/package.json | 4 +-- 3 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/presubmit.yaml diff --git a/.github/workflows/presubmit.yaml b/.github/workflows/presubmit.yaml new file mode 100644 index 0000000..601943b --- /dev/null +++ b/.github/workflows/presubmit.yaml @@ -0,0 +1,47 @@ +# Runs tests and formatting checks on pull requests targeted to main +permissions: + contents: read +name: Presubmit +on: + pull_request: + branches: + - main + +jobs: + lint: + name: Code Format Check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + with: + persist-credentials: false + - name: Set up Node.js + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 + with: + node-version: "20" + cache: 'npm' + - name: Install dependencies + run: npm ci + - name: Check formatting + run: npm run lint + + test: + name: Test (Node ${{ matrix.node-version }}) + needs: lint + strategy: + matrix: + node-version: ["18", "20", "22"] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + with: + persist-credentials: false + - name: Set up Node.js + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - name: Install dependencies + run: npm ci + - name: Run tests + run: npm test diff --git a/package-lock.json b/package-lock.json index 8e3a34b..18a2b06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4963,7 +4963,7 @@ "version": "0.1.0", "license": "Apache-2.0", "dependencies": { - "@google-ads/data-manager-util": "^0.3.0", + "@google-ads/data-manager-util": "^0.4.0", "@google-ads/datamanager": "^1.0.0", "csv-parser": "^3.0.0", "yargs": "^17.7.2" @@ -4978,7 +4978,7 @@ }, "util": { "name": "@google-ads/data-manager-util", - "version": "0.3.0", + "version": "0.4.0", "license": "Apache-2.0", "devDependencies": { "@types/chai": "^4.3.0", diff --git a/samples/package.json b/samples/package.json index 1c5d490..84a2c88 100644 --- a/samples/package.json +++ b/samples/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@google-ads/datamanager": "^1.0.0", - "@google-ads/data-manager-util": "^0.3.0", + "@google-ads/data-manager-util": "^0.4.0", "csv-parser": "^3.0.0", "yargs": "^17.7.2" }, @@ -26,4 +26,4 @@ "@types/yargs": "^17.0.33", "ts-node": "^10.9.2" } -} \ No newline at end of file +}