141 lines
4.1 KiB
YAML
141 lines
4.1 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
branches:
|
|
- master
|
|
- next
|
|
|
|
jobs:
|
|
cancel-previous-runs:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Cancel Previous Runs
|
|
uses: styfle/cancel-workflow-action@0.6.0
|
|
with:
|
|
access_token: ${{ github.token }}
|
|
|
|
csi-sanity-synology:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
config:
|
|
- synlogy/iscsi.yaml
|
|
runs-on:
|
|
- self-hosted
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: csi-sanity
|
|
run: |
|
|
# run tests
|
|
ci/bin/run.sh
|
|
env:
|
|
TEMPLATE_CONFIG_FILE: "./ci/configs/${{ matrix.config }}"
|
|
SYNOLOGY_HOST: ${{ secrets.SANITY_SYNOLOGY_HOST }}
|
|
SYNOLOGY_PORT: ${{ secrets.SANITY_SYNOLOGY_PORT }}
|
|
SYNOLOGY_USERNAME: ${{ secrets.SANITY_SYNOLOGY_USERNAME }}
|
|
SYNOLOGY_PASSWORD: ${{ secrets.SANITY_SYNOLOGY_PASSWORD }}
|
|
SYNOLOGY_VOLUME: ${{ secrets.SANITY_SYNOLOGY_VOLUME }}
|
|
|
|
# api-based drivers
|
|
csi-sanity-truenas-scale:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
config:
|
|
- truenas/scale-iscsi.yaml
|
|
- truenas/scale-nfs.yaml
|
|
# 80 char limit
|
|
#- truenas/scale-smb.yaml
|
|
runs-on:
|
|
- self-hosted
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: csi-sanity
|
|
run: |
|
|
# run tests
|
|
ci/bin/run.sh
|
|
env:
|
|
TEMPLATE_CONFIG_FILE: "./ci/configs/${{ matrix.config }}"
|
|
TRUENAS_HOST: ${{ secrets.SANITY_TRUENAS_SCALE_HOST }}
|
|
TRUENAS_USERNAME: ${{ secrets.SANITY_TRUENAS_SCALE_USERNAME }}
|
|
TRUENAS_PASSWORD: ${{ secrets.SANITY_TRUENAS_SCALE_PASSWORD }}
|
|
|
|
# ssh-based drivers
|
|
csi-sanity-truenas-core:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
config:
|
|
# 63 char limit
|
|
#- truenas/core-iscsi.yaml
|
|
- truenas/core-nfs.yaml
|
|
# 80 char limit
|
|
#- truenas/core-smb.yaml
|
|
runs-on:
|
|
- self-hosted
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: csi-sanity
|
|
run: |
|
|
# run tests
|
|
ci/bin/run.sh
|
|
env:
|
|
TEMPLATE_CONFIG_FILE: "./ci/configs/${{ matrix.config }}"
|
|
TRUENAS_HOST: ${{ secrets.SANITY_TRUENAS_CORE_HOST }}
|
|
TRUENAS_USERNAME: ${{ secrets.SANITY_TRUENAS_CORE_USERNAME }}
|
|
TRUENAS_PASSWORD: ${{ secrets.SANITY_TRUENAS_CORE_PASSWORD }}
|
|
|
|
# ssh-based drivers
|
|
csi-sanity-zfs-generic:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
config:
|
|
- zfs-generic/iscsi.yaml
|
|
- zfs-generic/nfs.yaml
|
|
runs-on:
|
|
- self-hosted
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: csi-sanity
|
|
run: |
|
|
# run tests
|
|
ci/bin/run.sh
|
|
env:
|
|
TEMPLATE_CONFIG_FILE: "./ci/configs/${{ matrix.config }}"
|
|
SERVER_HOST: ${{ secrets.SANITY_ZFS_GENERIC_HOST }}
|
|
SERVER_USERNAME: ${{ secrets.SANITY_ZFS_GENERIC_USERNAME }}
|
|
SERVER_PASSWORD: ${{ secrets.SANITY_ZFS_GENERIC_PASSWORD }}
|
|
|
|
build:
|
|
needs:
|
|
- csi-sanity-synology
|
|
- csi-sanity-truenas-scale
|
|
- csi-sanity-truenas-core
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: docker build
|
|
run: |
|
|
export ARCH=$([ $(uname -m) = "x86_64" ] && echo "amd64" || echo "arm64")
|
|
mkdir -p ~/.docker/cli-plugins/
|
|
wget -qO ~/.docker/cli-plugins/docker-buildx https://github.com/docker/buildx/releases/download/v0.5.1/buildx-v0.5.1.linux-${ARCH}
|
|
chmod a+x ~/.docker/cli-plugins/docker-buildx
|
|
docker info
|
|
docker buildx version
|
|
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
|
docker buildx create --name xbuilder --use
|
|
docker buildx inspect --bootstrap
|
|
.github/bin/docker-release.sh
|
|
|
|
env:
|
|
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
|
GHCR_USERNAME: ${{ secrets.GHCR_USERNAME }}
|
|
GHCR_PASSWORD: ${{ secrets.GHCR_PASSWORD }}
|
|
DOCKER_CLI_EXPERIMENTAL: enabled
|
|
DOCKER_BUILD_PLATFORM: linux/amd64,linux/arm64,linux/arm/v7
|