Skip to content

Commit

Permalink
ci: upgrade to newest uds-common
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael-Kruggel committed Oct 8, 2024
1 parent 43f662b commit 90c5b5c
Show file tree
Hide file tree
Showing 10 changed files with 128 additions and 308 deletions.
16 changes: 7 additions & 9 deletions .github/workflows/ci-docs-shim.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,13 @@ on:
types: [milestoned, opened, synchronize]

jobs:
run-test:
name: ${{ matrix.type }} ${{ matrix.flavor }}
runs-on: "ubuntu-latest"
timeout-minutes: 20
validate:
strategy:
matrix:
flavor: [upstream, registry1, unicorn]
type: [install, upgrade]
steps:
- name: Shim for ${{ matrix.type }} ${{ matrix.flavor }}
run: |
echo "Documentation-only change detected; marking ${{ matrix.type }} ${{ matrix.flavor }} as successful."
flavor: [upstream, registry1, unicorn]
uses: defenseunicorns/uds-common/.github/workflows/callable-ci-docs-shim.yaml@86886015d1edc43036b3dd000fbd972a384beb8f # v1.0.0
with:
flavor: ${{ matrix.flavor }}
type: ${{ matrix.type }}
secrets: inherit # Inherits all secrets from the parent workflow.
7 changes: 1 addition & 6 deletions .github/workflows/commitlint.yaml
Original file line number Diff line number Diff line change
@@ -1,15 +1,10 @@
name: Metadata

on:
# This workflow is triggered on pull requests to the main branch.
pull_request:
branches: [main]
types: [milestoned, opened, edited, synchronize]

# This allows other repositories to call this workflow in a reusable way
workflow_call:

jobs:
validate:
name: Validate
uses: defenseunicorns/uds-common/.github/workflows/commitlint.yaml@86886015d1edc43036b3dd000fbd972a384beb8f # v1.0.0
uses: defenseunicorns/uds-common/.github/workflows/callable-commitlint.yaml@86886015d1edc43036b3dd000fbd972a384beb8f # v1.0.0
31 changes: 4 additions & 27 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,10 @@ name: Scan
on:
# This workflow is triggered on pull requests to the main branch.
pull_request:
branches: [main]
types: [milestoned, opened, synchronize]
# milestoned is added here as a workaround for release-please not triggering PR workflows (PRs should be added to a milestone to trigger the workflow).
types: [milestoned, opened, reopened, synchronize]

jobs:
validate:
runs-on: ubuntu-latest
name: Lint
permissions:
contents: read # Allows reading the repo contents

steps:
- name: Checkout
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
with:
fetch-depth: 0

- name: Environment setup
uses: defenseunicorns/uds-common/.github/actions/setup@86886015d1edc43036b3dd000fbd972a384beb8f # v1.0.0
with:
registry1Username: ${{ secrets.IRON_BANK_ROBOT_USERNAME }}
registry1Password: ${{ secrets.IRON_BANK_ROBOT_PASSWORD }}
ghToken: ${{ secrets.GITHUB_TOKEN }}

- name: Install lint deps
run: |
uds run lint:deps
- name: Lint the repository
run: |
uds run lint:yaml
uses: defenseunicorns/uds-common/.github/workflows/callable-lint.yaml@86886015d1edc43036b3dd000fbd972a384beb8f # v1.0.0
secrets: inherit
46 changes: 46 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Release

on:
push:
branches:
- main

# Permissions for the GITHUB_TOKEN used by the workflow.
permissions:
contents: read # Allows reading the content of the repository.
packages: read # Allows reading the content of the repository's packages.
id-token: write

jobs:
tag-new-version:
permissions: write-all
runs-on: ubuntu-latest
outputs:
release_created: ${{ steps.release-flag.outputs.release_created }}
steps:
- name: Create Release Tag
id: tag
uses: googleapis/release-please-action@7987652d64b4581673a76e33ad5e98e3dd56832f # v4.1.3
- id: release-flag
run: echo "release_created=${{ steps.tag.outputs.release_created || false }}" >> "$GITHUB_OUTPUT"

publish:
permissions:
contents: read # Allows reading the content of the repository.
packages: write # Allows reading the content of the repository's packages.
id-token: write
needs: tag-new-version
if: ${{ needs.tag-new-version.outputs.release_created == 'true' }}
strategy:
matrix:
flavor: [upstream, registry1, unicorn]
architecture: [amd64, arm64]
exclude:
- flavor: registry1
architecture: arm64
uses: defenseunicorns/uds-common/.github/workflows/callable-publish.yaml@86886015d1edc43036b3dd000fbd972a384beb8f # v1.0.0
with:
flavor: ${{ matrix.flavor }}
runsOn: ${{ matrix.architecture == 'arm64' && 'uds-swf-ubuntu-arm64-4-core' || 'uds-swf-ubuntu-big-boy-4-core' }}
reports-path: "tests/.playwright/reports/"
secrets: inherit # Inherits all secrets from the parent workflow.
35 changes: 3 additions & 32 deletions .github/workflows/scorecard.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,40 +11,11 @@ on:
permissions: read-all

