feat: add refreshFrequency option for blocking strategy #725
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Sablier plugins | |
on: | |
push: | |
branches: | |
- main | |
- beta | |
pull_request: | |
jobs: | |
build: | |
name: Build Sablier docker image once and share it to E2E jobs | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
with: | |
context: . | |
file: ./Dockerfile | |
tags: sablierapp/sablier:local | |
outputs: type=docker,dest=/tmp/sablier.tar | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: sablier-image-tar | |
path: /tmp/sablier.tar | |
traefik: | |
name: Build Traefik Sablier Plugin | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Go 1.22 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22 | |
cache-dependency-path: plugins/traefik/go.sum | |
- name: Build | |
run: cd plugins/traefik && go build -v . | |
- name: Test | |
run: cd plugins/traefik && go test -v ./... | |
traefik_e2e: | |
name: Run Sablier E2E tests for Traefik middleware | |
runs-on: ubuntu-latest | |
needs: build | |
strategy: | |
fail-fast: false | |
matrix: | |
provider: [docker, docker_swarm, kubernetes] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Go 1.22 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22 | |
cache-dependency-path: | | |
go.sum | |
plugins/traefik/go.sum | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: sablier-image-tar | |
path: /tmp | |
- name: Load Docker image | |
run: docker load --input /tmp/sablier.tar | |
- name: Test ${{ matrix.provider }} | |
run: cd plugins/traefik/e2e/${{ matrix.provider }} && bash ./run.sh | |
nginx_e2e: | |
name: Run Sablier E2E tests for Nginx NJS module with Sablier | |
runs-on: ubuntu-latest | |
needs: build | |
strategy: | |
fail-fast: false | |
matrix: | |
provider: [docker, docker_swarm] # , kubernetes] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Go 1.22 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22 | |
cache-dependency-path: | | |
go.sum | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: sablier-image-tar | |
path: /tmp | |
- name: Load Docker image | |
run: docker load --input /tmp/sablier.tar | |
- name: Test ${{ matrix.provider }} | |
run: cd plugins/nginx/e2e/${{ matrix.provider }} && bash ./run.sh | |
caddy: | |
name: Build Caddy Sablier Plugin | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Go 1.22 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22 | |
cache-dependency-path: plugins/caddy/go.sum | |
- name: Build | |
run: cd plugins/caddy && go build -v . | |
- name: Test | |
run: cd plugins/caddy && go test -v ./... | |
build-caddy: | |
name: Build Caddy docker image once and share it to Caddy E2E jobs | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
with: | |
context: plugins/caddy | |
file: plugins/caddy/Dockerfile | |
tags: caddy:local | |
outputs: type=docker,dest=/tmp/caddy.tar | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: caddy-image-tar | |
path: /tmp/caddy.tar | |
caddy_e2e: | |
name: Run Sablier E2E tests for Caddy middleware | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
- build-caddy | |
strategy: | |
fail-fast: false | |
matrix: | |
provider: [docker, docker_swarm] # , kubernetes] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Go 1.22 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22 | |
cache-dependency-path: | | |
go.sum | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: sablier-image-tar | |
path: /tmp | |
- name: Load Docker image | |
run: docker load --input /tmp/sablier.tar | |
- name: Download Caddy artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: caddy-image-tar | |
path: /tmp | |
- name: Load Caddy Docker image | |
run: docker load --input /tmp/caddy.tar | |
- name: Test ${{ matrix.provider }} | |
run: cd plugins/caddy/e2e/${{ matrix.provider }} && bash ./run.sh | |
build-proxywasm: | |
name: Build ProxyWasm Plugin once and share it to ProxyWasm E2E jobs | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup TinyGo | |
uses: acifani/setup-tinygo@v2 | |
with: | |
tinygo-version: '0.33.0' | |
- name: Build | |
run: make proxywasm | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: proxywasm-plugin-wasm | |
path: ./plugins/proxywasm/sablierproxywasm.wasm | |
proxywasm_apisix_e2e: | |
name: Run Sablier E2E tests for Proxywasm middleware on Apache APISIX | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
- build-proxywasm | |
strategy: | |
fail-fast: false | |
matrix: | |
provider: [ docker ] #, docker_swarm, kubernetes] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Go 1.22 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22 | |
cache-dependency-path: | | |
go.sum | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: sablier-image-tar | |
path: /tmp | |
- name: Load Docker image | |
run: docker load --input /tmp/sablier.tar | |
- name: Download Proxywasm artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: proxywasm-plugin-wasm | |
path: ./plugins/proxywasm | |
- name: Test ${{ matrix.provider }} | |
run: cd plugins/proxywasm/e2e/apacheapisix/${{ matrix.provider }} && bash ./run.sh | |
proxywasm_envoy_e2e: | |
name: Run Sablier E2E tests for Proxywasm middleware on Envoy | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
- build-proxywasm | |
strategy: | |
fail-fast: false | |
matrix: | |
provider: [ docker ] #, docker_swarm, kubernetes] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Go 1.22 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22 | |
cache-dependency-path: | | |
go.sum | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: sablier-image-tar | |
path: /tmp | |
- name: Load Docker image | |
run: docker load --input /tmp/sablier.tar | |
- name: Download Proxywasm artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: proxywasm-plugin-wasm | |
path: ./plugins/proxywasm | |
- name: Test ${{ matrix.provider }} | |
run: cd plugins/proxywasm/e2e/envoy/${{ matrix.provider }} && bash ./run.sh | |
proxywasm_nginx_e2e: | |
name: Run Sablier E2E tests for Proxywasm middleware on Nginx | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
- build-proxywasm | |
strategy: | |
fail-fast: false | |
matrix: | |
provider: [ docker ] #, docker_swarm, kubernetes] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Go 1.22 | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22 | |
cache-dependency-path: | | |
go.sum | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: sablier-image-tar | |
path: /tmp | |
- name: Load Docker image | |
run: docker load --input /tmp/sablier.tar | |
- name: Download Proxywasm artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: proxywasm-plugin-wasm | |
path: ./plugins/proxywasm | |
- name: Test ${{ matrix.provider }} | |
run: cd plugins/proxywasm/e2e/nginx/${{ matrix.provider }} && bash ./run.sh |