156 lines
4.0 KiB
YAML
Raw Normal View History

2022-09-20 18:25:55 +03:00
name: "e2e"
on:
pull_request:
paths-ignore:
- "**.md"
- ".github/**"
- "!.github/workflows/e2e.yml"
- "!.github/workflows/snapshot.yml"
types:
- "labeled"
- "synchronize"
- "opened"
- "reopened"
2022-09-20 18:25:55 +03:00
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
air-interpreter-wasm:
name: "aquavm"
if: github.event.pull_request.head.repo.fork != true && contains(github.event.pull_request.labels.*.name, 'e2e')
uses: ./.github/workflows/snapshot-air-interpreter-wasm.yml
with:
ref: ${{ github.ref }}
air-beautify-wasm:
name: "aquavm"
if: github.event.pull_request.head.repo.fork != true && contains(github.event.pull_request.labels.*.name, 'e2e')
uses: ./.github/workflows/snapshot-air-beautify-wasm.yml
with:
ref: ${{ github.ref }}
avm:
name: "aquavm"
if: github.event.pull_request.head.repo.fork != true && contains(github.event.pull_request.labels.*.name, 'e2e')
needs: air-interpreter-wasm
uses: ./.github/workflows/snapshot-avm.yml
with:
ref: ${{ github.ref }}
cargo:
name: "aquavm"
if: github.event.pull_request.head.repo.fork != true && contains(github.event.pull_request.labels.*.name, 'e2e')
needs: air-interpreter-wasm
uses: ./.github/workflows/snapshot-cargo.yml
2022-11-16 14:49:51 +02:00
with:
ref: ${{ github.ref }}
2022-09-20 18:25:55 +03:00
rust-peer:
needs:
- cargo
2022-09-20 18:25:55 +03:00
uses: fluencelabs/rust-peer/.github/workflows/build.yml@master
2022-09-20 18:25:55 +03:00
with:
2022-11-16 14:49:51 +02:00
cargo-dependencies: |
[
{
"package": "avm-server",
"version": "=${{ needs.cargo.outputs.version }}",
"registry": "fluence"
},
{
"package": "air-interpreter-wasm",
"version": "=${{ needs.cargo.outputs.version }}",
"registry": "fluence"
}
]
rust-peer-snapshot:
name: "rust-peer"
needs:
- rust-peer
uses: fluencelabs/rust-peer/.github/workflows/container.yml@master
with:
image-name: "docker.fluence.dev/aquavm"
flavour: "minimal"
rust-peer-sha: "${{ needs.rust-peer.outputs.rust-peer-sha }}"
rust-peer-tests:
name: "rust-peer"
needs:
- cargo
uses: fluencelabs/rust-peer/.github/workflows/tests.yml@master
with:
cargo-dependencies: |
2022-11-16 14:49:51 +02:00
[
{
"package": "avm-server",
"version": "=${{ needs.cargo.outputs.version }}",
2022-11-16 14:49:51 +02:00
"registry": "fluence"
},
{
"package": "air-interpreter-wasm",
"version": "=${{ needs.cargo.outputs.version }}",
2022-11-16 14:49:51 +02:00
"registry": "fluence"
}
]
2022-09-20 18:25:55 +03:00
js-client-tests:
name: "js-client"
2022-09-20 18:25:55 +03:00
needs:
- avm
- rust-peer-snapshot
2022-09-20 18:25:55 +03:00
uses: fluencelabs/js-client/.github/workflows/tests.yml@master
2022-09-20 18:25:55 +03:00
with:
avm-version: "${{ needs.avm.outputs.version }}"
rust-peer-image: "${{ needs.rust-peer-snapshot.outputs.rust-peer-image }}"
2022-09-20 18:25:55 +03:00
js-client:
2022-09-20 18:25:55 +03:00
needs:
- avm
2022-09-20 18:25:55 +03:00
uses: fluencelabs/js-client/.github/workflows/snapshot.yml@master
2022-09-20 18:25:55 +03:00
with:
avm-version: "${{ needs.avm.outputs.version }}"
2022-09-20 18:25:55 +03:00
aqua-playground:
needs:
- js-client
- rust-peer-snapshot
2022-09-20 18:25:55 +03:00
uses: fluencelabs/aqua-playground/.github/workflows/tests.yml@master
with:
js-client-snapshots: "${{ needs.js-client.outputs.js-client-snapshots }}"
rust-peer-image: "${{ needs.rust-peer-snapshot.outputs.rust-peer-image }}"
status:
name: "e2e status"
runs-on: ubuntu-latest
if: always()
needs:
- js-client-tests
- aqua-playground
steps:
- uses: lwhiteley/dependent-jobs-result-check@v1
id: status
with:
statuses: failure
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