# 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