diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml new file mode 100644 index 0000000..3e3bedf --- /dev/null +++ b/.github/workflows/integration-tests.yml @@ -0,0 +1,48 @@ +#? CV_project/.github/workflows/integration-tests.yml +--- +name: integration tests + +# events workflow +on: + push: + paths: + - api/** + - .github/workflows/integration-tests.yml + branches: + - main + pull_request: + paths: + - api/** + - .github/workflows/integration-tests.yml + branches: + - main + workflow_dispatch: null + +# jobs workflow +jobs: + integration-tests: + runs-on: ubuntu-latest + steps: + - name: checkout code + uses: actions/c + - name: set up go + uses: actions/setup- + with: + go-version: 1.22.0 + - name: install dependencies + run: go mod tidy + working-directory: ./api + - name: run integration tests + run: go test -v ./test + working-directory: ./a + - name: verify go installation + run: go version + - name: cache go modules + uses: actions/cac + with: + path: | + ~/go/pkg/mod + ~/.cache/go-build + key: ${{ runner.os }}-go-${{ hashFiles('api/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml new file mode 100644 index 0000000..0c8c705 --- /dev/null +++ b/.github/workflows/unit-tests.yml @@ -0,0 +1,48 @@ +#? CV_project/.github/workflows/unit-tests.yml +--- +name: unit tests + +# events workflow +on: + push: + paths: + - api/** + - .github/workflows/unit_test.yml + branches: + - main + pull_request: + paths: + - api/** + - .github/workflows/unit_test.yml + branches: + - main + workflow_dispatch: null + +# jobs workflow +jobs: + unit-tests: + runs-on: ubuntu-latest + steps: + - name: checkout code + uses: actions/checkout@v4 + - name: set up go + uses: actions/setup-go@v5 + with: + go-version: 1.22.0 + - name: install dependencies + run: go mod tidy + working-directory: ./api + - name: run unit tests + run: go test -v ./... + working-directory: ./api + - name: verify go installation + run: go version + - name: cache go modules + uses: actions/cache@v4 + with: + path: | + ~/go/pkg/mod + ~/.cache/go-build + key: ${{ runner.os }}-go-${{ hashFiles('api/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- diff --git a/.github/workflows/venom-tests.yml b/.github/workflows/venom-tests.yml new file mode 100644 index 0000000..21e3b38 --- /dev/null +++ b/.github/workflows/venom-tests.yml @@ -0,0 +1,41 @@ +#? CV_project/.github/workflows/venom-tests.yml +--- +name: venom tests + +# events workflow +on: + push: + paths: + - api/** + - .github/workflows/venom-tests.yml + branches: + - main + - develop + pull_request: + paths: + - api/** + - .github/workflows/venom-tests.yml + branches: + - main + - develop + workflow_dispatch: null + +# jobs workflow +jobs: + venom-tests: + runs-on: ubuntu-latest + steps: + - name: checkout code + uses: actions/checkout@v4 + - name: install docker compose + run: sudo apt-get install docker-compose + - name: start docker compose services + run: docker-compose up -d + - name: install venom + run: | + curl https://github.com/ovh/venom/releases/download/v1.0.1/venom.linux-amd64 -L -o /usr/local/bin/venom + chmod +x /usr/local/bin/venom + - name: run e2e tests + run: /usr/local/bin/venom run #TODO: add venom file path + - name: stop docker compose + run: docker-compose down