Skip to content

Prepare for v1.14.0 release (#518) #43

Prepare for v1.14.0 release (#518)

Prepare for v1.14.0 release (#518) #43

Workflow file for this run

---
name: Pulumi Kubernetes Operator Release
on:
push:
tags:
- v*.*.*
env:
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
operator-int-tests:
runs-on: ubuntu-latest
name: Integration Testing
steps:
- name: Check out code
uses: actions/checkout@v2
with:
# The following are to allow tests to run against local commits.
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
# go-git doesn't like detached state.
- run: git switch -C "pull-request"
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: "1.21.x"
- name: Install Ginkgo testing framework
run: |
# Do the install from outside the code tree to avoid messing with go.sum
cd /tmp; go install github.com/onsi/ginkgo/v2/[email protected]
- name: Configure AWS credentials to use in AWS Stack tests
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-2
role-duration-seconds: 3600
role-external-id: "pulumi-kubernetes-operator"
role-session-name: "pulumi-kubernetes-operator@githubActions"
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }}
- name: Install Pulumi CLI
uses: pulumi/setup-pulumi@v2
- name: Set env variables and path
run: |
echo '$HOME/.pulumi/bin' >> $GITHUB_PATH
echo "STACK=ci-cluster-$(head /dev/urandom | LC_CTYPE=C tr -dc '[:lower:]' | head -c5)" >> $GITHUB_ENV
- name: Tests
run: |
# Create GKE test cluster to install CRDs and use with the test operator.
scripts/ci-infra-create.sh
# Source the env variables created in the script above
cat ~/.envfile
. ~/.envfile
# Run tests
make test
- name: Cleanup
if: ${{ always() }}
run: |
scripts/ci-infra-destroy.sh
release:
needs: [operator-int-tests]
runs-on: ubuntu-latest
name: Tag Release
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: "1.21.x"
- name: Login to Docker Hub
run: |
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login docker.io -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
- name: GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
args: release --skip-sign
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}