You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.6 KiB
78 lines
2.6 KiB
# 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: go build -o builds/ssp cmd/main.go |
|
|
|
- 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
|
|
|