diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 426deaa9a..fd3c33865 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -8,6 +8,7 @@ on: pull_request: branches: - master + jobs: go-lint: name: Lint Go code @@ -43,6 +44,28 @@ jobs: exit 1 fi + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: 'npm' + cache-dependency-path: '**/package-lock.json' + + - name: Build and Lint OpenAPI spec + run: make lintapi gen + + - name: Verify no changes + run: | + git status --porcelain + if [ -n "$(git status --porcelain)" ]; then + echo 'Changes to OpenAPI spec caused changes to the code. Please review and commit the changes.' + exit 1 + fi + + - uses: actions/upload-artifact@v3 + with: + name: openapi.yaml + path: api/openapi.yaml + go: name: Test with Go ${{ matrix.go_version }} runs-on: ubuntu-latest @@ -109,37 +132,9 @@ jobs: name: js-bundle path: ui/build - api: - name: Build OpenAPI spec - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: 18 - cache: 'npm' - cache-dependency-path: '**/package-lock.json' - - - run: make lintapi - - - run: make gen - - - name: Verify no changes - run: | - git status --porcelain - if [ -n "$(git status --porcelain)" ]; then - echo 'Changes to OpenAPI spec caused changes to the code. Please review and commit the changes.' - exit 1 - fi - - - uses: actions/upload-artifact@v3 - with: - name: openapi.yaml - path: api/openapi.yaml - binaries: name: Build binaries - needs: [js, go, go-lint, api] + needs: [js, go, go-lint] runs-on: ubuntu-latest steps: - name: Checkout Code diff --git a/server/api/openapi_api.gen.go b/server/api/openapi_api.gen.go index 3ae9c5e50..7e8ba9531 100644 --- a/server/api/openapi_api.gen.go +++ b/server/api/openapi_api.gen.go @@ -1263,53 +1263,54 @@ func (sh *strictHandler) GetTrack(w http.ResponseWriter, r *http.Request, trackI // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "H4sIAAAAAAAC/+xb744btxF/FYItkATZSFcn7QcB/XBOk+AC/zmcr/UH5wpwd0daxrvkmuTqTjkI6Gv0", - "9fokBYfcf1qutJJ9Nnzwl/i05Mz8ZjicPyRzTxNZlFKAMJou7mnJFCvAgMJfS54bUD9KYRgX+CUFnShe", - "Gi4FXdCfcZzEG8LEhpRKlqDMhiSOgIsVMXBnZuSfmq1gQRy7N35Y3/y9plisWV4BjSi3XN9VoDY0ooIV", - "QBd0l4pGVCcZFMzi4QYKD9wYUJb837/9dvvtwv6HRtRsSstDG8XFim6bD0wptqHbbeTZ/yRS/ZqbbLKO", - "JmOGgEg1ueUmC+oJnudxejZUD6Pnu4rl01cSdWOCwB1LDCmYSbKBlsjxSB0dzYNo+IsCZkC9dKoe0lRU", - "BSietBqvHLldX0GkIgiVGEkYQcV21V/1xB1nhh3aqeZITzDHdcbE+9liv/6W/0nKI+GDaP4MtD7VC3LQ", - "erIL5K2g40zQJXwwE5y08q3+e3Q+fs0bqgfR9pVhypwQxTXSjcdx3fA9TtsO3QeOdFwkeZXCUM0ryJmB", - "lCjQslIJaOu2fjbhgpgM7FgphYaIaLDp3s6PbdIuCqZHNKoFdtXYgbmNaMlW8IwX3AyBXWdgvSwGReSS", - "oAVICYpYkhGZduhNbtn1zZfCklW5oYu/nEV0KVXBDCI03z+hES244EVV0MVZYzcuDKxANRBfLpcaRjBK", - "HCNLidC4YDi2B6AjGEF4AkAtVQDaK6lMvXhVbrRdMCnARqdCKqgdmoMOruqMXCpY8jtk0U/uX333FWpr", - "5YFIbc0mVQpqNqI04tvnBtuI1h6GTv6UpVfwrgKNatkqDgT+ycoy5wkaeL4W6YyV/NvftcRg1bL/s4Il", - "XdA/zds6de5G9fwnpaR6xrVxYvsme8pSUgveRvRC2K3G8leg1qCQ8uPiqQEQh4A4CNuIvpDmvDKZVPwP", - "SD8uphfSkI5sB+ZnWYlPgMOJxS3gSCzH8zy2W+Wesjx/uaSLN/uFXPmw9zL+HRK77Pe03RnIxhjF48q4", - "X/tYoeTzdjq6dY4W0BkvXfzu81aGa9dFNRH+sAQkuupwHgb8iBrFkrdHcr62NPsZo07vKq6s371pFGjk", - "3TQE0ht0O/hys43omCYDE6XMHHSUwRrSAg5TOenPwbCXLdSucsgkcgiGetU69Nyjj30FQkE4aeCQzWs2", - "vDJ02UAWV5AD0/APZkbY+AkkZWbArUkjdjBYI3CTj/DFoQPwdqzluPUxR94Eo9YbetwHcYAdaOMriC7w", - "aYIFij4uWliL6XELTdvoTq5lddROH7VhG2jeG9Xx8WcE1XZqFBoxxmcVhXYdaQA+5nK4y8+JzmyFGHO5", - "UqzMNs1ud3siEC9cORcs01kBh+i3o9g7yg+wK+lC1GETXtmZu8ZD8nGrXcmxAGgJrUa2ncWpthViBJ3d", - "ltB1TARhi406EdLIbVIfV24CRhzz9A/sch/Dikc6alvODfCBHZperCCnVue9EcKzHgU05ngpGMbzQLcS", - "UZ4GP2vDTKWDQ02mnbAnLpse8hkXocC65MrZsEnwleKh/ZqzafME3E2aVypYH563X6fnQf9MKqVAmEvb", - "2Qe3o5+AvX99KJHIPIfEN9uDnnm3T46okYblF7V/BWoeOz44cXgfYVaficKsYicKCxl8JzAMDO5ceAir", - "EvxdBYSnIAxfclDY6PtTBOQ4ftg0LVRd27m7m5SnNdubPcpcezEBa27KJv90gDbB2QfrNjXZ8BsMz67T", - "vhBLGai/KpNdNah3cbzOwGTgjFVpUCRjmrAkwWNRiZ81Mp9ZZHesKG1IMKqCBkYsZQ5MWBxLYKZSIe85", - "J7lNR3JJJH5iOaknd4QQXZWlVEbjoUzt9D2D6MYieIRXoLPeHDxLjKiTcLgSqJHIpbllCnp6U8HWPFWy", - "CDqUo/wXKM2lCAtau8HOFhqxMD2b/e1sdnawf/Fa7QqP+sveWZmQq2Je/yT9BEo+0E4cpL/qUYwUzU7S", - "592671or3GtNKHbtNPzLVYYx5FKs7IYPuTXOZk3POWRdKl4wtalLzoNCZkEpewQMC3Vym0lSgrJpBtJW", - "SohzzI0aPYrwgw33KuWSLHmO+fotz2XMjTvA15BIkZKv38al/mYWTJ9xOWL8GJjnUnBRGSBfP718/k0t", - "FJGHOSYZEwJyfeieweGuZ9cZeR9jWRT1U4idSC02hKUp91G6nmjbByENaMJiWZkg/9bmKddJGLMdqYHf", - "cpNhg1JUueHf4RC6TRhzWil3SxFm7Ed7VrWWcAunu0XJMpes0+w5OFbE1LOvcc0LXoAZTfnPL57/1Mv7", - "rcPNwkdpiVQpF6vvinis+nleaZ48VYyLP8IlkGdxGLvmf4zgtiPhPRJvDOjwek09qRvduabOSwEGuLp9", - "P2qizggcS3K6HcfNtgGm9h902hl9v6yb8Vm4NA4dUfabddoPzLWxOg7Y2TCdQNLGQ7/eo4nmauq53gc9", - "qo+Ovl4Yy+xTbwGCRwQakkpxs3llhfgDKWAK1Hnlbt3dr5/riPLr6+v6shBrYhxt1zYzpnT3QdwX6fjK", - "yzU5/sLxRae2rFTuqfRiPm+qzplULrzueBrXRJeQEPc99jV1w5CcX15E5DbjSUZYnstbjbU+Vvixkrca", - "CBMpKZiwjarJgCtS2N1Ach4rm9rXnBFGfn318sXi/PKCkJhpSIn1WLVkCcyI9XY7Uiq55iloAiItJbeJ", - "Y1n7uo6c8+vIZ3EdkTJnG9sZaETgyvmIMFsq+HcKiIb0qsIZ+THnmJQSJogCozisbTRyAd4mgTZJ9Rpi", - "r0/kXzygUC2Vqa+bI/xSVxaEYTuria6s5TRJFDBjQ6mdlUIO+KPRYUZeO8hcO5OnsIbcbhqHNK54nnrL", - "srJ0OmP1z/EFQ8YM2nSFJQmq366hI3NlfuTtjFCIBlbgOxa4K0FxEAmg0Zs19v0cSgssctu4z36zscLH", - "bdrzHxrRdd3Z0LPZk9mZdURZgmAlpwv6/cy1KyUzGW6XeRsgVu4RgjUErs5FShf0F3BH2BqJ2seYI81H", - "O2Xevr6wrceEyf4dxITZvbeDk+c370YnUzTvlY6iqB95TSbqvok7luhoYZ1XSdMtXb9GnUCBDzImzKuf", - "8Gxvdh5oPDk7O+m2/31uiDBVB5JcXp+S7qPePVSd2GfunFsGb59qBIHkN8gv7dmN39LbiP7gbBmC0dh8", - "3nkRgyTfHybpvxHZRvSvUwSF3rxgFq8K25niezGfJNhAmW1Ux6r5Pf57kW4PRq2jg1bjldG0E8ydW2x8", - "oWRja/tAyWOl3dV1B3Pjb5YedktM2AkTb0KHPij8gUJbpJ7mTz+c/TCJyr/SeQAHFISLlK95WrHcr6/z", - "wbbuHXW95uDzS8b8kjEfZ8Z0/ezjSZl+yz6SnFlr0wlY83v3x6G0WR9UfJy8WUsLJU4P93PJnH5HvE/q", - "9Cfzjyx3toaZt7d7Y/7XuSP9ZEvZwXDycl53/s+G//3nv5pYSvIWNqRgpWv3m9tkv+Ik5djeM7UhCkoF", - "2m4XsepdPn7qaPMLGI/lK01WuYxZjic6bn3b93pj63vtZnwpjb6URo+0NHLX9I+mMvJb+jMsjGyoYgM9", - "2jA1v8d/DxRE1/7C5qPUQ/XtUKAc8lg/k2rIb4KTi6H6/u1xlULGW6Vzc4XO1L2zenNjl82lWOdq7pZp", - "zko+Xz+h25vt/wMAAP//BBDs6CVBAAA=", + "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", + "CjpdPsPr2/X/AgAA//8ulwADnUEAAA==", } // GetSwagger returns the content of the embedded swagger specification file