commit
1d162e0cde
3 changed files with 117 additions and 0 deletions
@ -0,0 +1,78 @@ |
|||||||
|
# This is a basic workflow to help you get started with Actions |
||||||
|
|
||||||
|
name: CI |
||||||
|
|
||||||
|
# Controls when the workflow will run |
||||||
|
on: |
||||||
|
# Triggers the workflow on push or pull request events but only for the "main" branch |
||||||
|
push: |
||||||
|
branches: [ "main" ] |
||||||
|
pull_request: |
||||||
|
branches: [ "main" ] |
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab |
||||||
|
workflow_dispatch: |
||||||
|
|
||||||
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel |
||||||
|
jobs: |
||||||
|
# This workflow contains a single job called "build" |
||||||
|
build: |
||||||
|
# The type of runner that the job will run on |
||||||
|
runs-on: ubuntu-latest |
||||||
|
|
||||||
|
# Steps represent a sequence of tasks that will be executed as part of the job |
||||||
|
steps: |
||||||
|
- uses: actions/checkout@v3 |
||||||
|
|
||||||
|
- name: Set up Go |
||||||
|
uses: actions/setup-go@v3 |
||||||
|
with: |
||||||
|
go-version: 1.19 |
||||||
|
check-latest: true |
||||||
|
|
||||||
|
- name: Create dir for binaries |
||||||
|
run: mkdir builds |
||||||
|
|
||||||
|
- name: Download DSP binary |
||||||
|
run: curl -o builds/dsp https://dummy-dsp.s3.eu-central-1.amazonaws.com/dsp |
||||||
|
|
||||||
|
- name: Making it executable |
||||||
|
run: chmod +x builds/dsp |
||||||
|
|
||||||
|
- name: Download tests binary |
||||||
|
run: curl -o builds/tests https://dummy-dsp.s3.eu-central-1.amazonaws.com/tests |
||||||
|
|
||||||
|
- name: Making it executable |
||||||
|
run: chmod +x builds/tests |
||||||
|
|
||||||
|
# your code must be built into builds/ssp binary |
||||||
|
- name: Build SSP binary |
||||||
|
run: echo Ain\'t no ssp yet |
||||||
|
|
||||||
|
#- name: Making it executable |
||||||
|
# run: chmod +x builds/ssp |
||||||
|
|
||||||
|
# run a battery of tests |
||||||
|
- name: happy path |
||||||
|
run: (cd builds && ./tests -test.v -test.run Test_HappyPath) && sleep 1 |
||||||
|
|
||||||
|
- name: not totally happy path, easy difficulty |
||||||
|
run: (cd builds && ./tests -test.v -test.run Test_LessHappyEasy) && sleep 1 |
||||||
|
|
||||||
|
- name: not totally happy path, medium difficulty |
||||||
|
run: (cd builds && ./tests -test.v -test.run Test_LessHappyMedium) && sleep 1 |
||||||
|
|
||||||
|
- name: not totally happy path, hard difficulty |
||||||
|
run: (cd builds && ./tests -test.v -test.run Test_LessHappyHard) && sleep 1 |
||||||
|
|
||||||
|
- name: not happy at all, easy difficulty |
||||||
|
run: (cd builds && ./tests -test.v -test.run Test_NotHappyEasy) && sleep 1 |
||||||
|
|
||||||
|
- name: not happy at all, medium difficulty |
||||||
|
run: (cd builds && ./tests -test.v -test.run Test_NotHappyMedium) && sleep 1 |
||||||
|
|
||||||
|
- name: not happy at all, hard difficulty |
||||||
|
run: (cd builds && ./tests -test.v -test.run Test_NotHappyHard$) && sleep 1 |
||||||
|
|
||||||
|
- name: not happy at all, hardcore difficulty |
||||||
|
run: (cd builds && ./tests -test.v -test.run Test_NotHappyHardcore) && sleep 1 |
@ -0,0 +1,19 @@ |
|||||||
|
# Binaries for programs and plugins |
||||||
|
*.exe |
||||||
|
*.exe~ |
||||||
|
*.dll |
||||||
|
*.so |
||||||
|
*.dylib |
||||||
|
|
||||||
|
# Test binary, built with `go test -c` |
||||||
|
*.test |
||||||
|
|
||||||
|
# Output of the go coverage tool, specifically when used with LiteIDE |
||||||
|
*.out |
||||||
|
|
||||||
|
# Dependency directories (remove the comment below to include it) |
||||||
|
vendor/ |
||||||
|
|
||||||
|
# IDEs directories |
||||||
|
.idea |
||||||
|
.vscode |
@ -0,0 +1,20 @@ |
|||||||
|
Репозиторий с настроенными тестами задания на вакансию Go Junior Developer. |
||||||
|
|
||||||
|
Вам нужно: |
||||||
|
- создать новый репозиторий, используя этот как шаблон (зелёная кнопка Use this template) |
||||||
|
- чуть-чуть поправить файл `.github/workflows/runtests.yml` - добавить в него команду сборки бинарника вашего решения, так, чтобы он оказался по пути `builds/ssp` |
||||||
|
- раскомментировать строчки в воркфлоу, которые разрешают запускать builds/ssp (`chmod +x builds/ssp`) |
||||||
|
|
||||||
|
Дальше, по идее, можно наслаждаться тестами при каждом обновлении кода в ветке `main` |
||||||
|
|
||||||
|
### Обновление шаблона |
||||||
|
|
||||||
|
Чтобы иметь возможность получать обновления автотестов и других частей шаблона, выполните команду: |
||||||
|
|
||||||
|
`git remote add -m main template https://github.com/dimashepelev/ssp-testbed.git` |
||||||
|
|
||||||
|
Для обновления кода автотестов выполните команду: |
||||||
|
|
||||||
|
`git fetch template && git checkout template/main .github` |
||||||
|
|
||||||
|
Затем добавьте полученные изменения в свой репозиторий. |
Loading…
Reference in new issue