Skip to content
This repository has been archived by the owner on Oct 8, 2024. It is now read-only.

remove unneeded step #74

remove unneeded step

remove unneeded step #74

Workflow file for this run

# Attribution for a bunch of this goes to CloudPosse
# https://github.com/cloudposse/actions/blob/master/.github/workflows/test-command.yml
name: test
on:
repository_dispatch:
types: [test-command]
push:
branches:
- main
permissions:
id-token: write
contents: read
defaults:
run:
# We need -e -o pipefail for consistency with GitHub Actions' default behavior
shell: bash -e -o pipefail {0}
jobs:
# Parse the command so we can decide which tests to run. Examples: "/test all", "/test validate", "/test e2e"
# We can do as many of these as we want to get as granular as we want.
parse:
runs-on: ubuntu-latest
outputs:
run-ping: ${{ steps.parse.outputs.run-ping }}
run-e2e: ${{ steps.parse.outputs.run-e2e }}
steps:
- name: Checkout Repo
uses: actions/checkout@v3
with:
token: ${{ secrets.PAT }}
repository: ${{ github.event.client_payload.pull_request.head.repo.full_name || github.repository }}
ref: ${{ github.event.client_payload.pull_request.head.ref || github.ref_name }}
- name: Parse Args
id: parse
uses: ./.github/actions/parse-test
# Update the comment that triggered the /test command to show the run url
comment:
if: github.event_name == 'repository_dispatch'
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
with:
token: ${{ secrets.PAT }}
repository: ${{ github.event.client_payload.pull_request.head.repo.full_name || github.repository }}
ref: ${{ github.event.client_payload.pull_request.head.ref || github.ref_name }}
- name: Update Comment
uses: ./.github/actions/comment
with:
token: ${{ secrets.PAT }}
# Do a simple ping/pong status update to validate things are working
ping:
runs-on: ubuntu-latest
needs: parse
if: needs.parse.outputs.run-ping == 'true'
steps:
- name: Checkout Repo
uses: actions/checkout@v3
with:
token: ${{ secrets.PAT }}
repository: ${{ github.event.client_payload.pull_request.head.repo.full_name || github.repository }}
ref: ${{ github.event.client_payload.pull_request.head.ref || github.ref_name }}
- name: Ping Test
uses: ./.github/actions/ping
with:
token: ${{ secrets.PAT }}
# Run the E2E tests
e2e:
runs-on: ubuntu-latest
needs: parse
if: needs.parse.outputs.run-e2e == 'true'
steps:
- name: Checkout Repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Login to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to registry1
uses: docker/login-action@v2
with:
registry: registry1.dso.mil
username: ${{ secrets.REGISTRY1_USERNAME }}
password: ${{ secrets.REGISTRY1_PASSWORD }}
- name: Install homebrew
uses: Homebrew/actions/setup-homebrew@master
- name: Install uds-cli via homebrew
run: |
brew tap defenseunicorns/tap
brew install uds
- name: Install sslscan via homebrew
run: |
apt install sslscan -y
- name: Build gitlab and all dependencies
run: |
uds run ci-build-all
- name: Create k3s cluster in AWS
id: create-cluster
uses: defenseunicorns/uds-aws-ci-k3d@swf_additions
with:
cluster-action: create
aws-assume-role: ${{ secrets.AWS_COMMERCIAL_ROLE_TO_ASSUME }}
aws-region: us-west-2
instance-size: "m7a.8xlarge"
ami-prefix: "rc-uds-ci-k3d"
k3s: "true"
- name: Install Pepr nlb lb module
run: |
zarf tools kubectl apply -f test/lb-annotation-aws/pepr-module-lb-annotate.yaml
- name: Deploy gitlab and all dependencies
run: |
uds run ci-deploy-all
- name: Setup LB hostnames
run: |
utils/metallb/dns.sh
sudo utils/metallb/hosts-write.sh
- name: Run tests
run: |
uds run test-all -f test/tasks.yaml
- name: Print cluster info
if: failure()
run: |
kubectl get nodes -o wide
- name: Print pod info
if: failure()
run: |
kubectl get pods -A -o wide
- name: Print service info
if: failure()
run: |
kubectl get svc -A -o wide
- name: Print events
if: failure()
run: |
kubectl get events -A -o wide
- name: Teardown k3s cluster
if: always()
# renovate: datasource=github-tags depName=defenseunicorns/uds-aws-ci-k3d versioning=semver
uses: defenseunicorns/uds-aws-ci-k3d@swf_additions
with:
cluster-action: destroy