Skip to content

fix(entrypoint): escape amp in sed #3304

fix(entrypoint): escape amp in sed

fix(entrypoint): escape amp in sed #3304

Workflow file for this run

name: Go build
on:
push:
branches: &protected_branches
- main
- release-*
paths-ignore: &common_ignores
- 'config/**'
- 'docs/**'
- 'mkdocs.yml'
- '**.md'
- LICENSE
- '**.svg'
pull_request:
branches: *protected_branches
paths-ignore: *common_ignores
jobs:
build:
name: Build artifacts
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
fetch-depth: 0 # for `git describe`
persist-credentials: false
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Build
run: |
make build
- name: Upload manager binary
uses: actions/upload-artifact@v4
with:
name: manager-binary
path: bin/manager
- name: Build image bundle
run: |
# Build Docker image and create image bundle
make k0smotron-image-bundle.tar
- name: Publish the previously built imageto ttl.sh with the commit sha
run: |
docker tag quay.io/k0sproject/k0smotron:latest ttl.sh/k0smotron-${{ github.sha }}
docker push ttl.sh/k0smotron-${{ github.sha }}
- name: Upload image bundle
uses: actions/upload-artifact@v4
with:
name: k0smotron-image-bundle
path: k0smotron-image-bundle.tar
- name: Build cluster api components
run: |
make bootstrap-components.yaml control-plane-components.yaml infrastructure-components.yaml
mkdir -p v0.0.0 k0sproject-k0smotron/control-plane-k0sproject-k0smotron/ k0sproject-k0smotron/bootstrap-k0sproject-k0smotron/ k0sproject-k0smotron/infrastructure-k0sproject-k0smotron/
mv bootstrap-components.yaml v0.0.0
mv control-plane-components.yaml v0.0.0
mv infrastructure-components.yaml v0.0.0
mv ./hack/capi-ci/metadata.yaml v0.0.0
cp -r v0.0.0 k0sproject-k0smotron/bootstrap-k0sproject-k0smotron/
cp -r v0.0.0 k0sproject-k0smotron/control-plane-k0sproject-k0smotron/
cp -r v0.0.0 k0sproject-k0smotron/infrastructure-k0sproject-k0smotron/
- name: Upload cluster api components
uses: actions/upload-artifact@v4
with:
name: cluster-api-components
path: |
config.yaml
k0sproject-k0smotron/
- name: Generate install yaml
run: |
make release
- name: Upload install yaml
uses: actions/upload-artifact@v4
with:
name: install-yaml
path: install.yaml
unittest:
name: Unit & Integration tests
needs: build
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Run unit tests
run: |
make test
generate-sbom:
name: "Build :: SBOM"
needs: [build, unittest]
runs-on: ubuntu-22.04
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: Download manager binary
uses: actions/download-artifact@v5
with:
name: manager-binary
path: bin
- name: Prepare embedded binary for SBOM
run: |
mkdir -p embedded-bins/staging/linux/bin
cp bin/manager embedded-bins/staging/linux/bin/manager
- name: Generate SBOM
run: |
mkdir -p sbom && chmod 777 sbom
make sbom/spdx.json
- uses: actions/upload-artifact@v4
with:
name: spdx.json
path: sbom/spdx.json
smoketest:
name: Smoke test
needs: [build, unittest]
runs-on: oracle-vm-16cpu-64gb-x86-64
strategy:
fail-fast: false
matrix:
smoke-suite:
- check-basic
- check-config-update-hcp
- check-hostpath
- check-pvc
- check-ha-controller
- check-ha-controller-etcd
- check-ha-controller-secret
- check-jointoken
- check-monitoring
- check-scaling-etcd
- check-upgrade
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Download image bundle
uses: actions/download-artifact@v5
with:
name: k0smotron-image-bundle
- name: Download install manifest for k0smotron
uses: actions/download-artifact@v5
with:
name: install-yaml
- name: Load k0smotron image bundle
run: |
docker load -i k0smotron-image-bundle.tar
- name: Run inttest
run: |
make -C inttest ${{ matrix.smoke-suite }}
capi-smokes-on-different-k0s-versions:
name: CAPI Smokes Matrix
needs: [build, unittest]
strategy:
fail-fast: false
matrix:
smoke-suite:
- check-capi-remote-machine
- check-capi-remote-machine-template
k0s-version: [ "v1.28.11", "v1.29.6", "v1.30.2" ]
uses: ./.github/workflows/capi-smoke-tests.yml
with:
smoke-suite: ${{ matrix.smoke-suite }}
k0s-version: ${{ matrix.k0s-version }}
capi-smokes:
name: Cluster API smoke tests
needs: [build, unittest]
strategy:
fail-fast: false
matrix:
smoke-suite:
- check-capi-docker
- check-capi-config-update-vm
- check-capi-docker-clusterclass
- check-capi-docker-clusterclass-k0smotron
- check-capi-docker-clusterclass-recreate-upgrade
- check-capi-docker-machinedeployment
- check-capi-controlplane-docker
- check-capi-controlplane-docker-downscaling
- check-capi-controlplane-docker-tunneling
- check-capi-controlplane-docker-tunneling-proxy
- check-capi-controlplane-docker-worker
- check-capi-docker-machine-change-args
- check-capi-docker-machine-change-template
- check-capi-remote-machine-template-update
- check-capi-docker-machine-template-update
- check-capi-docker-machine-template-update-recreate
- check-capi-docker-machine-template-update-recreate-single
- check-capi-docker-machine-template-update-recreate-kine
- check-capi-remote-machine-job-provision
uses: ./.github/workflows/capi-smoke-tests.yml
with:
smoke-suite: ${{ matrix.smoke-suite }}
e2e:
name: E2E test
needs: [build, unittest]
runs-on: oracle-vm-16cpu-64gb-x86-64
strategy:
fail-fast: false
matrix:
e2e-suite:
- TestControlplaneRemediation
- TestControlplaneConditions
- TestWorkloadClusterInplaceUpgrade
- TestWorkloadClusterRecreateUpgrade
- TestWorkloadClusterRecreateDeleteFirstUpgrade
- TestAdmissionWebhookRecreateStrategyInSingleMode
- TestAdmissionWebhookK0sNotCompatible
- TestK0smotronUpgrade
- TestMachineDeployment
- TestRemoteHostedControlPlanes
- TestIngress
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Download image bundle
uses: actions/download-artifact@v5
with:
name: k0smotron-image-bundle
- name: Load k0smotron image bundle
run: |
docker load -i k0smotron-image-bundle.tar
- name: Download install manifest
uses: actions/download-artifact@v5
with:
name: install-yaml
- name: Run e2e test
run: |
make e2e TEST_NAME="${{ matrix.e2e-suite }}"
- name: Archive artifacts
if: failure()
uses: actions/[email protected]
with:
name: e2e-artifacts
path: _artifacts
if-no-files-found: ignore