Skip to content

Commit

Permalink
Merge pull request #49 from ericsciple/users/ericsciple/m166proxy
Browse files Browse the repository at this point in the history
standardize workflow test pattern
  • Loading branch information
Konrad Pabjan authored and GitHub committed Feb 12, 2020
2 parents f63b906 + 60cf21b commit 5ef3a8d
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 32 deletions.
92 changes: 60 additions & 32 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
@@ -1,57 +1,85 @@
name: Main workflow
on: [push, pull_request]
jobs:
run:
name: Run
build:
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
operating-system: [ubuntu-latest, windows-latest]
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

- name: Lint
run: npm run format-check
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: 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
11 changes: 11 additions & 0 deletions __tests__/verify-java.ps1
Original file line number Diff line number Diff line change
@@ -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"
}
13 changes: 13 additions & 0 deletions __tests__/verify-java.sh
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 5ef3a8d

Please sign in to comment.