Skip to content
Merged
6 changes: 4 additions & 2 deletions .github/workflows/integration-per-language.yml
Original file line number Diff line number Diff line change
Expand Up @@ -484,8 +484,10 @@ jobs:
curl -m 3 $SERVICEIP:${{env.serviceport}}
sleep 5
kill $tunnelPID
- run: ./draft -v generate-workflow\
--deploy-type manifests\
- run: |
./draft -v generate-workflow \
-d ./langtest/ \
--deploy-type manifests \
--variable WORKFLOWNAME=someWorkflow \
--variable BRANCHNAME=main \
--variable ACRRESOURCEGROUP=someAcrResourceGroup \
Expand Down
142 changes: 108 additions & 34 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,46 +62,120 @@ jobs:
name: check_windows_addon_kustomize
path: ./test/check_windows_addon_kustomize.ps1
if-no-files-found: error
language-integration-test:
name: Matrix
gomodule:
needs:
- build-linux
- build-windows
strategy:
matrix:
language: ["gomodule"] # we dont actually want a matrix here, so we include cases individually
repo: ["davidgamero/go_echo"]
include:
- language: "go"
repo: "davidgamero/go-echo-no-mod"
- language: "python"
repo: "OliverMKing/flask-hello-world"
- language: "rust"
repo: "OliverMKing/tiny-http-hello-world"
- language: "javascript"
repo: "davidgamero/express-hello-world"
- language: "ruby"
repo: "davidgamero/sinatra-hello-world"
- language: "csharp"
repo: "imiller31/csharp-simple-web-app"
- language: "java"
repo: "imiller31/simple-java-server"
- language: "gradle"
repo: "imiller31/simple-gradle-server"
- language: "swift"
repo: "OliverMKing/swift-hello-world"
- language: "erlang"
repo: "bfoley13/ErlangExample"
- language: "clojure"
repo: "imiller31/clojure-simple-http"
uses: ./.github/workflows/integration-per-language.yml
with:
language: ${{ matrix.language }}
repo: ${{ matrix.repo }}
linux-integration-summary:
language: gomodule
repo: davidgamero/go_echo
go:
needs:
- build-linux
- build-windows
uses: ./.github/workflows/integration-per-language.yml
with:
language: go
repo: "davidgamero/go-echo-no-mod"
python:
needs:
- build-linux
- build-windows
uses: ./.github/workflows/integration-per-language.yml
with:
language: "python"
repo: "OliverMKing/flask-hello-world"
rust:
needs:
- build-linux
- build-windows
uses: ./.github/workflows/integration-per-language.yml
with:
language: "rust"
repo: "OliverMKing/tiny-http-hello-world"
javascript:
needs:
- build-linux
- build-windows
uses: ./.github/workflows/integration-per-language.yml
with:
language: "javascript"
repo: "davidgamero/express-hello-world"
ruby:
needs:
- build-linux
- build-windows
uses: ./.github/workflows/integration-per-language.yml
with:
language: "ruby"
repo: "davidgamero/sinatra-hello-world"
csharp:
needs:
- build-linux
- build-windows
uses: ./.github/workflows/integration-per-language.yml
with:
language: "csharp"
repo: "imiller31/csharp-simple-web-app"
java:
needs:
- build-linux
- build-windows
uses: ./.github/workflows/integration-per-language.yml
with:
language: "java"
repo: "imiller31/simple-java-server"
gradle:
needs:
- build-linux
- build-windows
uses: ./.github/workflows/integration-per-language.yml
with:
language: "gradle"
repo: "imiller31/simple-gradle-server"
swift:
needs:
- build-linux
- build-windows
uses: ./.github/workflows/integration-per-language.yml
with:
language: "swift"
repo: "OliverMKing/swift-hello-world"
erlang:
needs:
- build-linux
- build-windows
uses: ./.github/workflows/integration-per-language.yml
with:
language: "erlang"
repo: "bfoley13/ErlangExample"
clojure:
needs:
- build-linux
- build-windows
uses: ./.github/workflows/integration-per-language.yml
with:
language: "clojure"
repo: "imiller31/clojure-simple-http"
linux-integration-fail:
name: Integration Test Summary
needs: language-integration-test
runs-on: ubuntu-latest
needs:
- gomodule
- go
- python
- rust
- javascript
- ruby
- csharp
- java
- gradle
- swift
- erlang
- clojure
if: ${{ cancelled() || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure') }} # i cant believe this is necessary https://github.com/actions/runner/issues/2566
steps:
- run: |
echo "Success"
echo "Some workflows have failed!"
exit 1