195 lines
5.0 KiB
YAML
Raw Normal View History

2022-11-21 13:17:18 +02:00
name: "e2e"
on:
pull_request:
paths-ignore:
- "!**.md"
push:
branches:
- "master"
2022-11-21 13:17:18 +02:00
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
env:
FORCE_COLOR: true
jobs:
marine:
2022-11-21 13:17:18 +02:00
uses: ./.github/workflows/snapshot.yml
marine-rs-sdk-test:
needs:
- marine
uses: fluencelabs/marine-rs-sdk-test/.github/workflows/tests.yml@master
with:
cargo-dependencies: |
[
{
"package": "fluence-app-service",
"version": "=${{ needs.marine.outputs.cargo-version }}",
"registry": "fluence"
},
{
"package": "fluence-app-service",
"manifest": "crates/marine-test-macro-impl/Cargo.toml",
"version": "=${{ needs.marine.outputs.cargo-version }}",
"registry": "fluence"
}
]
2022-11-21 13:17:18 +02:00
aquavm:
needs:
- marine
2022-11-21 13:17:18 +02:00
uses: fluencelabs/aquavm/.github/workflows/snapshot.yml@master
with:
cargo-dependencies: |
[
{
"package": "marine-runtime",
"manifest": "avm/server/Cargo.toml",
"version": "=${{ needs.marine.outputs.cargo-version }}",
2022-11-21 13:17:18 +02:00
"registry": "fluence"
},
{
"package": "fluence-app-service",
"manifest": "air/Cargo.toml",
"version": "=${{ needs.marine.outputs.cargo-version }}",
2022-11-21 13:17:18 +02:00
"registry": "fluence"
}
]
rust-peer:
needs:
- marine
2022-11-21 13:17:18 +02:00
- aquavm
uses: fluencelabs/rust-peer/.github/workflows/snapshot.yml@master
with:
image-name: "docker.fluence.dev/marine"
cargo-dependencies: |
[
{
"package": "fluence-app-service",
"version": "=${{ needs.marine.outputs.cargo-version }}",
"registry": "fluence"
},
{
"package": "avm-server",
"version": "=${{ needs.aquavm.outputs.cargo-version }}",
"registry": "fluence"
},
{
"package": "air-interpreter-wasm",
"version": "=${{ needs.aquavm.outputs.cargo-version }}",
"registry": "fluence"
}
]
rust-peer-tests:
name: "rust-peer"
needs:
- marine
- aquavm
uses: fluencelabs/rust-peer/.github/workflows/tests.yml@master
2022-11-21 13:17:18 +02:00
with:
cargo-dependencies: |
[
{
"package": "fluence-app-service",
"version": "=${{ needs.marine.outputs.cargo-version }}",
2022-11-21 13:17:18 +02:00
"registry": "fluence"
},
{
"package": "avm-server",
"version": "=${{ needs.aquavm.outputs.cargo-version }}",
"registry": "fluence"
},
{
"package": "air-interpreter-wasm",
"version": "=${{ needs.aquavm.outputs.cargo-version }}",
"registry": "fluence"
}
]
js-client-tests:
name: "js-client"
2022-11-21 13:17:18 +02:00
needs:
- marine
2022-11-21 13:17:18 +02:00
- aquavm
- rust-peer
uses: fluencelabs/js-client/.github/workflows/tests.yml@master
2022-11-21 13:17:18 +02:00
with:
marine-js-version: "${{ needs.marine.outputs.marine-js-version }}"
2022-11-21 13:17:18 +02:00
avm-version: "${{ needs.aquavm.outputs.avm-version }}"
rust-peer-image: "${{ needs.rust-peer.outputs.rust-peer-image }}"
js-client:
2022-11-21 13:17:18 +02:00
needs:
- marine
2022-11-21 13:17:18 +02:00
- aquavm
uses: fluencelabs/js-client/.github/workflows/snapshot.yml@master
2022-11-21 13:17:18 +02:00
with:
marine-js-version: "${{ needs.marine.outputs.marine-js-version }}"
2022-11-21 13:17:18 +02:00
avm-version: "${{ needs.aquavm.outputs.avm-version }}"
aqua-playground:
needs:
- js-client
2022-11-21 13:17:18 +02:00
- rust-peer
uses: fluencelabs/aqua-playground/.github/workflows/tests.yml@master
with:
js-client-snapshots: "${{ needs.js-client.outputs.js-client-snapshots }}"
2022-11-21 13:17:18 +02:00
rust-peer-image: "${{ needs.rust-peer.outputs.rust-peer-image }}"
registry:
needs:
- rust-peer
uses: fluencelabs/registry/.github/workflows/tests.yml@main
with:
rust-peer-image: "${{ needs.rust-peer.outputs.rust-peer-image }}"
fluence-cli:
needs:
- marine
- rust-peer
uses: fluencelabs/fluence-cli/.github/workflows/tests.yml@main
with:
marine-version: "${{ needs.marine.outputs.cargo-version }}"
mrepl-version: "${{ needs.marine.outputs.cargo-version }}"
rust-peer-image: "${{ needs.rust-peer.outputs.rust-peer-image }}"
status:
runs-on: ubuntu-latest
if: always()
needs:
- fluence-cli
- registry
- aqua-playground
steps:
- uses: lwhiteley/dependent-jobs-result-check@v1
id: status
with:
statuses: failure,cancelled,skipped
dependencies: ${{ toJSON(needs) }}
- name: Log output
run: |
echo "statuses:" "${{ steps.status.outputs.statuses }}"
echo "jobs:" "${{ steps.status.outputs.jobs }}"
echo "found any?:" "${{ steps.status.outputs.found }}"
- name: Fail run
if: fromJSON(steps.status.outputs.found)
run: exit 1