mirror of
https://gitee.com/iresty/apisix.git
synced 2024-12-04 21:17:36 +08:00
83 lines
2.9 KiB
YAML
83 lines
2.9 KiB
YAML
name: CI Centos7
|
|
|
|
on:
|
|
push:
|
|
branches: [master, 'release/**']
|
|
paths-ignore:
|
|
- 'docs/**'
|
|
- '**/*.md'
|
|
pull_request:
|
|
branches: [master, 'release/**']
|
|
paths-ignore:
|
|
- 'docs/**'
|
|
- '**/*.md'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.run_number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test_apisix:
|
|
name: run ci on centos7
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 90
|
|
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v2.4.0
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Extract branch name
|
|
if: ${{ startsWith(github.ref, 'refs/heads/release/') }}
|
|
id: branch_env
|
|
shell: bash
|
|
run: |
|
|
echo "##[set-output name=version;]$(echo ${GITHUB_REF##*/})"
|
|
|
|
- name: Linux launch common services
|
|
run: |
|
|
make ci-env-up project_compose_ci=ci/pod/docker-compose.common.yml
|
|
|
|
- name: Build rpm package
|
|
if: ${{ startsWith(github.ref, 'refs/heads/release/') }}
|
|
run: |
|
|
export VERSION=${{ steps.branch_env.outputs.version }}
|
|
sudo gem install --no-document fpm
|
|
git clone -b v2.7.0 https://github.com/api7/apisix-build-tools.git
|
|
|
|
# move codes under build tool
|
|
mkdir ./apisix-build-tools/apisix
|
|
for dir in `ls|grep -v "^apisix-build-tools$"`;do cp -r $dir ./apisix-build-tools/apisix/;done
|
|
|
|
cd apisix-build-tools
|
|
make package type=rpm app=apisix version=${VERSION} checkout=release/${VERSION} image_base=centos image_tag=7 local_code_path=./apisix
|
|
cd ..
|
|
rm -rf $(ls -1 --ignore=apisix-build-tools --ignore=t --ignore=utils --ignore=ci --ignore=Makefile --ignore=rockspec)
|
|
|
|
- name: Run centos7 docker and mapping apisix into container
|
|
run: |
|
|
docker run -itd -v /home/runner/work/apisix/apisix:/apisix --name centos7Instance --net="host" --dns 8.8.8.8 --dns-search apache.org docker.io/centos:7 /bin/bash
|
|
# docker exec centos7Instance bash -c "cp -r /tmp/apisix ./"
|
|
|
|
- name: Run other docker containers for test
|
|
run: |
|
|
make ci-env-up
|
|
./ci/linux-ci-init-service.sh
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
docker exec centos7Instance bash -c "cd apisix && ./ci/centos7-ci.sh install_dependencies"
|
|
|
|
- name: Install rpm package
|
|
if: ${{ startsWith(github.ref, 'refs/heads/release/') }}
|
|
run: |
|
|
docker exec centos7Instance bash -c "cd apisix && rpm -iv --prefix=/apisix ./apisix-build-tools/output/apisix-${{ steps.branch_env.outputs.version }}-0.el7.x86_64.rpm"
|
|
# Dependencies are attached with rpm, so revert `make deps`
|
|
docker exec centos7Instance bash -c "cd apisix && rm -rf deps"
|
|
docker exec centos7Instance bash -c "cd apisix && mv usr/bin . && mv usr/local/apisix/* ."
|
|
|
|
- name: Run test cases
|
|
run: |
|
|
docker exec centos7Instance bash -c "cd apisix && ./ci/centos7-ci.sh run_case"
|