Skip to content

Workflow authoring support (#563) #1328

Workflow authoring support (#563)

Workflow authoring support (#563) #1328

Workflow file for this run

#
# Copyright 2022 The Dapr Authors
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name: Test - E2E
on:
push:
branches:
- main
- release-*
tags:
- v*
pull_request:
branches:
- main
- release-*
# Manual trigger
workflow_dispatch:
# Dispatch on external events
repository_dispatch:
types: [e2e-test]
jobs:
test-e2e:
runs-on: ubuntu-latest
env:
GOVER: 1.20
DAPR_CLI_VER: 1.12.0
DAPR_RUNTIME_VER: 1.12.0
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/master/install/install.sh
DAPR_CLI_REF: ""
DAPR_REF: ""
NODE_VER: 16.14.0
services:
emqx:
image: emqx/emqx
ports:
- 1883:1883
- 8081:8081
- 8083:8083
- 8883:8883
# - 8084:8084 // this port is already used?
- 18083:18083
mongodb:
image: mongo
ports:
- 27017:27017
steps:
- name: Set up Dapr CLI
run: wget -q ${{ env.DAPR_INSTALL_URL }} -O - | /bin/bash -s ${{ env.DAPR_CLI_VER }}
- name: Set up Go ${{ env.GOVER }}
if: env.DAPR_REF != '' || env.DAPR_CLI_REF != ''
uses: actions/setup-go@v2
with:
go-version: ${{ env.GOVER }}
- name: Checkout Dapr CLI repo to custom reference
uses: actions/checkout@v2
if: env.DAPR_CLI_REF != ''
with:
repository: dapr/cli
ref: ${{ env.DAPR_CLI_REF }}
path: cli
- name: Checkout Dapr runtime repo to custom reference
uses: actions/checkout@v2
if: env.DAPR_REF != ''
with:
repository: dapr/dapr
ref: ${{ env.DAPR_REF }}
path: dapr
- name: Build and override dapr cli with referenced commit
if: env.DAPR_CLI_REF != ''
run: |
cd cli
make
sudo cp dist/linux_amd64/release/dapr /usr/local/bin/dapr
cd ..
- name: Initialize Dapr runtime ${{ env.DAPR_RUNTIME_VER }}
run: |
dapr uninstall --all
dapr init --runtime-version ${{ env.DAPR_RUNTIME_VER }}
- name: Build and override daprd with referenced commit.
if: env.DAPR_REF != ''
run: |
cd dapr
make
mkdir -p $HOME/.dapr/bin/
cp dist/linux_amd64/release/daprd $HOME/.dapr/bin/daprd
cd ..
- name: Override placement service.
if: env.DAPR_REF != ''
run: |
docker stop dapr_placement
cd dapr
./dist/linux_amd64/release/placement &
- name: Checkout JS-SDK
uses: actions/checkout@v2
# Setup .npmrc file to publish to npm
# https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
- name: NodeJS - Install
uses: actions/setup-node@v2
with:
node-version: ${{ env.NODE_VER }}
registry-url: "https://registry.npmjs.org"
- name: Build Package
run: npm run build
- name: Run E2E tests
id: tests
run: npm run test:e2e:all
- name: Run E2E test to show successful typescript build
id: typescript-build-test
run: |
cd test/e2e/typescript-build
npm install
dapr run --app-id typescript-build npm run start
- name: Upload test coverage
uses: codecov/codecov-action@v1