name: Publish APIs & Clients on: [push] jobs: docs: name: Generate docs runs-on: ubuntu-latest steps: - name: Set up Go 1.13 uses: actions/setup-go@v2 with: go-version: 1.13 id: go - name: Install Protoc uses: arduino/setup-protoc@master - name: Check out this code uses: actions/checkout@v2 with: path: services - name: Check out micro code uses: actions/checkout@v2 with: repository: 'micro/micro' path: 'micro' ref: 'master' - name: Enable caching uses: actions/cache@v2 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Install protoc gen micro plugin working-directory: micro/cmd/protoc-gen-micro run: | go get -u github.com/golang/protobuf/protoc-gen-go go install - name: Install openapi plugin working-directory: micro/cmd/protoc-gen-openapi run: | go install - name: install postman converter working-directory: services run: | sudo npm install -g openapi-to-postmanv2 sudo npm install -g prettier openapi2postmanv2 -h - name: Generate openapi spec and publish the api working-directory: services if: github.ref == 'refs/heads/master' run: | go run cmd/publisher/main.go . env: MICRO_ADMIN_TOKEN: ${{ secrets.MICRO_ADMIN_TOKEN }} - name: Generate package working-directory: services env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} run: | pwd cd cmd/clients; go install; cd ../..; clients . - uses: EndBug/add-and-commit@v7 with: cwd: './services' - name: npm install working-directory: services if: github.ref == 'refs/heads/master' run: | git status cd clients/ts; npm install npm run build npm publish --access public - name: npm install beta working-directory: services if: github.ref == 'refs/heads/beta' env: IS_BETA: yep run: | git status cd clients/ts; npm install npm run build npm publish --access public --tag beta