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