Skip to content

ci: update examples to latest spec #358

ci: update examples to latest spec

ci: update examples to latest spec #358

Workflow file for this run

name: Run CI
on:
push:
branches: [ main ]
paths-ignore:
- '**.md' # Do not need to run CI for markdown changes.
pull_request:
branches: [ main ]
paths-ignore:
- '**.md'
jobs:
rockspec-info:
uses: ./.github/workflows/rockspec-info.yml
rockspecs:
needs: rockspec-info
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- id: set-matrix
run: |
data=$(echo '${{ needs.rockspec-info.outputs.info }}' | jq -c 'to_entries | map(.value.rockspec)')
echo "matrix=$data" >> $GITHUB_OUTPUT
linux-build:
needs: rockspecs
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
strategy:
fail-fast: false
matrix:
version: ["5.1", "5.2", "5.3", "luajit-2.0.5"]
package: ${{ fromJSON(needs.rockspecs.outputs.matrix) }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ci
with:
lua-version: ${{ matrix.version }}
rockspec: ${{ matrix.package }}
aws-arn: ${{ vars.AWS_ROLE_ARN_EXAMPLES }}
web-server-examples:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
strategy:
fail-fast: false
matrix:
name: ["hello-haproxy", "hello-nginx"]
steps:
- uses: actions/checkout@v4
- name: Get C++ Versions
id: cpp-versions
uses: ./.github/actions/cpp-versions
- name: Build ${{ matrix.name }} image
run: |
docker build \
--build-arg="CPP_SDK_VERSION=${{ steps.cpp-versions.outputs.sdk }}" \
-t launchdarkly:${{ matrix.name }} -f ./examples/${{ matrix.name }}/Dockerfile .
- uses: launchdarkly/gh-actions/actions/[email protected]
name: 'Verify ${{ matrix.name}} example output'
with:
use_server_key: true
role_arn: ${{ vars.AWS_ROLE_ARN_EXAMPLES }}
command: |
docker run -dit --rm --name ${{ matrix.name }} -p 8123:80 --env LAUNCHDARKLY_SDK_KEY="$LAUNCHDARKLY_SDK_KEY" launchdarkly:${{ matrix.name }}
curl --retry 5 --retry-all-errors --retry-delay 1 -s -v http://localhost:8123 | tee response.txt
cat response.txt
- name: Stop ${{ matrix.name }} container
run: |
docker stop ${{ matrix.name }}
plain-lua-examples:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
strategy:
fail-fast: false
matrix:
name: [ "hello-debian"]
steps:
- uses: actions/checkout@v4
- name: Get C++ Versions
id: cpp-versions
uses: ./.github/actions/cpp-versions
- name: Build ${{ matrix.name }} image
run: |
docker build \
--build-arg="CPP_SDK_VERSION=${{ steps.cpp-versions.outputs.sdk }}" \
-t launchdarkly:${{ matrix.name }} -f ./examples/${{ matrix.name }}/Dockerfile .
- uses: launchdarkly/gh-actions/actions/[email protected]
name: 'Verify ${{ matrix.name}} example output'
with:
use_server_key: true
role_arn: ${{ vars.AWS_ROLE_ARN_EXAMPLES }}
command: |
docker run --env LAUNCHDARKLY_SDK_KEY="$LAUNCHDARKLY_SDK_KEY" launchdarkly:${{ matrix.name }} > logs.txt
cat logs.txt