Skip to content

Merge pull request #232 from replicatedhq/laverya/run-two-integration… #26

Merge pull request #232 from replicatedhq/laverya/run-two-integration…

Merge pull request #232 from replicatedhq/laverya/run-two-integration… #26

Workflow file for this run

name: release-go
on:
push:
tags:
- "v*.*.*"
jobs:
unit-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.21
- name: Test
run: make test
integration-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.21
- name: Build
run: make build
- name: Create k8s Kind Cluster
uses: helm/[email protected]
- name: Create Testdata in Cluster
run: ./testing/init.sh
- name: Run PVMigrate
run: ./bin/pvmigrate --source-sc int-source --dest-sc int-dest
- name: Validate Cluster End State
run: ./testing/validate.sh
integration-test-incluster:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.21
- name: Build and push
uses: docker/build-push-action@v5
with:
push: true
file: testing/Dockerfile
tags: ttl.sh/build-test/pvmigrate:latest
- name: Create k8s Kind Cluster
uses: helm/[email protected]
- name: Create Testdata in Cluster
run: ./testing/init.sh
- name: Run PVMigrate
run: kubectl apply -f testing/yaml/migrate-job.yaml
- name: Validate Cluster End State
run: ./testing/validate.sh
goreleaser:
runs-on: ubuntu-latest
needs:
- unit-test
- integration-test
- integration-test-incluster
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Unshallow
run: git fetch --prune --unshallow
- uses: actions/setup-go@v5
with:
go-version: 1.21
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v5
with:
version: latest
args: release --rm-dist --config deploy/.goreleaser.yaml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Sleep for release to be available
run: sleep 15s
- name: Update new pvmigrate version in krew-index
uses: rajatjindal/[email protected]
with:
krew_template_file: deploy/krew/pvmigrate.yaml