Clean up test suite (#134) #289
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: Tests | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
- release/** | |
jobs: | |
cleanup-runs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: rokroskar/workflow-run-cleanup-action@master | |
env: | |
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/main'" | |
test-unit-cover: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
check-latest: true | |
- uses: actions/checkout@v3 | |
- uses: technote-space/[email protected] | |
with: | |
PATTERNS: | | |
**/**.go | |
go.mod | |
go.sum | |
- name: Test and Create Coverage Report | |
run: | | |
make test-unit-cover | |
if: env.GIT_DIFF | |
- uses: codecov/codecov-action@v3 | |
with: | |
file: ./coverage.txt | |
fail_ci_if_error: false | |
if: env.GIT_DIFF | |
test-importer: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
check-latest: true | |
- uses: actions/checkout@v3 | |
- uses: technote-space/[email protected] | |
id: git_diff | |
with: | |
PATTERNS: | | |
**/**.go | |
go.mod | |
go.sum | |
- name: test-importer | |
run: | | |
make test-import | |
if: env.GIT_DIFF | |
test-rpc: | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
steps: | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
check-latest: true | |
- uses: actions/checkout@v3 | |
- uses: technote-space/[email protected] | |
with: | |
PATTERNS: | | |
**/**.sol | |
**/**.go | |
go.mod | |
go.sum | |
- name: Test rpc endpoint | |
run: | | |
make test-rpc | |
if: env.GIT_DIFF | |
sdk_tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Checkout laconic-sdk | |
uses: actions/checkout@v3 | |
with: | |
path: "./laconic-sdk/" | |
repository: cerc-io/laconic-sdk | |
fetch-depth: 0 | |
ref: main | |
- name: Environment | |
run: ls -tlh && env | |
- name: Build laconicd container | |
working-directory: tests/sdk_tests | |
run: ./build-laconicd-container.sh | |
- name: Build laconic-sdk container | |
working-directory: laconic-sdk | |
run: ./scripts/build-sdk-test-container.sh | |
- name: Start containers | |
working-directory: tests/sdk_tests | |
run: docker compose up -d | |
- name: Run tests | |
working-directory: tests/sdk_tests | |
run: ./run-tests.sh | |
- name: Start containers (auctions enabled) | |
working-directory: tests/sdk_tests | |
env: | |
TEST_AUCTION_ENABLED: true | |
run: docker compose up -d | |
- name: Run auction tests | |
working-directory: tests/sdk_tests | |
run: ./run-tests.sh test:auctions | |
- name: Start containers (expiry enabled) | |
working-directory: tests/sdk_tests | |
env: | |
TEST_REGISTRY_EXPIRY: true | |
run: docker compose up -d | |
- name: Run nameservice expiry tests | |
working-directory: tests/sdk_tests | |
run: ./run-tests.sh test:nameservice-expiry | |
# integration_tests: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - uses: cachix/install-nix-action@v18 | |
# - uses: cachix/cachix-action@v12 | |
# with: | |
# name: ethermint | |
# signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}" | |
# - uses: technote-space/[email protected] | |
# with: | |
# PATTERNS: | | |
# **/**.sol | |
# **/**.go | |
# go.mod | |
# go.sum | |
# tests/integration_tests/** | |
# - name: Run integration tests | |
# run: make run-integration-tests | |
# if: env.GIT_DIFF | |
# - name: 'Tar debug files' | |
# if: failure() | |
# run: tar cfz debug_files.tar.gz -C /tmp/pytest-of-runner . | |
# - uses: actions/upload-artifact@v3 | |
# if: failure() | |
# with: | |
# name: debug-files | |
# path: debug_files.tar.gz | |
# if-no-files-found: ignore | |
# upload-cache: | |
# if: github.event_name == 'push' | |
# needs: ["integration_tests"] | |
# strategy: | |
# matrix: | |
# os: [macos-latest] | |
# runs-on: ${{ matrix.os }} | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - uses: cachix/install-nix-action@v18 | |
# - uses: cachix/cachix-action@v12 | |
# with: | |
# name: ethermint | |
# signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}" | |
# - name: 'instantiate integration test env' | |
# run: nix-store -r "$(nix-instantiate tests/integration_tests/shell.nix)" |