mirror of https://github.com/databricks/cli.git
95 lines
2.5 KiB
YAML
95 lines
2.5 KiB
YAML
name: release-snapshot
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "main"
|
|
- "demo-*"
|
|
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
goreleaser:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository and submodules
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Unshallow
|
|
run: git fetch --prune --unshallow
|
|
|
|
- name: Setup Go
|
|
id: go
|
|
uses: actions/setup-go@v3
|
|
with:
|
|
go-version: 1.19.5
|
|
|
|
- name: Locate cache paths
|
|
id: cache
|
|
run: |
|
|
echo "GOMODCACHE=$(go env GOMODCACHE)" >> $GITHUB_OUTPUT
|
|
echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_OUTPUT
|
|
|
|
# Note: use custom caching because below performs a cross platform build
|
|
# through goreleaser and don't want to share a cache with the test builds.
|
|
- name: Setup caching
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
${{ steps.cache.outputs.GOMODCACHE }}
|
|
${{ steps.cache.outputs.GOCACHE }}
|
|
key: release-${{ runner.os }}-go-${{ steps.go.outputs.go-version }}-${{ hashFiles('go.sum', '.goreleaser.yaml') }}
|
|
|
|
- name: Hide snapshot tag to outsmart GoReleaser
|
|
run: git tag -d snapshot || true
|
|
|
|
- name: Run GoReleaser
|
|
uses: goreleaser/goreleaser-action@v4
|
|
with:
|
|
version: latest
|
|
args: release --snapshot
|
|
|
|
- name: Upload macOS binaries
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: cli_darwin_snapshot
|
|
path: |
|
|
dist/*_darwin_*/
|
|
|
|
- name: Upload Linux binaries
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: cli_linux_snapshot
|
|
path: |
|
|
dist/*_linux_*/
|
|
|
|
- name: Upload Windows binaries
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: cli_windows_snapshot
|
|
path: |
|
|
dist/*_windows_*/
|
|
|
|
- name: Update snapshot tag
|
|
|
|
# Snapshot release may only be updated for commits to the main branch.
|
|
# if: github.ref == 'refs/heads/main'
|
|
|
|
run: |
|
|
git tag snapshot
|
|
git push origin snapshot --force
|
|
|
|
- name: Update snapshot release
|
|
|
|
# Snapshot release may only be updated for commits to the main branch.
|
|
# if: github.ref == 'refs/heads/main'
|
|
|
|
uses: softprops/action-gh-release@v1
|
|
with:
|
|
name: Snapshot
|
|
prerelease: true
|
|
tag_name: snapshot
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
files: |
|
|
dist/databricks_cli_*.zip
|