Skip to content

Automated pulumi/pulumi upgrade (#526) #169

Automated pulumi/pulumi upgrade (#526)

Automated pulumi/pulumi upgrade (#526) #169

Workflow file for this run

---
name: Pulumi Kubernetes Operator Master Builds
on:
push:
branches:
- "master"
paths-ignore:
- CHANGELOG.md
env:
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
operator-build:
runs-on: ubuntu-latest
name: Build
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
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: 1.21.x
# Get the last semver tag and use it as the version for the release. This is required as we release both Helm charts and the operator
# within this repository.
- name: Get last semver tag
id: semver
run: echo "GORELEASER_CURRENT_TAG=$(git describe --tags --match "v*" --abbrev=0)" >> $GITHUB_ENV
- name: GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --snapshot --skip-publish --rm-dist --skip-sign
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/ginkgo@v2.3.1
- 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