-
Notifications
You must be signed in to change notification settings - Fork 18
89 lines (75 loc) · 3.94 KB
/
publish.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
name: Publish UDS Core
on:
# triggered by tag-and-release.yaml and snapshot-release.yaml
workflow_call:
inputs:
snapshot:
description: 'true - for snapshot release'
required: true
type: boolean
jobs:
publish-uds-core:
strategy:
matrix:
flavor: [upstream, registry1, unicorn]
runs-on: "uds-ubuntu-big-boy-8-core"
name: Publish packages
permissions:
contents: read
packages: write
id-token: write # This is needed for OIDC federation.
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Environment setup
uses: ./.github/actions/setup
with:
registry1Username: ${{ secrets.IRON_BANK_ROBOT_USERNAME }}
registry1Password: ${{ secrets.IRON_BANK_ROBOT_PASSWORD }}
ghToken: ${{ secrets.GITHUB_TOKEN }}
chainguardIdentity: ${{ secrets.CHAINGUARD_IDENTITY }}
- name: (Snapshot) Get snapshot version using git commit short sha and date
if: ${{ inputs.snapshot }}
run: |
SHORT_SHA=$(git rev-parse --short HEAD)
RELEASE_DATE=$(date +'%Y-%m-%d')
echo "SNAPSHOT_VERSION=${RELEASE_DATE}-${SHORT_SHA}" >> $GITHUB_ENV
echo "PUBLISH_ARGS=--set VERSION=${RELEASE_DATE}-${SHORT_SHA}" >> $GITHUB_ENV
- name: (Snapshot) Set versions to snapshot
if: ${{ inputs.snapshot }}
run: |
yq -ei '.metadata.version=env(SNAPSHOT_VERSION), (.packages[]|select(has("ref"))|select(.name=="core")).ref=env(SNAPSHOT_VERSION)' bundles/k3d-standard/uds-bundle.yaml
yq -ei '.metadata.version=env(SNAPSHOT_VERSION), (.packages[]|select(has("ref"))|select(.name=="core-slim-dev")).ref=env(SNAPSHOT_VERSION)' bundles/k3d-slim-dev/uds-bundle.yaml
yq -ei '.metadata.version=env(SNAPSHOT_VERSION)' packages/standard/zarf.yaml
yq -ei '.metadata.version=env(SNAPSHOT_VERSION)' packages/slim-dev/zarf.yaml
- name: Create Packages and Bundles
run: |
ZARF_ARCHITECTURE=amd64 uds run -f tasks/create.yaml standard-package --no-progress --set FLAVOR=${{ matrix.flavor }}
ZARF_ARCHITECTURE=amd64 uds run -f tasks/create.yaml k3d-standard-bundle --no-progress
ZARF_ARCHITECTURE=amd64 uds run -f tasks/create.yaml slim-dev-package --no-progress --set FLAVOR=${{ matrix.flavor }}
ZARF_ARCHITECTURE=amd64 uds run -f tasks/create.yaml k3d-slim-dev-bundle --no-progress
if [ "${{ matrix.flavor }}" != "registry1" ]; then
ZARF_ARCHITECTURE=arm64 uds run -f tasks/create.yaml standard-package --no-progress --set FLAVOR=${{ matrix.flavor }}
ZARF_ARCHITECTURE=arm64 uds run -f tasks/create.yaml k3d-standard-bundle --no-progress
ZARF_ARCHITECTURE=arm64 uds run -f tasks/create.yaml slim-dev-package --no-progress --set FLAVOR=${{ matrix.flavor }}
ZARF_ARCHITECTURE=arm64 uds run -f tasks/create.yaml k3d-slim-dev-bundle --no-progress
fi
# Standard Package by default tests full core
- name: Test amd64 Bundle
if: ${{ !inputs.snapshot }}
run: |
uds run deploy-standard-bundle --no-progress
uds run -f tasks/test.yaml validate-packages --no-progress
- name: Debug Output
if: ${{ always() && !inputs.snapshot }}
uses: ./.github/actions/debug-output
# Publish package and bundle to destination repository
- name: Publish Standard Package
run: uds run -f tasks/publish.yaml standard-package --set FLAVOR=${{ matrix.flavor }} --set SNAPSHOT="${{ inputs.snapshot }}" ${PUBLISH_ARGS} --no-progress
- name: Publish Upstream Flavored Bundles
if: ${{ matrix.flavor == 'upstream' }}
run: uds run -f tasks/publish.yaml bundles --set SNAPSHOT="${{ inputs.snapshot }}" ${PUBLISH_ARGS} --no-progress
- name: Save logs
if: always()
uses: ./.github/actions/save-logs
with:
suffix: -${{ matrix.flavor }}