Add nil check for current docker context #255
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: Acceptance testing (using e2e framework and examples) | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
types: [opened, synchronize, closed] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out slimtoolkit/slim repo | |
uses: actions/checkout@v4.2.1 | |
- name: Set up Go development environment | |
uses: actions/setup-go@v5.0.2 | |
with: | |
go-version: '1.21.4' | |
- name: Build Slim (multi-arch) | |
run: make build | |
- name: Upload Slim app binaries (Linux, amd64) | |
uses: actions/upload-artifact@v4.4.3 | |
with: | |
name: dist_linux | |
path: dist_linux | |
retention-days: 1 | |
- name: Upload Slim app binaries (Linux, arm64) | |
uses: actions/upload-artifact@v4.4.3 | |
with: | |
name: dist_linux_arm64 | |
path: dist_linux_arm64 | |
retention-days: 1 | |
- name: Upload Slim app binaries (Linux, arm) | |
uses: actions/upload-artifact@v4.4.3 | |
with: | |
name: dist_linux_arm | |
path: dist_linux_arm | |
retention-days: 1 | |
- name: Upload Slim app binaries (macOS, amd64) | |
uses: actions/upload-artifact@v4.4.3 | |
with: | |
name: dist_mac | |
path: dist_mac | |
retention-days: 1 | |
# Run sensor tests using the e2e testing framework. | |
test-sensor-e2e: | |
needs: build | |
strategy: | |
matrix: | |
os: | |
# macos runners don't support docker yet | |
- ubuntu-latest | |
include: | |
- os: ubuntu-latest | |
bin_artifacts: dist_linux | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Check out slimtoolkit/slim repo | |
uses: actions/checkout@v4.2.1 | |
- name: Set up Go development environment | |
uses: actions/setup-go@v5.0.2 | |
with: | |
go-version: '1.21.4' | |
- name: Download Slim app binaries | |
uses: actions/download-artifact@v4.1.8 | |
with: | |
name: ${{ matrix.bin_artifacts }} | |
path: bin | |
- name: Fix Slim app binaries permissions | |
run: chmod a+x bin/* | |
- name: Add Slim bin folder to $PATH | |
run: echo "${GITHUB_WORKSPACE}/bin" >> $GITHUB_PATH | |
- name: Run sensor e2e tests | |
timeout-minutes: 60 | |
run: make test-e2e-sensor | |
# Run full-cycle tests (ab)using the slimtoolkit/examples repository. | |
test-full-e2e: | |
needs: build | |
strategy: | |
matrix: | |
os: | |
# macos runners don't support docker yet | |
- ubuntu-latest | |
suite: | |
- compose | |
- distroless | |
- dotnet | |
- elixir | |
- golang | |
- haskell | |
- http-probe | |
- image-edit | |
- java | |
- node | |
- php | |
- python | |
- ruby | |
- rust | |
include: | |
- os: ubuntu-latest | |
bin_artifacts: dist_linux | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Check out slimtoolkit/slim repo | |
uses: actions/checkout@v4.2.1 | |
- name: Check out slimtoolkit/examples repo | |
uses: actions/checkout@v4.2.1 | |
with: | |
repository: slimtoolkit/examples | |
path: e2e | |
- name: Download Slim app binaries | |
uses: actions/download-artifact@v4.1.8 | |
with: | |
name: ${{ matrix.bin_artifacts }} | |
path: bin | |
- name: Fix Slim app binaries permissions | |
run: chmod a+x bin/* | |
- name: Add Slim app bin folder to $PATH | |
run: echo "${GITHUB_WORKSPACE}/bin" >> $GITHUB_PATH | |
- name: Run all e2e tests from slimtoolkit/examples | |
timeout-minutes: 60 | |
run: | | |
export DSLIM_LOG_LEVEL=debug | |
export DSLIM_SHOW_CLOGS=1 | |
export DSLIM_EXAMPLES_DIR=e2e | |
make test-e2e-${{ matrix.suite }} |