blob: e551ac70c0c642612be6bda994aadac162e30a86 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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: CI
on:
pull_request:
push:
branches:
- master
tags:
- 'v*'
jobs:
CI:
runs-on: ubuntu-18.04
timeout-minutes: 180
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v2
# In the checkout@v2, it doesn't support git submodule. Execute the commands manually.
- name: checkout submodules
shell: bash
run: |
git submodule sync --recursive
git -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Check License Header
if: env.SKIP_CI != 'true'
uses: apache/skywalking-eyes@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 'Install Lua'
shell: bash
run: |
sudo apt-get update -y
sudo apt-get install -y lua5.3 lua5.3-dev
sudo ln /usr/bin/lua5.3 /usr/bin/lua
- name: 'Install LuaRocks'
run: |
wget https://luarocks.org/releases/luarocks-3.3.0.tar.gz
tar zxpf luarocks-3.3.0.tar.gz
cd luarocks-3.3.0
./configure && make && sudo make install
cd ..
- name: 'Install Dependencies'
run: |
sudo luarocks install luaunit
sudo luarocks install lua-cjson 2.1.0-1
sudo luarocks install lua-resty-jit-uuid
- name: "Install OpenResty"
run: |
wget -qO - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
sudo apt-get -y update --fix-missing
sudo apt-get -y install software-properties-common
sudo add-apt-repository -y "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install openresty-debug
- name: "Install test::nginx for testing"
run: |
sudo apt-get install -y cpanminus
sudo cpanm --notest Test::Nginx >build.log 2>&1 || (cat build.log && exit 1)
git clone https://github.com/iresty/test-nginx.git test-nginx
- name: 'Run Lua Tests'
run: |
cd lib
lua skywalking/util_test.lua
lua skywalking/span_test.lua
lua skywalking/tracing_context_test.lua
lua skywalking/segment_ref_test.lua
lua skywalking/correlation_context_test.lua
cd ..
- name: 'Run Nginx Lua Tests'
run: |
export PATH=/usr/local/openresty-debug/nginx/sbin:/usr/local/openresty-debug/luajit/bin:$/usr/local/openresty-debug/bin:$PATH
prove -Itest-nginx/lib -r t