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

# 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