jobs:
analysis:
name: Scorecards analysis
runs-on: ubuntu-latest
validate:
permissions:
# Needed to upload the results to code-scanning dashboard.
security-events: write
# Used to receive a badge.
id-token: write

steps:
- name: "Checkout code"
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
with:
results_file: results.sarif
results_format: sarif
repo_token: ${{ secrets.SCORECARD_READ_TOKEN }}
publish_results: true

# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1
with:
name: SARIF file
path: results.sarif
retention-days: 5

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12
with:
sarif_file: results.sarif
uses: defenseunicorns/uds-common/.github/workflows/callable-scorecard.yaml@86886015d1edc43036b3dd000fbd972a384beb8f # v1.0.0
secrets: inherit
51 changes: 0 additions & 51 deletions .github/workflows/tag-and-release.yaml

This file was deleted.

112 changes: 12 additions & 100 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,117 +34,29 @@ permissions:
packages: read

jobs:
flavor-test:
name: Test-Flavor
check-flavor:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0

- name: test-flavor
uses: defenseunicorns/uds-common/.github/actions/test-flavor@86886015d1edc43036b3dd000fbd972a384beb8f # v1.0.0
id: test-flavor
outputs:
upgrade-flavors: ${{ steps.test-flavor.outputs.upgrade-flavors }}

deploy-test:
# TODO: need to fix how actions work in uds-common before this can be used
# needs: flavor-test
# permissions: write-all
# uses: defenseunicorns/uds-common/.github/workflows/test-deploy.yaml@callable_workflow_fix #@24c8a2a48eeb33773b76b3587c489cb17496c9e0 # v0.12.0
# with:
# upgrade-flavors: ${{ needs.flavor-test.outputs.upgrade-flavors }}
# flavor: ${{ matrix.flavor }}
# type: ${{ matrix.type }}
# runs-on: ubuntu-latest
# clean-runner: false
# upload-reports: playwright
# timeout: 25
# secrets: inherit # Inherits all secrets from the parent workflow.
# strategy:
# fail-fast: true
# matrix:
# type: [install, upgrade]
# flavor: [upstream, registry1, unicorn]


name: ${{ matrix.type }} ${{ matrix.flavor }}
runs-on: ubuntu-latest
timeout-minutes: 25
validate:
needs: check-flavor
strategy:
fail-fast: false
matrix:
flavor: [upstream, registry1, unicorn]
type: [install, upgrade]

steps:
- name: Checkout repository
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1

- name: Environment setup
uses: defenseunicorns/uds-common/.github/actions/setup@86886015d1edc43036b3dd000fbd972a384beb8f # v1.0.0
with:
registry1Username: ${{ secrets.IRON_BANK_ROBOT_USERNAME }}
registry1Password: ${{ secrets.IRON_BANK_ROBOT_PASSWORD }}
ghToken: ${{ secrets.GITHUB_TOKEN }}
chainguardIdentity: ${{ secrets.CHAINGUARD_IDENTITY }}

- name: Playwright setup
uses: defenseunicorns/uds-common/.github/actions/playwright@86886015d1edc43036b3dd000fbd972a384beb8f # v1.0.0

- name: Test
uses: defenseunicorns/uds-common/.github/actions/test-deploy@86886015d1edc43036b3dd000fbd972a384beb8f # v1.0.0
with:
upgrade-flavors: ${{ needs.flavor-test.outputs.upgrade-flavors }}
flavor: ${{ matrix.flavor }}
type: ${{ matrix.type }}

- name: Save logs
if: always()
uses: defenseunicorns/uds-common/.github/actions/save-logs@86886015d1edc43036b3dd000fbd972a384beb8f # v1.0.0
with:
suffix: ${{ matrix.type }}-${{ matrix.flavor }}-${{ github.run_id }}-${{ github.run_attempt }}

- name: Print cluster info
if: always()
shell: bash -e -o pipefail {0}
run: |
kubectl get nodes -o wide
- name: Print pod info
if: always()
shell: bash -e -o pipefail {0}
run: |
kubectl get pods -A -o wide
- name: Print service info
if: always()
shell: bash -e -o pipefail {0}
run: |
kubectl get svc -A -o wide
- name: Print events
if: always()
shell: bash -e -o pipefail {0}
run: |
kubectl get events -A -o wide
- name: Print Jenkins pod logs
if: always()
shell: bash -e -o pipefail {0}
run: |
kubectl logs jenkins-0 -n jenkins
- name: Upload screenshot on failure
if: failure()
uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4
with:
name: playwright-screenshot
path: tests/screenshots/*

- name: Upload video on failure
if: failure()
uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4
with:
name: playwright-video
path: tests/.playwright/output/*
flavor: [upstream, unicorn, registry1]
uses: defenseunicorns/uds-common/.github/workflows/callable-test.yaml@86886015d1edc43036b3dd000fbd972a384beb8f # v1.0.0
with:
upgrade-flavors: ${{ needs.check-flavor.outputs.upgrade-flavors }}
flavor: ${{ matrix.flavor }}
type: ${{ matrix.type }}
reports-path: "tests/.playwright/reports/"
secrets: inherit # Inherits all secrets from the parent workflow.
Loading

0 comments on commit 90c5b5c

Please sign in to comment.