mirror of
https://github.com/fluencelabs/aquavm
synced 2025-03-16 04:50:49 +00:00
* Use e2e env * Snapshot env * Update * Test * Update * Test * Add comments * Make linter happy
124 lines
3.1 KiB
YAML
124 lines
3.1 KiB
YAML
name: "e2e"
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
paths-ignore:
|
|
- "**.md"
|
|
- ".github/**"
|
|
- "!.github/workflows/e2e.yml"
|
|
- "!.github/workflows/snapshot.yml"
|
|
push:
|
|
branches:
|
|
- "master"
|
|
paths-ignore:
|
|
- "**.md"
|
|
- ".github/**"
|
|
|
|
concurrency:
|
|
group: "${{ github.workflow }}-${{ github.ref }}"
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
aquavm:
|
|
# trigger when PRs is not from fork or when workflow triggered manually
|
|
if: github.event.pull_request.head.repo.fork == false || github.event_name == 'workflow_dispatch'
|
|
uses: ./.github/workflows/snapshot.yml
|
|
with:
|
|
ref: ${{ github.ref }}
|
|
|
|
rust-peer:
|
|
needs:
|
|
- aquavm
|
|
|
|
uses: fluencelabs/rust-peer/.github/workflows/snapshot.yml@master
|
|
with:
|
|
image-name: "docker.fluence.dev/aquavm"
|
|
cargo-dependencies: |
|
|
[
|
|
{
|
|
"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:
|
|
- aquavm
|
|
|
|
uses: fluencelabs/rust-peer/.github/workflows/tests.yml@master
|
|
with:
|
|
cargo-dependencies: |
|
|
[
|
|
{
|
|
"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"
|
|
needs:
|
|
- aquavm
|
|
- rust-peer
|
|
|
|
uses: fluencelabs/js-client/.github/workflows/tests.yml@master
|
|
with:
|
|
avm-version: "${{ needs.aquavm.outputs.avm-version }}"
|
|
rust-peer-image: "${{ needs.rust-peer.outputs.rust-peer-image }}"
|
|
|
|
js-client:
|
|
needs:
|
|
- aquavm
|
|
|
|
uses: fluencelabs/js-client/.github/workflows/snapshot.yml@master
|
|
with:
|
|
avm-version: "${{ needs.aquavm.outputs.avm-version }}"
|
|
|
|
aqua-playground:
|
|
needs:
|
|
- js-client
|
|
- rust-peer
|
|
|
|
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.outputs.rust-peer-image }}"
|
|
|
|
status:
|
|
runs-on: ubuntu-latest
|
|
if: always()
|
|
needs:
|
|
- js-client
|
|
- 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
|