From 60cf21b5e7ebcee4ed41d254c98e253e95f0f01f Mon Sep 17 00:00:00 2001 From: eric sciple Date: Tue, 11 Feb 2020 18:17:37 -0500 Subject: [PATCH] standardize workflow test pattern --- .github/workflows/workflow.yml | 92 ++++++++++++++++++++++------------ __tests__/verify-java.ps1 | 11 ++++ __tests__/verify-java.sh | 13 +++++ 3 files changed, 84 insertions(+), 32 deletions(-) create mode 100644 __tests__/verify-java.ps1 create mode 100755 __tests__/verify-java.sh diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 805d4117..dda73067 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -1,8 +1,7 @@ name: Main workflow on: [push, pull_request] jobs: - run: - name: Run + build: runs-on: ${{ matrix.operating-system }} strategy: matrix: @@ -10,48 +9,77 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - - name: Setup Node.js 12.x + - name: Setup Node.js 12 uses: actions/setup-node@v1 with: node-version: 12.x - - name: npm install run: npm install - - name: Lint run: npm run format-check - - name: npm test run: npm test - run-with-proxy: - name: Run with proxy - runs-on: ubuntu-latest - services: - squid: - image: dakale/squid - ports: ['3128:3128'] - options: '--health-cmd "exit 0" --health-interval 3s' - env: - http_proxy: http://localhost:3128 - https_proxy: http://localhost:3128 + + test: + runs-on: ${{ matrix.operating-system }} + strategy: + matrix: + operating-system: [ubuntu-latest, windows-latest] steps: - - name: Block non proxied traffic - run: | - echo "127.0.0.0 registry.npm.js nodejs.org github.com api.github.com download.java.net static.azul.com" | sudo tee -a /etc/hosts - name: Checkout uses: actions/checkout@v2 - - - name: Setup Node.js 12.x - uses: actions/setup-node@v1 + - name: Clear tool cache + if: runner.os != 'windows' + run: mv "${{ runner.tool_cache }}" "${{ runner.tool_cache }}.old" + - name: Clear tool cache (Windows) + if: runner.os == 'windows' + run: move "${{ runner.tool_cache }}" "${{ runner.tool_cache }}.old" + - name: Setup Java 13 + uses: ./ with: - node-version: 12.x + java-version: 13.0.2 + - name: Verify Java 13 + if: runner.os != 'windows' + run: __tests__/verify-java.sh 13.0.2 + - name: Verify Java 13 (Windows) + if: runner.os == 'windows' + run: __tests__/verify-java.ps1 13.0.2 - - name: npm install - run: npm install + test-proxy: + runs-on: ubuntu-latest + container: + image: ubuntu:latest + options: --dns 127.0.0.1 + services: + squid-proxy: + image: datadog/squid:latest + ports: + - 3128:3128 + env: + https_proxy: http://squid-proxy:3128 + steps: + - uses: actions/checkout@v2 + - name: Clear tool cache + run: rm -rf $RUNNER_TOOL_CACHE/* + - name: Setup Java 13 + uses: ./ + with: + java-version: 13.0.2 + - name: Verify Java 13 + run: __tests__/verify-java.sh 13.0.2 - - name: Lint - run: npm run format-check - - - name: npm test - run: npm test + test-bypass-proxy: + runs-on: ubuntu-latest + env: + https_proxy: http://no-such-proxy:3128 + no_proxy: github.com,static.azul.com + steps: + - uses: actions/checkout@v2 + - name: Clear tool cache + run: rm -rf $RUNNER_TOOL_CACHE/* + - name: Setup Java 13 + uses: ./ + with: + java-version: 13.0.2 + - name: Verify Java 13 + run: __tests__/verify-java.sh 13.0.2 diff --git a/__tests__/verify-java.ps1 b/__tests__/verify-java.ps1 new file mode 100644 index 00000000..9f675c89 --- /dev/null +++ b/__tests__/verify-java.ps1 @@ -0,0 +1,11 @@ +if (!$args.Count -or !$args[0]) +{ + throw "Must supply java version argument" +} + +$java_version = & cmd.exe /c "java -version 2>&1" | Out-String +Write-Host "Found java version: $java_version" +if (!$java_version.Contains($args[0])) +{ + throw "Unexpected version" +} diff --git a/__tests__/verify-java.sh b/__tests__/verify-java.sh new file mode 100755 index 00000000..f34aba50 --- /dev/null +++ b/__tests__/verify-java.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +if [ -z "$1" ]; then + echo "Must supply java version argument" + exit 1 +fi + +java_version="$(java -version 2>&1)" +echo "Found java version: $java_version" +if [ -z "$(echo $java_version | grep --fixed-strings $1)" ]; then + echo "Unexpected version" + exit 1 +fi