aliyun-openapi-bash-sdk/.github/workflows/bats-test.yml

91 lines
2.6 KiB
YAML

name: Bats test
on:
push:
paths:
- '.github/workflows/bats-test.yml'
- '*.sh'
- 'test/*.sh'
pull_request:
paths:
- '.github/workflows/bats-test.yml'
- '*.sh'
- 'test/*.sh'
jobs:
test-on-alpine:
runs-on: ubuntu-latest
container:
image: alpine:latest
steps:
- name: Install dependencies
run: apk add bash curl git openssl
- name: Check out code
uses: actions/checkout@v3
with:
submodules: true
- name: Run test
env:
AliAccessKeyId: ${{ secrets.ALIACCESSKEYID }}
AliAccessKeySecret: ${{ secrets.ALIACCESSKEYSECRET }}
run: ./test/bats/bin/bats test/test.bats.sh
test-on-archlinux:
runs-on: ubuntu-latest # Test on latest version bash curl openssl
container:
image: archlinux:latest
steps:
- name: Install dependencies
run: pacman -Syu bash curl openssl
- name: Check out code
uses: actions/checkout@v3
with:
submodules: true
- name: Run test
env:
AliAccessKeyId: ${{ secrets.ALIACCESSKEYID }}
AliAccessKeySecret: ${{ secrets.ALIACCESSKEYSECRET }}
run: ./test/bats/bin/bats test/test.bats.sh
test-on-openwrt:
runs-on: ubuntu-latest
container:
image: openwrtorg/rootfs:x86-64-openwrt-22.03
steps:
- name: Fix var directory
run: mkdir -p /var/lock
- name: Install dependencies
run: |
opkg update
opkg install git git-http
opkg install bash curl openssl-util
# Bats dependencies
opkg install coreutils-nl
- name: Check out code
if: ${{ github.event.act }}
uses: actions/checkout@v3
with:
submodules: true
- name: Check out code (with git)
if: ${{ !github.event.act }}
run: git clone --depth 1 --no-tags --recurse-submodules https://github.com/${{ github.repository }}.git /tmp/${{ github.sha }}
- name: Run test
env:
AliAccessKeyId: ${{ secrets.ALIACCESSKEYID }}
AliAccessKeySecret: ${{ secrets.ALIACCESSKEYSECRET }}
run: |
[[ -d /tmp/${{ github.sha }} ]] && cd /tmp/${{ github.sha }}
./test/bats/bin/bats test/test.bats.sh
test-on-ubuntu:
runs-on: ubuntu-18.04 # Test on old version bash curl openssl
steps:
- name: Check out code
uses: actions/checkout@v3
with:
submodules: true
- name: Run test
env:
AliAccessKeyId: ${{ secrets.ALIACCESSKEYID }}
AliAccessKeySecret: ${{ secrets.ALIACCESSKEYSECRET }}
run: ./test/bats/bin/bats test/test.bats.sh