| name: Release (golang.go-nightly) |
| |
| # Daily release on 15:00 UTC, monday-thursday. |
| # Or, force to release by triggering repository_dispatch events by using |
| # curl -v -H "Accept: application/vnd.github.everest-preview+json" -H "Authorization: token ${GITHUB_TOKEN}" https://api.github.com/repos/golang/vscode-go/dispatches -d '{ "event_type": "force-release" }' |
| on: |
| schedule: |
| - cron: "0 15 * * MON-THU" # 15 UTC, monday-thursday daily |
| repository_dispatch: |
| types: [force-release] |
| |
| jobs: |
| release: |
| if: github.ref == 'refs/heads/master' && github.repository == 'golang/vscode-go' |
| |
| name: Release Nightly |
| runs-on: ubuntu-latest |
| timeout-minutes: 20 |
| |
| steps: |
| - name: Clone repository |
| uses: actions/checkout@v2 |
| |
| - name: Setup Node |
| uses: actions/setup-node@v1 |
| with: |
| node-version: '10.x' |
| |
| - name: Setup Go |
| uses: actions/setup-go@v2 |
| with: |
| go-version: '1.15' |
| |
| - name: Install dependencies |
| run: npm ci |
| |
| - name: Prepare Release |
| run: build/all.bash prepare_nightly |
| |
| - name: Compile |
| run: npm run vscode:prepublish |
| |
| # TODO: use prerelease versions of tools (how? or master?) |
| |
| - name: Install Go tools (Modules mode) |
| run: | |
| go version |
| go get github.com/acroca/go-symbols |
| go get github.com/davidrjenni/reftools/cmd/fillstruct |
| go get github.com/haya14busa/goplay/cmd/goplay |
| go get github.com/mdempsky/gocode |
| go get github.com/sqs/goreturns |
| go get github.com/uudashr/gopkgs/v2/cmd/gopkgs |
| go get github.com/zmb3/gogetdoc |
| go get golang.org/x/lint/golint |
| go get golang.org/x/tools/cmd/gorename |
| go get golang.org/x/tools/gopls |
| go get github.com/cweill/gotests/... |
| go get github.com/rogpeppe/godef |
| go get github.com/ramya-rao-a/go-outline |
| go get github.com/go-delve/delve/cmd/dlv |
| env: |
| GO111MODULE: on |
| |
| - name: Run unit tests |
| run: npm run unit-test |
| |
| - name: Run tests |
| uses: GabrielBB/xvfb-action@v1.0 |
| with: |
| run: npm run test |
| env: |
| CODE_VERSION: 'insiders' |
| VSCODEGO_BEFORE_RELEASE_TESTS: true |
| |
| - name: Publish |
| if: github.ref == 'refs/heads/master' && github.repository == 'golang/vscode-go' |
| uses: lannonbr/vsce-action@704da577da0f27de5cdb4ae018374c2f08b5f523 |
| with: |
| args: "publish -p $VSCE_TOKEN" |
| env: |
| VSCE_TOKEN: ${{ secrets.VSCE_TOKEN }} |