blob: ca6612616bc8d451c70e6a350ec9000cfbdd45e7 [file] [log] [blame]
# This workflow will be triggered daily.
# For local testing, run:
# gcloud builds submit --config release-nightly.yaml --no-source
# This will check out the vscode-go repo master branch and run the build from it.
steps:
# TODO: check build/test status
- name: gcr.io/cloud-builders/git
args:
- clone
- '--branch=master'
- '--depth=1'
- 'https://go.googlesource.com/vscode-go'
- vscode-go
id: clone vscode-go repo
- name: gcr.io/cloud-builders/docker
args:
- '-R'
- '1000:1000'
- /workspace
- /builder/home
dir: /
id: adjust file permissions
entrypoint: chown
- name: us-docker.pkg.dev/$PROJECT_ID/vscode-go-docker-repo/ci-image
args:
- ci
dir: vscode-go/extension
id: install npm dependencies
entrypoint: npm
- name: us-docker.pkg.dev/$PROJECT_ID/vscode-go-docker-repo/ci-image
args:
- build/all.bash
- prepare_nightly
dir: vscode-go
id: prepare nightly release
entrypoint: bash
- name: us-docker.pkg.dev/$PROJECT_ID/vscode-go-docker-repo/ci-image
args:
- run
- package
dir: vscode-go/extension
id: build .vsix
entrypoint: npm
- name: ubuntu
args:
- '-c'
- ls -1 go-nightly-*.vsix | tee /workspace/vsix_name.txt
dir: vscode-go/extension
id: store the vsix file name
entrypoint: bash
- name: us-docker.pkg.dev/$PROJECT_ID/vscode-go-docker-repo/ci-image
env:
- IN_RELEASE_WORKFLOW=true
args:
- build/all.bash
- test_nightly
dir: vscode-go
id: run tests
entrypoint: bash
- name: us-docker.pkg.dev/$PROJECT_ID/vscode-go-docker-repo/ci-image
args:
- '-c'
- >
npx vsce publish -i $(cat /workspace/vsix_name.txt) -p $$VSCE_PAT
--baseContentUrl=https://github.com/golang/vscode-go
--baseImagesUrl=https://github.com/golang/vscode-go
dir: vscode-go/extension
id: publish nightly extension
entrypoint: bash
secretEnv:
- VSCE_PAT
timeout: 1800s
options:
machineType: E2_HIGHCPU_8
substitutionOption: ALLOW_LOOSE
artifacts:
objects:
location: 'gs://$PROJECT_ID/nightly'
paths:
- vscode-go/extension/*.vsix
availableSecrets:
secretManager:
- versionName: projects/$PROJECT_ID/secrets/$_VSCE_TOKEN/versions/latest
env: VSCE_PAT