Skip to content

Tests

Tests #1991

Workflow file for this run

name: Tests
on:
push:
branches: [main]
paths:
- "client/scripts/ci"
- "client/scripts/minio"
- ".github/workflows/tests.yml"
- "**/*.go"
- go.mod
schedule:
- cron: "0 8 * * *"
pull_request:
repository_dispatch:
types: [tests]
workflow_dispatch:
jobs:
unit_server:
name: Tests
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: server/go.mod
- name: Install Task
uses: arduino/setup-task@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Prepare environment
run: |
sudo apt-get update
sudo apt-get install -y gpg
- name: Set up git config
run: task ci:setup:git-config
- name: Install 3p-git-signatures
run: task ci:install:3p-git-signatures
- name: Install ginkgo
run: task deps:install:ginkgo
- name: Test
run: task server:test:unit
- name: Upload coverage artifact
uses: actions/upload-artifact@v4
with:
name: test_coverage
path: ${{github.workspace}}/server/test_coverage
e2e_client:
name: End-to-end tests
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: e2e/go.mod
- name: Install Task
uses: arduino/setup-task@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up prebuilt trdl test binary
run: task client:build-with-coverage
- name: Set up git config
run: task ci:setup:git-config
- name: Prepare environment
run: |
sudo apt-get update
sudo apt-get install -y gpg
- name: Install 3p-git-signatures
run: task ci:install:3p-git-signatures
- name: Install ginkgo
run: task -p deps:install:ginkgo
- name: Test
run: task e2e:test:e2e
- name: Upload coverage artifact
uses: actions/upload-artifact@v4
with:
name: e2e_coverage
path: ${{github.workspace}}/e2e/e2e_coverage
# notification:
# name: Notification
# if: always()
# needs:
# - unit_server
# - e2e_client
# uses: werf/common-ci/.github/workflows/notification.yml@main
# secrets:
# loopNotificationGroup: ${{ secrets.LOOP_NOTIFICATION_GROUP }}
# webhook: ${{ secrets.LOOP_NOTIFICATION_WEBHOOK }}
# notificationChannel: ${{ secrets.LOOP_NOTIFICATION_CHANNEL }}